![]() |
#18 |
Участник
|
Роман, Ваш код, касающийся триггеров получения данных, выглядит вполне работоспособным. Думаю, дело в наполнении временной таблицы.
Я набросал примерчик, в котором демонстрируется подмена фильтра по полю "Комплект" в справочнике товаров. Код: OnFindRecord(Which : Text[1024]) : Boolean IF GETFILTER("Bill of Materials") = FORMAT(TRUE) THEN BEGIN IF NOT BOMcollected THEN CollectBills(); TempItem.COPY(Rec); Found := TempItem.FIND(Which); IF Found THEN Rec := TempItem; EXIT(Found); END ELSE EXIT(FIND(Which)); OnNextRecord(Steps : Integer) : Integer IF GETFILTER("Bill of Materials") = FORMAT(TRUE) THEN BEGIN TempItem.COPY(Rec); ResultSteps := TempItem.NEXT(Steps); IF ResultSteps <> 0 THEN Rec := TempItem; EXIT(ResultSteps); END ELSE EXIT(NEXT(Steps)); //--------------------------------------- CollectBills() IF BOM.FIND('-') THEN REPEAT ParentItem.GET(BOM."Parent Item No."); TempItem := ParentItem; TempItem."Search Description" := 'Temp '+TempItem."No."; TempItem.INSERT; BOM."Line No." := 2147483647; //Maximum Integer UNTIL BOM.NEXT=0; BOMcollected := TRUE; |
|