Difference between revisions of "Struct.Numerator.TimePeriod"
m (1 revision imported) |
|
(No difference)
|
Latest revision as of 07:53, 7 February 2021
Numerator.TimePeriod (Свойства нумераторов) | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Атрибут применяется к объекту структуры базы данных, позиционированному на свойствах нумератора, и возвращает периодичность номера нумератора. Возможны следующие значения:
- 0 -- нумератор не имеет периода.
- 1 -- нумерация будет начинаться сначала в начале года.
- 2 -- нумерация будет начинаться сначала в начале квартала.
- 3 -- нумерация будет начинаться сначала в начале месяца.
- 4 -- нумерация будет начинаться сначала в начале каждого дня.
Синтаксис
Struct.Numerator.TimePeriod:<Периодичность номера нумератора (INT)>
Возвращаемое значение
Возвращается числовое значение.
Примеры
//Фрагмент вызывается при изменении реквизита "DocDate" (дата документа) существующего документа. //Фрагмент проверяет, выходит ли измененное значение реквизита "DocDate" за период нумерации для реквизита-нумератора "DocNum" // Если выходит, необходимо запретить запись изменений, так как в новом периоде это может нарушить нумерацию (нумерация продолжиться не с начала, а с старого номера этого документа). //Получим старую дату существовавшего документа ДатаСтар:=aEl.Copy().DocDate; //Найдем период нумерации номера ФлПериод:=Struct.Doc(Вид).Props("DocNum").Numerator.TimePeriod; Фл:=0; If ФлПериод=1 Then //Год Фл:=(GetYear(aEl.DocDate)<>GetYear(ДатаСтар); ElseIf ФлПериод=2 Then //Квартал Фл:=BegOfQuarter(aEl.DocDate)<>BegOfQuarter(ДатаСтар); ElseIf ФлПериод=3 Then //Месяц Фл:=BegOfMonth(aEl.DocDate)<>BegOfMonth(ДатаСтар); ElseIf ФлПериод=4 Then //День Фл:=BegOfDay(aEl.DocDate)<>BegOfDay(ДатаСтар); EndIf; If Фл Then Message("Сохранение запрещено, так как дата выходит за предыдущий период нумерации документа!","!"); Exit; EndIf; ...