Код: Выделить всё
cmDefault:
{
updatetable;
update current ppspecif;
rescanpanel(#ppspecif);
}
Модераторы: m0p3e, edward_K, Модераторы
Код: Выделить всё
cmDefault:
{
updatetable;
update current ppspecif;
rescanpanel(#ppspecif);
}
...то есть получается вначале происходит cmInsert, а потом cmSetDefault...Maverick писал(а):
вставка: имеем browsе. Жмем F7 -> отрабатывает cmSetDefault. В нем определеяем поля по умолчанию тут же вызываем окно в котором определен screen для редактирования записи. заносим значения. при потере позиции (закрытии окна, перемещении с текущей записи, для корневой таблицы в данном скрине/броузе отрабатывает cmInsertRecord
редактирование: все то же самое, только отрабатывает cmUpdateRecord
удаление: напрямую из броуза/скрина отрабатывает cmDeleteRecord и при этом текущей становится предыдущая/следующая запись.
собственно логика отработки примерно такая, если не вдаваться в подробности отлова cmAbortInsert и прочее
cmSetDefault :У меня при попытке использования cmSetDefault, появляется сообщения о том, что нарушена уникальность ключа nrec...
Морзик прав - при вставке новой записи с нее не сбрасываются фильтры, установленные при прошлой вставке. ClearBuffer для этого и служит.. но можно делать хитрееm0p3e писал(а):cmSetDefault :У меня при попытке использования cmSetDefault, появляется сообщения о том, что нарушена уникальность ключа nrec...
{
ClearBuffer(#MyTable);
....................
}