Тема: DelayedInsert
Показать сообщение отдельно
Старый 24.09.2003, 17:08   #1  
Alex_V is offline
Alex_V
Участник
 
159 / 10 (1) +
Регистрация: 19.02.2003
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

но может есть другой путь?