16.04.2004, 18:29 | #1 |
Участник
|
триггер OnLookup поля формы
добавил в таблицу Item поле "Manufacturer Name" - flowfield - показывает название производителя (Lookup(Manufacturer.Name WHERE (Code=FIELD(Manufacturer Code))))
клиент захотел чтоб на форме товаров (Item Card) показывалось поле именна Название Производителя а не его код и выбор соответстенно осуществлять при проваливании в список производителей из этого поля. 1 способ - реаллизовал через триггер OnLookup поля "Manufacturer Name" формы товара: код следующий IF Manufacturer.GET("Manufacturer Code") THEN Manufacturers.SETRECORD(Manufacturer); Manufacturers.LOOKUPMODE(TRUE); IF Manufacturers.RUNMODAL = ACTION::LookupOK THEN BEGIN Manufacturers.GETRECORD(Manufacturer); VALIDATE("Manufacturer Code", Manufacturer.Code); //Text := Manufacturer.Name; EXIT(TRUE); END; EXIT(FALSE); //триггре OnValidate поля Manufacturer Code таблицы Item //имеет строку CALCFIELDS("Manufacturer Name") в этом способе при последующем переходе на другое поле выдается ошибка "формула вычисления для вычисляемого поля Название Производителя в таблице товар должна начинаться с Sum(..." 2 способ - реаллизовал через триггер OnAssistEdit поля "Manufacturer Name" формы товара: код следующий IF Manufacturer.GET("Manufacturer Code") THEN Manufacturers.SETRECORD(Manufacturer); Manufacturers.LOOKUPMODE(TRUE); IF Manufacturers.RUNMODAL = ACTION::LookupOK THEN BEGIN Manufacturers.GETRECORD(Manufacturer); VALIDATE("Manufacturer Code", Manufacturer.Code); END; 3 способ написать OnLookup триггер поля Manufacturer Name" таблицы Item во 2-м и 3- м случаях не работает в том случае если руками стираем знаение из поля Manufacturer Name - выдается тажже самая ошибка что и первом случае при переходе на следующее поле в чем может быть причина появления ошибки? |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|