Задача такова. Произвольная конфигурация, произвольный тип ссылочного объекта, у которого есть реквизиты с режимом проверки заполнения "Выдавать ошибку". В стандартном случае (перед записью объекта) проверяются все эти реквизиты, но я хочу также реализовать особый режим проверки только части из этих реквизитов. Этот особый случай наступает при выполнении некоторой команды в форме объекта, в обработчике которой вызывается метод формы ПроверитьЗаполнение(). Для того, чтобы дать понять обработчику ОбработкаПроверкиЗаполнения() модуля объекта, что имеет место особый режим проверки, я должен передать из контекста модуля формы в контекст модуля объекта некоторое сигнальное значение, например, Истина, 1 или "ОсобыйРежим" и нужным мне образом обработать массив ПроверяемыеРеквизиты.

Приведу одну аналогию. Есть пара обработчиков: ПередЗаписьюНаСервере(ТекущийОбъект) модуля формы и ПередЗаписью() модуля объекта. Я могу передавать необходимые мне вспомогательные значения из первого обработчика во второй за счет структуры ДополнительныеСвойства у параметра ТекущийОбъект. К сожалению, у обработчика ОбработкаПроверкиЗаполненияНаСервере() модуля формы нет параметра ТекущийОбъект, через который я мог бы обращаться к экземпляру объекта, обрабатываемому в обработчике ОбработкаПроверкиЗаполнения() модуля объекта.

Что я пробовал:

1. Получить экземпляр объекта из данных формы, изменить его ДополнительныеСвойства и записать объект обратно в данные формы. Ни к чему не ведет, т. к. выяснил, что ДополнительныеСвойства никак не передаются от объекта к данным формы и не заполняются у нового экземпляра объекта, который создается при вызове обработчика ОбработкаПроверкиЗаполнения().

2. Сохранить значение во временном хранилище, но тут встает проблема передачи адреса значения во временном хранилище из контекста модуля формы в контекст модуля объекта - в общем, вернулись к тому же самому. Можно было бы использовать некий фиксированный адрес-строку, но выяснил, что при помещении значения во временное хранилище платформа автоматически добавляет к адресу-строке суффикс вида "?seanceId=<UUID сеанса>". Самостоятельно сгенерировать такой суффикс и добавить его к фиксированному адресу-строке перед получением значения из временного хранилища - не проблема, но не хотелось бы опираться на подобное "автоматическое" поведение платформы (притом не задокументированное в справке), которое может в любой прекрасный момент поменяться в новой версии. Поэтому данный вариант расцениваю как довольно "костыльный".

Может быть, мой подход - попытка передать вспомогательное значение из одного контекста в другой - в целом неверен, и есть иные механизмы модификации массива ПроверяемыеРеквизиты (именно проверяемые реквизиты объекта, а не формы) прямо в контексте модуля формы?
---
:) Как часто бывает, пока писал свое "сочинение", мне пришел в голову, кажется, правильный вариант решения проблемы - правильный с той точки зрения, что, по смыслу обработчика ОбработкаПроверкиЗаполненияНаСервере() модуля формы, он предназначен для изменения стандартного поведения механизма проверки заполнения реквизитов формы - вплоть до удаления реквизита формы "Объект" из ПроверяемыхРеквизитов и самостоятельной организации его проверки.

Итак:

1) в обработчике ОбработкаПроверкиЗаполненияНаСервере() модуля формы удаляем реквизит "Объект" из массива ПроверяемыеРеквизиты;

2) получаем экземпляр объекта из данных формы, заполняем ДополнительныеСвойства и вызываем метод ПроверитьЗаполнение() этого экземпляра;

3) в обработчике ОбработкаПроверкиЗаполнения() модуля объекта ДополнительныеСвойства будут заполнены как нам надо, работаем с ними. Все!
---
2.1) не забыть присвоить возвращаемое методом ПроверитьЗаполнение() значение (с отрицанием) флажку Отказ;
---
:) Как часто бывает, пока писал свое "сочинение", мне пришел в голову, кажется, правильный вариант решения проблемы - правильный с той точки зрения, что, по смыслу обработчика ОбработкаПроверкиЗаполненияНаСервере() модуля формы, он предназначен для изменения стандартного поведения механизма проверки заполнения реквизитов формы - вплоть до удаления реквизита формы "Объект" из ПроверяемыхРеквизитов и самостоятельной организации его проверки.

Итак:

1) в обработчике ОбработкаПроверкиЗаполненияНаСервере() модуля формы удаляем реквизит "Объект" из массива ПроверяемыеРеквизиты;

2) получаем экземпляр объекта из данных формы, заполняем ДополнительныеСвойства и вызываем метод ПроверитьЗаполнение() этого экземпляра;

3) в обработчике ОбработкаПроверкиЗаполнения() модуля объекта ДополнительныеСвойства будут заполнены как нам надо, работаем с ними. Все!
---
2.1) не забыть присвоить возвращаемое методом ПроверитьЗаполнение() значение (с отрицанием) флажку Отказ;