Struct.CompositeIndexes

From SunFlurry wiki
Jump to: navigation, search
  CompositeIndexes (Составные индексы)
Объект:Объект структуры базы данных
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в число, неверный индекс, неверное позиционирование.
Визуальность:Нет

Функция применяется к объекту структуры базы данных определенного вида, и возвращает ссылку на массив составных индексов, заданных для данного объекта, или ссылку на определенный составной индекс из этого массива по его индексу в нем. Каждый элемент массива является строкой в которой перечислены реквизиты строчной части, либо специальные реквизиты (к примеру, @LINE или @HEADER) через запятые. Составные индексы задаются в редакторе конфигурации данных проекта. Функция тождественна функции LineParts.CompositeIndexes, последняя применяется к объекту строчной части. См. также статью Конфигурация данных проекта.

Синтаксис

Struct.CompositeIndexes(<Индекс в массиве составных индексов (INT)>):<Массив составных индексов текущего объекта, либо строка составного индекса (DBSTRUCT,STRING)>

Аргументы

  • <Индекс в массиве составных индексов (INT)> - (необязательный аргумент) Аргумент задает индекс в массиве составных индексов, значение которого нужно возвратить.

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

Возвращается ссылка на массив индексов (если аргумент отсутствует) или строковое значение -- составной индекс объекта индекс из массива индексов (если аргумент присутствует). Возвращается объект структуры базы данных, позиционированный на массиве объектов журналов, в которые входит данный объект (если аргумент отсутствует), либо на объекте по его индексу в массиве (если аргумент присутствует). Возвращаемый составной индекс представляет собой строку, в которой через запятую перечисляются реквизиты, входящие в индекс. Особые реквизиты начинаются на знак @, пример: @IsFolder,@Folder,Name

Примеры

aRef:=Struct.Ref("Номенклатура");

Message("Список составных индексов справочника "+aRef.Name+":");
For i:=1 To aRef.CompositeIndexes.Count() Do
  Message("  "+aRef.CompositeIndexes(i));
EndDo;