Не работает Calc_NewSaldo :(
Модераторы: m0p3e, edward_K, Модераторы
Не работает Calc_NewSaldo :(
Не могу рассчитать бух. сальдо на дату, подскажите, плиз, в чем проблема?
Создал тестовый интерфейсик, но ничего не вижу в таблице
interface pl_CalcSaldoOnDate 'Интерфейс расчета бухгалтерского сальдо на дату' Cyan, DoAccept;
var
flagQuit : boolean;
create view as
select * from SaldoNM;
browse bSaldoNM ();
fields
scheto 'Счет' :[10];
subossch 'Субсчет' :[10];
kauos[1] 'КАУ1' :[10];
datesal 'Дата сал':[10];
sums 'Сумма' :[10];
kol 'Кол' :[10];
viob 'Вид об' :[2];
end;
handleEvent
cmInit:
{
//comp(0001000000000002h)
flagQuit := Calc_NewSaldo(1,comp(0001000000000002h),coSaldoNM,60,01,comp(0001000000000D67H),0,0,0,0,0,0,date(01,07,2003),Cur_Date);
}
end;
end.
Создал тестовый интерфейсик, но ничего не вижу в таблице
interface pl_CalcSaldoOnDate 'Интерфейс расчета бухгалтерского сальдо на дату' Cyan, DoAccept;
var
flagQuit : boolean;
create view as
select * from SaldoNM;
browse bSaldoNM ();
fields
scheto 'Счет' :[10];
subossch 'Субсчет' :[10];
kauos[1] 'КАУ1' :[10];
datesal 'Дата сал':[10];
sums 'Сумма' :[10];
kol 'Кол' :[10];
viob 'Вид об' :[2];
end;
handleEvent
cmInit:
{
//comp(0001000000000002h)
flagQuit := Calc_NewSaldo(1,comp(0001000000000002h),coSaldoNM,60,01,comp(0001000000000D67H),0,0,0,0,0,0,date(01,07,2003),Cur_Date);
}
end;
end.
Мда, попробовал поставить код плана счетов.
Calc_NewSaldo(0,comp(0001000000000002h),coSaldoNM,'660','01',comp(0001000000000D67H),0,0,0,0,0,0,date(01,07,2005),date(31,07,2005));
Стала показывать окошко, что ищет проводки, но ни одной не находит. А сальдо и обороты точно есть! Делал интервал дат и в пределах одного месяца, все равно не считает сальдо и все, показывает пустую таблицу.
Эта функция вообще в галке 5.85.02 работает?
Calc_NewSaldo(0,comp(0001000000000002h),coSaldoNM,'660','01',comp(0001000000000D67H),0,0,0,0,0,0,date(01,07,2005),date(31,07,2005));
Стала показывать окошко, что ищет проводки, но ни одной не находит. А сальдо и обороты точно есть! Делал интервал дат и в пределах одного месяца, все равно не считает сальдо и все, показывает пустую таблицу.
Эта функция вообще в галке 5.85.02 работает?
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Функция точно работает в этой версии. У меня есть отчеты.
Попробуй ввести сальдо (ФРО - ввод сальдо за месяц) например на 31.08.05 и в периодах поставь (01.09.05-30.09.05). В таблице saldonm должно появится то сальдо, которое ты ввёл. Может ты записи в таблице saldonm не обновляешь?
Учти, что если в сальдо будет заполнено подразделение, то его тоже надо указывать при вызове Calc_NewSaldo.
Попробуй ввести сальдо (ФРО - ввод сальдо за месяц) например на 31.08.05 и в периодах поставь (01.09.05-30.09.05). В таблице saldonm должно появится то сальдо, которое ты ввёл. Может ты записи в таблице saldonm не обновляешь?
Учти, что если в сальдо будет заполнено подразделение, то его тоже надо указывать при вызове Calc_NewSaldo.
-
- Местный житель
- Сообщения: 2896
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Перечитать записи в таблице - 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-е число.
А в примере ты делаешь от июля по сентябрья, а сальдо введено в августе. оно не попадёт в во входящее сальдо.
А вот если бы были обороты в этот период, то они кстати должны были бы посчитаться, и на текущее число, получил бы
входящее сальдо, состоящее из оборотов.
Удачи...
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-е число.
А в примере ты делаешь от июля по сентябрья, а сальдо введено в августе. оно не попадёт в во входящее сальдо.
А вот если бы были обороты в этот период, то они кстати должны были бы посчитаться, и на текущее число, получил бы
входящее сальдо, состоящее из оборотов.
Удачи...