Перечитать записи в таблице - rereadrecord;
if (Calc_NewSaldo( word(0), // Перерасчет сальдо на начало месяца - для вызова из Vip
myPlan,
integer(coSaldoNM),
'4020',
'',
pick.crec,
mySpKauNrec,
comp(0),
comp(0),
comp(0),
comp(0),
comp(0),
if((getlast saldmoun WHERE (('4020' == saldmoun.scheto AND
'' == saldmoun.subossch and
mySpKauNrec == saldmoun.kauos[1] and
pick.crec == saldmoun.kodspo (noindex) //?
)) and myPlan = saldmoun.cplanssch
and saldmoun.datesal<=dbeg) =tsOK,
saldmoun.datesal,date(1,month(dbeg),year(dbeg))),sub_day(dbeg,1)))
Что она делает:
1. Внизу, в датах ищет существующее сальдо в таблице сальдо за месяц и если находит,
то в качестве первой даты берёт ту дату. Если не находит сальдо вообще, то ставит
начало отчетного периода (первое число месяца).
2. Вторая дата это начальная минус одни.
Например ты ввёл сальдо на 1.08.05
если в функции задашь даты, например от 5 до 15 то увидишь во входящем сальдо сальдо на 1-е число.
А в примере ты делаешь от июля по сентябрья, а сальдо введено в августе. оно не попадёт в во входящее сальдо.
А вот если бы были обороты в этот период, то они кстати должны были бы посчитаться, и на текущее число, получил бы
входящее сальдо, состоящее из оборотов.
Удачи...
