вставка новой записи
есть таблица1 - обычный список
содержит 2 поля: "No" - integer (ключевое); Name - Text - используется только для показа части текста из другой таблицы (таблицы2).
таблица1 и таблица2 связаны между собой по "No."
триггер OnInsert таблицы1 имеет вид
MyTable.LOCKTABLE;
IF MyTable.FIND('+') THEN
"No." := MyTable."No." + 10
ELSE
"No." := 10;
создаю форму1(используется как субформа), которая будет использоваться для просмотра и ввода информации в таблицу1. Поле Name - недоступно для редактирования, поле "No." должно быть невидимо (требования клиента). Триггер OnAssistEdit поля Name содержит вызов другой связанной по "No." формы2(которая используется для заполения таблицы2). Св-во autosplitkey формы1 установлено в 0.
То есть идея следующая: клиент попадает на форму1 поле Name. Далее нажимает assistedit княпу и попадает в форму2(привязана к таблице2). Что то в ней заполняет, закрывает. В результате поле Name формы1 содержит (к примеру) краткий текст из заполненной таблицы2.
Проблема состоит в том что при активации поля Name формы1 запись в таблицу 1 не заносится (не срабатывает триггер OnInsert таблицы) и в итоге поле "No." при нажатии assistedit кнопки равно 0.
запись в таблицу1 происходит только в том случае если поле "No." видимо на форме.
либо в том случае если поля "No." на форме нет но поле Name доступно для редактирования и то только после того как были занесены какието данные в поле Name.
Может кто подскажет как реализовать подобную фичу (интересует именно тот случай когда на форме1 видимо только недоступное для редактирования поле Name)
|