Страница 1 из 1

Остатки в цехах

Добавлено: 20 май 2005, 11:15
aleks1232321
Доброго всем времени.
Столкнулся с необходимостью расчитать точные остатки в цехах. Как я понимаю - по картиочке учета в производстве - аналог карточке складского учета.
Попробовал использовать функцию NALT - не прохло, т.к. данная функция считает только по складскому учета. Вроде есть такиая функция (процедура) CALC_CEHOST. Никто не пользовался ей? Какие параметры? Подскажите

Добавлено: 23 май 2005, 11:07
Maverick
Вот собсно... все вызываемые внутри ф-ии - паскалевские

Код: Выделить всё

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