Обработчик добавления БД_РЕДАКТОРа

пользователь
Регистрация: 30.09.2014

Добрый день!

Как сделать, чтобы при добавлении записи в БД_РЕДАКТОР, произошел обработчик функции без последующего диалога редактирование записи.

Например, это сделано при редактировании/добавления справочника организации в ИБ. При редактировании/добавлении выходит типовая операция и вся редакция делается уже отдельной функцией.

К сожалению, библиотека закрыта и посмотреть пример нельзя. В Справке этот момент тоже явно не описан.

С уважением

модератор
Регистрация: 06.09.2007

Здравствуйте!

Для такого поведения, как Вы описываете, достаточно задать обработчик "ДиалогДобавления". При вызове функции БД_РЕДАКТОР этот обработчик обозначается буквой "А".

Просто само наличие этого обработчика по умолчанию отключает последующий показ стандартного диалога.

Есть нюанс, можно принудительно включить показ стандартного диалога после вызова этого обработчика. Для этого надо из функции-обработчика вернуть НЕТ и вызвать:

УСТ_АТРИБУТ("custom_dlg_action", "continue")

Если УСТ_АТРИБУТ не вызывать, то стандартный диалог не показывается. Возвращаемое значение функции-обработчика ТИП_ЛОГИКА определяет, будет ли программа сохранять изменения текущей записи или нет.

Это соответствует тому, например, что в диалоге типовой нажали "ОК" или "Отмена".

Еще стоит добавить, что есть обработчик "ПередДобавлением" - буква "Н", который позволяет как-то заполнить новую запись данными по умолчанию или сгенерировать какие-то идентификаторы.

И третий обработчик "ПроверкаДобавления" - буква "Д", который позволяет посмотреть, что навводил пользователь и можно ли такую запись добавлять в таблицу.