cmInsertRecord: вставить запись |
Идентификатор события - cmInsertRecord.
Оператор Abort может быть выполнен. В случае вызова оператора Abort пользователь не сможет перейти к редактированию другой записи. Рекомендуется вызывать этот метод в случае некорректного ввода.
Оператор Stop не может быть выполнен.
Принципы редактирования информации из таблиц в системе VIP заключаются в следующем:
При редактировании записи пользователь изменяет значения полей в буфере, связанном с каждой физической таблицей.
При позиционировании на существующую запись эта запись считывается в буфер.
При создании новой записи в буфер заносятся значения по умолчанию (см. событие cmSetDefault) и устанавливается признак новой записи.
Перед вызовом обработчика события cmSetDefault буфер записи корневой таблицы текущего видимого элемента заполняется значениями по умолчанию (как правило, нулевыми)
В поля, по которым наложено ограничение типа bounds или стоящие в правой части where, копируются значения, по которым ограничена видимость записей (запись будет сразу удовлетворять текущим ограничениям на таблицу). При этом если есть ограничения по больше, меньше, больше-равно, меньше-равно, то копируется меньшее из ограничивающих значений.
После того как значения полей корневой таблицы в буфере поменялись пользователем либо с помощью оператора set, либо с помощью вызова другого интерфейса с параметром, то в соответствующей корневой таблице панели происходит одно из событий cmUpdateRecord либо cmInsertRecord в зависимости от признака новой записи.
Событие возникает при необходимости вставить запись из буфера. В обработчике может быть запрограммирован SQL-запрос, вставляющий запись. Например, insert current <имя>. Это событие возникает, если пользователь поменял значения в буфере после cmSetDefault.