Уважаемые коллеги, кто использует сабж - подскажите, где не прав.
Пробую получить наличие по подразделению, равное стандартному. В своем интерфейсе определяю дату (datenal) и подразделение (_cpodr). Наличие получаю функцией NalT ( она возвращает результат в разрезе партий - то что мне надо):
InitMCInfo(datenal) ;
_loop SklOrder where ((0 == SklOrder.sp AND _cpodr == SklOrder.cpodr AND datenal >>= SklOrder.dord))
{
_loop SpOrder where ((SklOrder.nrec == SpOrder.CSKLORDER))
{
kolvo := NalT ( datenal,
SpOrder.cMC,
_cpodr,
if (SpOrder.ccMol =0,comp(-1),SpOrder.ccMol ),
if (SpOrder.cParty=0,comp(-1),SpOrder.cParty)
) ;
price := AveragePrice ;
summa := price * kolvo ;
if (kolvo <> 0)
{
OutFrm.Write(SklOrder.dord);
OutFrm.Write(SklOrder.norder);
GetFirst KatMC where ((SpOrder.cmc == KatMc.nrec));
OutFrm.Write(KatMc.name);
OutFrm.Write(KatMc.barkod);
OutFrm.Write(kolvo);
OutFrm.Write(price);
OutFrm.Write(summa);
summa_itogo := summa_itogo + summa;
}
}
}
DoneMCInfo ;
OutFrm.PUTEVENT(FEBREAK);
OutFrm.Write(summa_itogo);
-----------
Формируется такой отчет подозрительно быстрее стандартного, результат со стандартным не идет.
Пробовал фильтровать ордера по VidOrder - по приходу и по расходу - разница меньше, но все равно не сходится.
Может следует отталкиватся от другой таблицы, не SklOrder? Либо пользоваться другой функцией?
Стандартные функции наличия
Модераторы: m0p3e, edward_K, Модераторы
Стандартные функции наличия
Галактика 8.10, Oracle 10g / 10.2.0.4
Re: Стандартные функции наличия
Вопрос снят.
_loop KatMc
{
kolvo := NalT ( datenal,
KatMc.nrec,
_cpodr,
comp(0),
comp(0)
) ;
.........
_loop KatMc
{
kolvo := NalT ( datenal,
KatMc.nrec,
_cpodr,
comp(0),
comp(0)
) ;
.........
Галактика 8.10, Oracle 10g / 10.2.0.4