Struct.Numerator.Properties

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

Функция применяется к объекту структуры базы данных, позиционированному на объекте общего нумератора, и возвращает ссылку на массив реквизитов объектов, использующих этот нумератор или ссылку на реквизит по его индексу в этом массиве. См. также статью Конфигурация данных проекта.

Синтаксис

Struct.Numerator.Properties(<Индекс реквизита, использующих нумератор (INT)>):<Массив реквизитов, использующих нумератор или или ссылка на реквизит по его индексу (DBSTRUCT)>

Аргументы

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

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

Возвращается ссылка на массив реквизитов (если аргумент отсутствует) или ссылка на реквизит (если аргумент присутствует).

Примеры

//Фрагмент выводит свойства общего нумератора
aNum:=Struct.Num("НумераторДокументов").Numerator;

aList:=List.Create("без периода","год","квартал","месяц","день");
bList:=List.Create("контроль по всем номерам","контроль в пределах подчинения родителю","контроль в пределах папки справочника",
  "контроль в пределах элемента, используется для реквизитов строчных частей","контроль уникальности отсутствует");
сList:=List.Create("номер создается при сохранении объекта","номер создается при создании нового объекта","номер не создается автоматически");

Message("Свойства нумератора "+aNum.NumeratorObjectLink.Name+": "+
  ?(aNum.DataType="NUMBER","тип данных число","тип данных строка")+
  ", период нумерации: "+aList[aNum.TimePeriod+1]+
  ", контроль номеров: "+bList[aNum.UnicityControl+1]+
  ", создание номера: "+сList[aNum.AutoNumeration+1]);
Message("  Объекты, в которых используется нумератор:");
For i:=1 To aNum.Props.Count() Do
  aProp:=aNum.Props(i);
  Message("  "+aProp.ObjectLink.Name+", реквизит: "+aProp.Name);
  If aNum.TimePeriod>0 Then
    Message("    Реквизит периода нумерации: "+aProp.Numerator.PeriodProperty.Name);
  EndIf;
EndDo;