Начать работу

src/kernel/new_dnum.p - Уникальный номер документа

src/kernel/new_dnum.p
Возратить новый уникальный номер документа.   Нумерация уникальности проводится в рамках одного года действия документов. Т.е с 1-го января система начнет нумеровать документы с 1-го номера.
define input parameter d as date.
define input parameter rid-doc as integer.
define output parameter new-doc-number as integer.
Где d - дата создания документа,
rid-doc - внутренний номер документа,
new-doc-number - новый уникальный номер документа.
 

Замечание. Обычно автоопредение номера документа ставится в триггере на изменение даты документа.

Пример использования:

PROCEDURE ONModifyField :
  define input parameter rid-doc as integer.
  define input parameter fld as character.
  define input parameter row as integer.

  if fld = "1:1" then                                                        
  do:                                                                        
    define variable num as integer.             
    define variable d1 as date.             
    run src/kernel/get_ffv.p ( "1:1", rid-doc ).
    d1 = DATE ( RETURN-VALUE ).             
    run src/kernel/new_dnum.p ( d1, rid-doc, OUTPUT num ).
    run src/kernel/set_ffv.p ( "1:2", rid-doc, STRING(num) ).
   end.    
 

END.