Struct.Numerator.PeriodProperty

From SunFlurry wiki
Revision as of 08:52, 7 February 2021 by Admin (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  Numerator.PeriodProperty, Numerator.PeriodProp (Свойства нумераторов)
Объект:Объект структуры базы данных
Статус разработки: Реализована
Тип:Атрибут
Обращение к БД:Нет
Доступность:Только чтение
Исключения:Неверное позиционирование.
Визуальность:Нет

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

Синтаксис

Struct.Numerator.PeriodProperty:<Реквизит получения даты номера (DBSTRUCT)>

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

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

Примеры

//Фрагмент выводит объект и реквизиты, к которым привязан нумератор aNum
//  вне зависимости от того, является ли нумератор общим или самостоятельным нумератором реквизита

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("  Объекты, в которых используется нумератор:");
If aNum.IsCommon Then
  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;
Else
  Message("  "+aNum.ObjectLink.Name+", реквизит: "+aNum.PropertyLink.Name);
  If aNum.TimePeriod>0 Then
    Message("  Реквизит периода нумерации: "+aNum.PeriodProperty.Name);
  EndIf;
EndIf;