Как считает остатки складская оборотная ведомость?
Модераторы: m0p3e, edward_K, Модераторы
Как считает остатки складская оборотная ведомость?
Добрый день!
Подскажите, какой функцией считает остатки оборотная ведомость по складам в складском учете?
Проблема вот в чем: смотрю в карточке МЦ остатки на дату разрезе склад\мол\партия по ctrl '+' остатки есть (правильные остатки). раскручиваю в этом же разрезе оборотную ведомость по складам (Складской учет) - ведомость пуста. Как так непонятно?
До установки декабрьских патчей использовал функцию NalT в ard-отчете, результат соответствовал оборотной ведомости. Сейчас соответствует остаткам по Ctrl '+'.
А мне нужно чтобы соответствовало оборотной ведомости.
Подскажите, какой функцией считает остатки оборотная ведомость по складам в складском учете?
Проблема вот в чем: смотрю в карточке МЦ остатки на дату разрезе склад\мол\партия по ctrl '+' остатки есть (правильные остатки). раскручиваю в этом же разрезе оборотную ведомость по складам (Складской учет) - ведомость пуста. Как так непонятно?
До установки декабрьских патчей использовал функцию NalT в ard-отчете, результат соответствовал оборотной ведомости. Сейчас соответствует остаткам по Ctrl '+'.
А мне нужно чтобы соответствовало оборотной ведомости.
Re: Как считает остатки складская оборотная ведомость?
Отказался от функции NalT в пользу Store_Run.
Возможно остатки поплыли изза того что нет пересчета
Возможно остатки поплыли изза того что нет пересчета
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
Re: Как считает остатки складская оборотная ведомость?
Что эта функция делает и какие у неё параметры?
Re: Как считает остатки складская оборотная ведомость?
Тоже самое. поиском пройдитесь море инфы
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
Re: Как считает остатки складская оборотная ведомость?
Написал вместо
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" и результат нулевой.
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: Как считает остатки складская оборотная ведомость?
Ни где DoneMcInfo(); не забыли?
Re: Как считает остатки складская оборотная ведомость?
Везде закомментировал.
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Как считает остатки складская оборотная ведомость?
Код: Выделить всё
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
Зато Saldo_run могет работать по множественной пометке в pick МЦ, Подразделений, Партий.
TypeOstatki опеределяет способ расчета - на конец дня(false) или на начало - лучше вызвать чтобы быть уверенным.