Показать сообщение отдельно
Старый 15.03.2005, 01:19   #18  
Wizard_imported is offline
Wizard_imported
Участник
 
157 / 10 (1) +
Регистрация: 25.11.2004
Роман, Ваш код, касающийся триггеров получения данных, выглядит вполне работоспособным. Думаю, дело в наполнении временной таблицы.
Я набросал примерчик, в котором демонстрируется подмена фильтра по полю "Комплект" в справочнике товаров.
Код:
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;
Вложения
Тип файла: fob MyFilter.fob (12.3 Кб, 442 просмотров)