24.09.2003, 17:08 | #1 |
Участник
|
DelayedInsert
есть форма, отображающая некие строки. AutoSplitKey=true,DelayedInsert=false.sourcetable=таблица с primarykey типа Code, Line No. (Code, Integer). На форме имеется поле(field1), в триггере OnAssistEdit которого написан некий код, который генерит некие записи в другой таблице (что то типа распределения издержек по строкам заказа) на основе "Line No." и Code.
Проблема в следующем: если field1 не активирован (либо при открытии формы, либо при добавлении новой записи в форму), то при дальнейшей его активации и нажатии assistedit значение "Line No." не равно нулю (к примеру =1000) - все ок. Но если поле активировано(в тех же случаях), то при нажатии assistedit значение Line No. = 0 (и будет таковым пока не активируем любое другое поле). Такова особенность при DelayedInsert=False. Подобное можно решить кодом в тригерах формы: CurrForm.NotAssistEditField.VISIBLE := TRUE; //для onopen CurrForm.NotAssistEditField.ACTIVATE; //для onopen, onnewrecord но может есть другой путь? |
|