Возникает перед интерактивной записью объекта.
Синтаксис
ПередЗаписью(<Копирование>, <Отказ>)Полное описание, параметры и ограничения
Расширение поля формы для поля текстового документа.ПередЗаписью (Form field extension for a text document.BeforeWrite)
Расширение поля формы для поля текстового документа (Form field extension for a text document)
ПередЗаписью (BeforeWrite)
Доступен, начиная с версии 8.3.15.
Синтаксис:
ПередЗаписью(<Копирование>, <Отказ>)
Параметры:
<Копирование>
Тип: Булево.
Содержит значение Истина, если выполняется команда "Сохранить как...".
<Отказ>
Тип: Булево.
Признак отказа от записи. Если в теле процедуры-обработчика установить данному параметру значение Истина, то запись выполнена не будет.
Значение по умолчанию: Ложь.
Описание:
Возникает перед интерактивной записью объекта.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент.
Использование в версии:
Доступен, начиная с версии 8.3.15.
Методическая информация
Практические примеры
Разрешать сохранение документа только отдельным флажком: текстового документа
Возникает перед интерактивной записью объекта. Разрешать сохранение документа только отдельным флажком.
Где и как запускать
Клиентский модуль собственной управляемой формы. Элемент передаёт платформа; дополнительный блок — отдельный серверный обработчик создания.
Подготовка
Создайте внешнюю учебную обработку с управляемой формой. Реквизиты формы: Статус (Строка 200), Счетчик (Число 10.0), РазрешитьСохранение (Булево). Выведите Статус и РазрешитьСохранение на форму.
Основной обработчик назначается событию указанного элемента Образец, а не событию формы. Код вставляется на уровне модуля формы с директивой НаКлиенте. Дополнительный серверный блок назначьте событию формы ПриСозданииНаСервере.
Открывайте обработку в настольном тонком клиенте. Каждый урок проверяйте в отдельном варианте формы; HTML показывает код, но не исполняет его.
Добавьте реквизит УчебныйДокумент типа ТекстовыйДокумент и элемент Образец вида ПолеТекстовогоДокумента, путь к данным УчебныйДокумент.
В свойствах элемента Образец → События назначьте ПередЗаписью процедуре ОбразецПередЗаписью. Подготовка использует текущую сигнатуру установленной справки плюс неявный параметр Элемент управляемой формы.
&НаКлиенте
Процедура ОбразецПередЗаписью(Элемент, Копирование, Отказ)
Отказ = Не РазрешитьСохранение;
Если Отказ Тогда
Статус = "Сначала включите Разрешить сохранение";
Сообщить(Статус);
КонецЕсли;
КонецПроцедурыПодготовить собственное содержимое формы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Счетчик = 0;
РазрешитьСохранение = Ложь;
Статус = "Готово";
Документ = Новый ТекстовыйДокумент;
Документ.УстановитьТекст("Книга" + Символы.ПС + "Количество: 2");
УчебныйДокумент = Документ;
Элементы.Образец.Вывод = ИспользованиеВывода.Разрешить;
КонецПроцедурыРазбор по шагам
Дополнительный серверный блок создаёт собственные данные, элемент подготовлен в редакторе формы.
Платформа вызывает назначенный обработчик вследствие действия пользователя; процедуру с придуманными параметрами вручную не вызываем.
Обработчик меняет только явно названные данные своей формы или параметры текущего события.
Как проверить результат
С выключенным флажком интерактивное сохранение отменяется.
Для опыта включите флажок и выберите новый учебный файл в своём временном каталоге; не перезаписывайте существующие файлы. Это сохранение документа в файл, не запись объекта базы.
Ожидаемый результат
Разрешать сохранение документа только отдельным флажком на собственном подготовленном элементе.
На что обратить внимание
Настольный тонкий клиент — контекст этого урока. Доступность и порядок событий в веб- и мобильном клиентах могут отличаться.
Код не открывает внешние страницы, не отправляет сообщения и не обращается к рабочим документам.
Свойство СтандартнаяОбработка и параметр Отказ имеют разные назначения: первый заменяет стандартное действие, второй отменяет операцию.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.