Страница 1 из 1
Как считает остатки складская оборотная ведомость?
Добавлено: 02 мар 2011, 08:49
kdm
Добрый день!
Подскажите, какой функцией считает остатки оборотная ведомость по складам в складском учете?
Проблема вот в чем: смотрю в карточке МЦ остатки на дату разрезе склад\мол\партия по ctrl '+' остатки есть (правильные остатки). раскручиваю в этом же разрезе оборотную ведомость по складам (Складской учет) - ведомость пуста. Как так непонятно?
До установки декабрьских патчей использовал функцию NalT в ard-отчете, результат соответствовал оборотной ведомости. Сейчас соответствует остаткам по Ctrl '+'.
А мне нужно чтобы соответствовало оборотной ведомости.
Re: Как считает остатки складская оборотная ведомость?
Добавлено: 02 мар 2011, 09:06
n0where
Отказался от функции NalT в пользу Store_Run.
Возможно остатки поплыли изза того что нет пересчета
Re: Как считает остатки складская оборотная ведомость?
Добавлено: 02 мар 2011, 09:48
kdm
Что эта функция делает и какие у неё параметры?
Re: Как считает остатки складская оборотная ведомость?
Добавлено: 02 мар 2011, 10:26
n0where
Тоже самое. поиском пройдитесь море инфы
Re: Как считает остатки складская оборотная ведомость?
Добавлено: 02 мар 2011, 15:49
kdm
Написал вместо
InitMcInfo(d2);
TypeOstatki(false);
ost:=NalT(d2,mc_nrec,podr_nrec,mol_nrec,party_nrec);
kolost:=countMc;
cenaost:=AveragePrice;
sumost:=cenaost*kolost;
DoneMcInfo();
Вот так:
Store_Init;
Store_ReInit;
Store_TypeOstatki(False);
Store_Run(d2,mc_nrec,podr_nrec,mol_nrec,party_nrec, true, true, true);
kolost:=countMc; //количество остатков на оприходованном складе
cenaost:=AveragePrice; //средняя цена остатков по разрезу
sumost:=cenaost*kolost; //сумма остатков
Store_Done;
Компилит нормально. При выполнении ошибка "Не выпонилась функция InitMCinfo" и результат нулевой.
Re: Как считает остатки складская оборотная ведомость?
Добавлено: 02 мар 2011, 15:58
oiko
Ни где DoneMcInfo(); не забыли?
Re: Как считает остатки складская оборотная ведомость?
Добавлено: 02 мар 2011, 16:13
kdm
Везде закомментировал.
Re: Как считает остатки складская оборотная ведомость?
Добавлено: 02 мар 2011, 17:45
edward_K
Код: Выделить всё
Store_Init ;
Store_ReInit ;
Store_TypeOstatki(False) ;
Store_ForceInVal(boGetTune('OPER.MULTICURRREG'));
Store_SkladProizv(0);
Mylogwrite(false,'Расчет остатков')
Store_Run ( sub_day(DTB,1), if((filtr_type and 4)=0,comp(0),comp(-2))
,if((filtr_type and 1)=0,comp(0),comp(-2)),comp(0)
,if((filtr_type and 8)=0,comp(0),comp(-2)) // по партии
,true, true,true ) ;
if Store_WasStopped then
{ message('Расчет остатков прерван', mfInformation+mfOkButton);
Store_Done;
Exit;
}
Rereadrecord(#TmpSaldo1)
_loop TmpSaldo1 ordered by index TmpSaldo101
Никаких Averageprice, count использовать нельзя - эти относятся к nalt и вызывать надо только после initmcinfo и nalt
Зато Saldo_run могет работать по множественной пометке в pick МЦ, Подразделений, Партий.
TypeOstatki опеределяет способ расчета - на конец дня(false) или на начало - лучше вызвать чтобы быть уверенным.