Struct.Numerator.IsCommon

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

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

Синтаксис

Struct.Numerator.IsCommon:<Является ли текущий нумератор общим (INT)>

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

Возвращается числовое значение.

Примеры

//Фрагмент выводит объект и реквизиты, к которым привязан нумератор 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;