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

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

Glossary Item Box

Возвращает экземпляр функции EntitySchemaCurrentUserAccountQueryFunction, определяющей идентификатор контрагента текущего пользователя.

Синтаксис

public EntitySchemaCurrentUserAccountQueryFunction CreateCurrentUserAccountFunction()

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

Экземпляр созданной функции EntitySchemaCurrentUserAccountQueryFunction.

Пример

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

При выполнении запроса параметр 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-2016.

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

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