Копировать ссылку на страницу Перейти в предыдущий раздел Перейти в следующий раздел

Синтаксис:

function CreateReference(

 Name: WideString;

[optional] RequisitesFilter: OleVariant;

[optional] NeedCheckAccessRights: WordBool = True;

[optional] Connection: IConnection): IReference;

Параметры:

Name – имя справочника;
RequisitesFilter – массив имен доступных реквизитов. Если этот параметр не указан, то будут доступны все реквизиты;
NeedCheckAccessRights – необходимость проверки прав доступа: True, если проверка прав доступа выполняется, иначе False. Если проверка прав доступа выполняется, и пользователь, выполняющий вычисления на ISBL, не имеет прав на справочник с именем Name, то при вызове функции будет сгенерировано исключение. Если пользователь имеет ограниченные права доступа, например, ограничения, по фильтраторам или по реквизитам, то эти ограничения также будут контролироваться. По умолчанию значение параметра равно True;
Connection – соединение. По умолчанию используется текущее соединение.

Возвращаемое значение:

Справочник.

Описание:

Функция создает справочник с именем Name. Для оптимизации можно задать фильтр на доступные реквизиты с помощью параметра RequisitesFilter (подробнее см. IRequisite.Enabled). В этом случае из базы данных будут считываться только значения реквизитов, вошедших в фильтр. Для доступа к справочникам другой системы следует означивать параметр Connection. Соединение может быть получено функцией CreateConnection. При получении справочника из другой системы нельзя отключить проверку прав.

Русскоязычный аналог имени функции:

СоздатьСправочник

Пример

В справочниках с большим количеством реквизитов рекомендуется ограничивать число реквизитов, которые загружаются клиентской частью при открытии набора данных. Ограничение реализуется с помощью параметра RequisitesFilter функции CreateReference. Если этот параметр не указан, то будут доступны все реквизиты.

 

  RefName = '<Имя справочника>'

  // Ид записей справочника

  RecID = SQL('select top 100 Analit from dbo.MBAnalit where Vid = 3415';; ',')

  // Массив предварительно загружаемых реквизитов главного раздела

  ReqArray = ArrayOf(SYSREQ_ID; 'Employee')

 

  Ref = CreateReference(RefName; ReqArray)

  Ref.AddWhere("MBAnalit.Analit in (" & RecID &")")

  Ref.Open

  foreach Rec in Ref

    Employee = Rec.Requisites('Employee').DisplayText

    RefInfo = Rec.Info

  

  endforeach

См. также

Функция CreateConnection

 

© Компания DIRECTUM, 2018 Сообщество пользователей DIRECTUM
.navbar > a:hover { background: #FFD73B; }