Уважаемые коллеги, кто использует сабж - подскажите, где не прав.
Пробую получить наличие по подразделению, равное стандартному. В своем интерфейсе определяю дату (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