Creatio development guide
Это документация Creatio версии 7.9.0. Мы рекомендуем использовать новую версию документации.

EntitySchemaQuery.CreateCurrentUserAccountFunction - метод Смотри также  Пример Terrasoft.Core.Entities - пространство имен > EntitySchemaQuery - класс : CreateCurrentUserAccountFunction - метод C#

Glossary Item Box

Gets the instance of the EntitySchemaCurrentUserAccountQueryFunction function that determines the identifier of the current user's account.

Синтаксис

public EntitySchemaCurrentUserAccountQueryFunction CreateCurrentUserAccountFunction()

Тип возвращаемого значения

The instance of the created EntitySchemaCurrentUserAccountQueryFunction function.

Пример

В данном примере создается запрос, который возвращает наименование контрагента текущего пользователя системы.

При выполнении запроса параметр P1 будет заменен значением идентификатора контрагента текущего контакта.

// Создание экезмпляра менеджера схем объектов.
EntitySchemaManager esqManager = UserConnection.EntitySchemaManager;

// Создание экземпляра запроса с корневой схемой "Account". 
var esqResult = new EntitySchemaQuery(esqManager, "Account");

// Добавление в результат запроса колонки с именем контрагента.
esqResult.AddColumn("Name");

// Создание экземпляра функции, возвращающей идентификатор контрагента текущего пользователя. 
var esqCurrentUserAccountFunction = esqResult.CreateCurrentUserAccountFunction();

// Создание фильтра для выборки контрагента текущего пользователя системы.
var esqFilter = esqResult.CreateFilter(FilterComparisonType.Equal, "[Contact:Account:Id].Account",
                                        esqCurrentUserAccountFunction);

// Добавление созданнго фильтра в коллекцию фильтров результирующего запроса.
esqResult.Filters.Add(esqFilter);

// Получение текста результирующего запроса.
string esqSqlText = esqResult.GetSelectQuery(UserConnection).GetSqlText();

// Текст результирующего sql-запроса.

// MS SQL:
// SELECT
//            [Account].[Name] [Name]
// FROM
//            [dbo].[Account] [Account]
// WHERE
//            EXISTS (
// SELECT
//            [Contact].[Id] [Id]
// FROM
//            [dbo].[Contact] [Contact]
// WHERE
//            [Account].[Id] = [Contact].[AccountId]
//            AND [Contact].[AccountId] = @P1)

// Oracle:
// SELECT
//            "Account"."Name" "Name"
// FROM
//            "Account" "Account"
// WHERE
//            EXISTS (
// SELECT
//            "Contact"."Id" "Id"
// FROM
//            "Contact" "Contact"
// WHERE
//            "Account"."Id" = "Contact"."AccountId"
//            AND "Contact"."AccountId" = :P1) 

Смотри также

© Terrasoft 2002-2017.

Был ли данный материал полезен?

Как можно улучшить эту статью?