Struct.Numerator.UnicityControl

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

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

  • 0 -- контроль по всем номерам.
  • 1 -- контроль в пределах подчинения родителю.
  • 2 -- контроль в пределах папки справочника.
  • 3 -- контроль в пределах элемента (используется для реквизитов строчных частей).
  • 4 -- контроль уникальности отсутствует.

Синтаксис

Struct.Numerator.UnicityControl:<Способ контроля уникальности нумератора (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;