RECALC PRVS — различия между версиями

Материал из Фабиус wiki
Перейти к: навигация, поиск
(Новая страница: «RECALC_PRVS - это программа из справочника R266 Переформировать все проводки за выбранный…»)
 
м
Строка 8: Строка 8:
  
 
filter - дополнительный фильтр
 
filter - дополнительный фильтр
 +
= Текст =
 +
parameters my, kinddoc, filter
 +
 +
local doc, filt
 +
 +
if Empty( filter )
 +
  filt := [ KINDDOC = '] + kinddoc + [' and LVLNUM = '1' ]
 +
else
 +
  filt := [ KINDDOC = '] + kinddoc + [' and LVLNUM = '1' and ( ] + filter + [ )]
 +
endif
 +
 +
if Empty( my ) or Empty( kinddoc )
 +
  return
 +
endif
 +
 +
if !IsLockDb( 'PRVS' + Ret_f_ext( my ) ) and !IsLockDb( 'DOCP' + Ret_f_ext( my ) )
 +
  try
 +
    doc := OpenChildDoc( kinddoc, '1', ~ParentForm := "", ;
 +
      ~Month := Month( my ), ~Year := Year( my ) )
 +
    ( doc )-> ( SetFilter( filt ) )
 +
    MakePrvs( ( doc )->( GetArea() ),, 2 )
 +
  finally
 +
    CloseTable( doc )
 +
  end
 +
endif
 
= Смотрите также =
 
= Смотрите также =
 
[[Полезные функции]]
 
[[Полезные функции]]
  
 
[[Функции Delphi]]
 
[[Функции Delphi]]

Версия 14:49, 31 августа 2017

RECALC_PRVS - это программа из справочника R266

Переформировать все проводки за выбранный месяц по указанному документу

RECALC_PRVS( my, kinddoc [, filter ] )

my - дата, например, DATE()

kinddoc - тип документа

filter - дополнительный фильтр

Текст

parameters my, kinddoc, filter

local doc, filt

if Empty( filter )
  filt := [ KINDDOC = '] + kinddoc + [' and LVLNUM = '1' ]
else
  filt := [ KINDDOC = '] + kinddoc + [' and LVLNUM = '1' and ( ] + filter + [ )]
endif

if Empty( my ) or Empty( kinddoc )
  return
endif

if !IsLockDb( 'PRVS' + Ret_f_ext( my ) ) and !IsLockDb( 'DOCP' + Ret_f_ext( my ) )
  try
    doc := OpenChildDoc( kinddoc, '1', ~ParentForm := "", ;
      ~Month := Month( my ), ~Year := Year( my ) )
    ( doc )-> ( SetFilter( filt ) )
    MakePrvs( ( doc )->( GetArea() ),, 2 )
  finally
    CloseTable( doc )
  end
endif

Смотрите также

Полезные функции

Функции Delphi