Структура справочника задается по аналогии с табличным справочником. Наполнение справочника элементами осуществляется на основе алгоритма пользователя. Алгоритм задается в виде модуля на внутреннем языке программирования Fore. Модуль должен содержать процедуру, имеющую следующую сигнатуру:
Sub <Name>(UserDim: IUserDimension; Builder: IDimBuilder; Params: IMetabaseObjectParamValues);
Begin
//Код для построения дерева элементов вычисляемого справочника
End Sub <Name>;
Наименование процедуры и параметров может быть любым, удовлетворяющим спецификации языка Fore.
Модуль выполняется всякий раз, когда справочник используется. Однако при помощи механизма кэширования объектов платформы эта операция автоматически выполняется только в случае, когда он еще отсутствует в кэше либо при выполнении операции «Обновить». В общем случае для вычисляемого справочника не обязательно наличие таблицы для хранения его элементов. В определении модуля могут использоваться любые объекты репозитория, в том числе и таблицы с данными.
Вычисляемый справочник поддерживает динамическое изменение при помощи параметров, то есть является динамическим:
Мастер табличного справочника содержит ряд базовых страниц, описание которых представлено в разделе «Работа с мастерами». Также в мастере доступны следующие страницы:
Атрибуты. Формируется список атрибутов, характеризующих каждый элемент справочника.
Сортировка. Определяется набор и порядок атрибутов, по которым будет производиться сортировка элементов справочника.
Структура. Из блоков формируется структура справочника.
Уровни. Формируется список уровней, которые в дальнейшем будут использоваться для настройки агрегации данных.
Макрос. Указывается модуль с пользовательской процедурой, которая будет использоваться для формирования дерева элементов справочника.
Примечание. Создание и работа с вычисляемыми справочниками доступны только в настольном приложении.
См. также: