Struct.DataTypeName

From SunFlurry wiki
Revision as of 16:18, 16 April 2021 by Admin (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  Struct.<Тип данных>, Meta.<Тип данных> (Создание объекта)
Объект:Объект структуры базы данных
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в число или строку, неверный тип данных
Визуальность:Нет

Атрибут создает новый объект структуры, позиционированный на объектах базы данных указанного вида. Возможные значения видов базы данных:

  • Ref, References -- справочники.
  • Doc, Documents -- документы.
  • Stor, Storages -- накопители.
  • Enum, Enumerations -- перечисления.
  • DBVar -- глобальные переменные.
  • Jor, Journals -- журналы.
  • Num, Numerators -- общие (свободные) нумераторы
  • RootOptions -- особые общие объекты (к примеру, порядок блокировки накопителей и т.д.).

Если задан аргумент, производится также позиционирование на определенном виде объектов указанном в виде наименования или в виде индекса. Количество объектов данного типа в проекте можно найти с помощью функции Count. К примеру, Struct.Ref("Номенклатура") создает объект структуры базы данных, позиционированный на справочнике "Номенклатура", если такого справочника не существует, функция возвратит вместо объекта пустое значение. Второй способ вызова с позиционированием: Struct.Doc(12) -- создает объект структуры базы данных, позиционированный на документе с индексом 12. При этом, чтобы получить общее число документов в проекте, можно использовать конструкцию Struct.Doc.Count(). При отсутствии аргумента, создается объект, неопределенного вида, к которому, к примеру, можно применить тот же самый метод Count. После указания на вид объекта цепочку ссылок можно продолжать пока функции возвращают объект структуры (к примеру, Struct.Ref("Номенклатура").LineParts("Штрихкоды").Props("ТипШтрихкода").DataType, однако, если какого-либо типа объекта не существует, промежуточная функция возвратит пустое значение и следующий по цепочке вызов функции создаст исключение (к примеру, если строчная часть "Штрихкоды" в справочнике "Номенклатура" не задана, при попытке получить доступ к реквизитам строчной части (.Props...) будет создано исключение.

Синтаксис

Struct.<Тип данных>(<Наименование или индекс вида объекта (STRING,INT)>):<Объект структуры, позиционированный на указанном типе данных (и виде, если задан аргумент) объектов базы данных (DBSTRUCT)>

Аргументы

  • <Наименование или индекс вида объекта (STRING,INT)> - Аргумент задает идентификатор вида объекта (если аргумент является строкой), либо его порядковый номер (если аргумент является числом).

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

Возвращается новый объект структуры базы данных, позиционированный на объекте базы данных, либо пустое значение, если объект требуемого вида не найден. Если аргумент не указан, возвращается объект структуры указанного типа, но неопределенного вида.

Примеры

//Фрагмент проверяет, является реквизит Code справочника ВидСпр числовым. 
If Struct.Ref(ВидСпр).Props("Code").Numerator.DataType="NUMBER" Then
  Message("Код справочника "+ВидСпр+" является числовым!");
EndIf;