Возникает на сервере при записи объекта из формы. Процедура-обработчик вызывается после записи объекта (после события ПриЗаписи объекта) в базу данных, но до окончания транзакции записи.
Синтаксис
ПриЗаписиНаСервере(<Отказ>, <ТекущийОбъект>, <ПараметрыЗаписи>)Полное описание, параметры и ограничения
Расширение формы клиентского приложения для констант.ПриЗаписиНаСервере (Client application form extension for constants.OnWriteAtServer)
Расширение формы клиентского приложения для констант (Client application form extension for constants)
ПриЗаписиНаСервере (OnWriteAtServer)
Доступен, начиная с версии 8.2.
Синтаксис:
ПриЗаписиНаСервере(<Отказ>, <ТекущийОбъект>, <ПараметрыЗаписи>)
Параметры:
<Отказ>
Тип: Булево.
Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина, то запись произведена не будет.
Значение по умолчанию: Ложь.
<ТекущийОбъект>
Тип: КонстантыНабор.
Записываемый набор констант.
<ПараметрыЗаписи>
Тип: Структура.
Структура, содержащая параметры записи.
Описание:
Возникает на сервере при записи объекта из формы. Процедура-обработчик вызывается после записи объекта (после события ПриЗаписи объекта) в базу данных, но до окончания транзакции записи.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.2.
Методическая информация
Практические примеры
Откатить запись, нарушающую учебный лимит
Серверный обработчик вызывается после записи объекта, но до завершения транзакции; Отказ ещё отменяет её. Контекст: Общие → Общие формы → УчебныеКонтрольныеКонстанты.
Где и как запускать
Модуль управляемой формы: Общие → Общие формы → УчебныеКонтрольныеКонстанты. Серверная и клиентская директивы уже указаны; не вставляйте процедуру внутрь другой.
Подготовка
Все действия выполняйте только в отдельной учебной конфигурации.
Создайте две учебные константы: УчебноеКонтрольноеЧисло (Число 15.2), УчебныйКомментарий (Строка 100).
Создайте управляемую форму констант УчебныеКонтрольныеКонстанты конструктором форм: основной реквизит Объект типа КонстантыНабор, в наборе обе созданные константы. Не используйте форму одной константы.
Основной реквизит формы должен называться Объект. Если мастер дал другое имя, переименуйте основной реквизит и исправьте пути данных его полей в редакторе формы.
Выведите основной числовой реквизит и комментарий на форму. Добавьте отдельный реквизит формы Статус (Строка 200), выведите его недоступным для редактирования.
Откройте Общие → Общие формы → УчебныеКонтрольныеКонстанты → Модуль формы. Назначьте событие ПриЗаписиНаСервере одноимённой процедуре. Обновите только учебную базу.
Примеры соседних событий можно объединить в одном модуле: каждая процедура должна существовать только один раз. Для обычного опыта задайте число 25 и комментарий Учебный объект.
&НаСервере
Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
Если ТекущийОбъект.УчебноеКонтрольноеЧисло > 100 Тогда
Отказ = Истина;
Сообщить("Значение больше учебного лимита 100");
КонецЕсли;
КонецПроцедурыРазбор по шагам
Платформа вызывает назначенный обработчик, передавая параметры именно своего расширения формы.
Серверный обработчик вызывается после записи объекта, но до завершения транзакции; Отказ ещё отменяет её.
Работа ведётся с реквизитами объекта, который полностью объявлен в подготовке.
Как проверить результат
Введите 150: клиентская проверка отрицательного значения пропускает его, но эта серверная проверка отменяет запись.
Вновь откройте ранее сохранённый объект: 150 не должно заменить старое значение; при 25 запись проходит.
Ожидаемый результат
Откатить запись, нарушающую учебный лимит для собственного учебного объекта.
На что обратить внимание
Событие не означает успешную фиксацию транзакции.
Здесь не отправляйте внешние уведомления об успехе: транзакция может быть отменена.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.