Struct.Numerator.NumeratorObjectLink

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

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

Синтаксис

Struct.Numerator.NumeratorObjectLink:<Объект общего нумератора (DBSTRUCT)>

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

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

Примеры

//Фрагмент выводит свойства общего нумератора
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;