Доброго всем времени.
Столкнулся с необходимостью расчитать точные остатки в цехах. Как я понимаю - по картиочке учета в производстве - аналог карточке складского учета.
Попробовал использовать функцию NALT - не прохло, т.к. данная функция считает только по складскому учета. Вроде есть такиая функция (процедура) CALC_CEHOST. Никто не пользовался ей? Какие параметры? Подскажите
Остатки в цехах
Модераторы: m0p3e, edward_K, Модераторы
-
- Постоянный гость
- Сообщения: 86
- Зарегистрирован: 28 апр 2005, 12:15
- Откуда: Москва
-
- Абориген
- Сообщения: 943
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: External Developer
- Контактная информация:
Вот собсно... все вызываемые внутри ф-ии - паскалевские
Код: Выделить всё
Procedure Calc_CehOst; // ЦЕХОВЫЕ ОСТАТКИ
begin
fResType := cgKau_KatMC;
Store_ReInit ;
Store_TypeOstatki(False) ; // ВХОДЯЩИЙ ОСТАТОК
Store_SkladProizv(1); // Производство
Store_Run (Sub_Day(RepHead_Temp.dBeg,1),
comp(0),//Мц
RepHead_Temp.cPodr,//Подр
comp(0),//Мол
comp(0),//Партия
true,
false,
True);
_loop TmpSaldo1
{
Set cWorkRes := TmpSaldo1.cMC;
set ccParty := TmpSaldo1.cParty;
KatOtpEdPr_nRec := if (GetFirst KatOtpEdPr <> tsOk, comp(0), KatOtpEdPr.nRec);
if (GetFirst RepMove <> tsOK)
{ ClearBuffer(#RepMove);
RepMove.cRepHead := RepHead_Temp.nRec;
RepMove.TypeRes := fResType;
RepMove.cRes := cWorkRes;
RepMove.cParty := ccParty
RepMove.cEd[1] := KatOtpEdPr_nRec;
RepMove.PrzBuy := KatMc.kind;
RepMove.BegSaldo[1] := TmpSaldo1.Kol;
RepMove.BegSum := TmpSaldo1.Kol*TmpSaldo1.Price;
Insert Current RepMove;
}
else
{
RepMove.BegSaldo[1] := RepMove.BegSaldo[1] + TmpSaldo1.Kol;
RepMove.BegSum := RepMove.BegSum + TmpSaldo1.Kol*TmpSaldo1.Price;
update current RepMove
}
}
end; // procedure Calc_CehOst