Короткий обработчик классической интерактивной активации / выполнения. Управляемый клиент не выдаётся за поддерживаемый контекст.
Где и как запускать
Модуль объекта собственной задачи / процесса. Только обычное приложение, толстый клиент.
Подготовка
Работайте в отдельной пустой учебной конфигурации. Создайте справочник УчебныеИсполнители и предопределённый элемент Демонстрационный с наименованием Учебный исполнитель.
Создайте задачу УчебныеСогласования: строковый номер длиной 12, автонумерация, наименование длиной 100. Добавьте реквизит адресации Исполнитель типа СправочникСсылка.УчебныеИсполнители и выберите его основным реквизитом адресации. Здесь используется прямая адресация; регистр ролевой адресации не нужен.
Создайте параметр сеанса УчебныйИсполнитель того же ссылочного типа. В свойстве задачи Текущий исполнитель выберите этот параметр. Запросы урока передают исполнителя явно и не зависят от начального значения параметра сеанса.
Создайте бизнес-процесс УчебноеСогласование со строковым номером длиной 12 и автонумерацией. В свойстве Задача выберите УчебныеСогласования. Карта маршрута: Старт (начало) → Согласовать (действие) → Завершение. В точке Согласовать задайте адресацию Исполнитель = Демонстрационный, Групповая = Ложь.
И у задачи, и у бизнес-процесса создайте обычные реквизиты КомментарийУчебный (Строка 100), Сумма (Число 12.2), Подтверждено (Булево), ЗапретУдаления (Булево). Добавьте табличную часть Детали с колонками Наименование (Строка 100) и Количество (Число 10.0).
Модуль объекта Бизнес-процесса УчебноеСогласование: назначьте основную процедуру одноимённому событию.
Обычное приложение, толстый клиент. В управляемом приложении эти события не вызываются. Перед активацией установите свой параметр УчебныйИсполнитель в Демонстрационный. Используйте стандартные интерактивные команды только у собственных объектов.
Не отключайте безопасный режим самостоятельно. Особенности исполнения нативного события не дают оснований запускать неизвестный внешний код.
Процедура ОбработкаИнтерактивнойАктивации(СтандартнаяОбработка)
Если Завершен Тогда
СтандартнаяОбработка = Ложь;
Сообщить("Проверьте подтверждение / состояние собственного процесса или задачи");
КонецЕсли;
КонецПроцедурыРазбор по шагам
Подготовьте свою задачу / процесс.
Назначьте точный обработчик в модуле объекта.
В обычном приложении вызовите стандартную интерактивную команду у своего объекта.
Как проверить результат
ПередИнтерактивнымВыполнением с Отказ=Истина запрещает выполнение неподтверждённой задачи.
ОбработкаИнтерактивнойАктивации со СтандартнаяОбработка=Ложь не продолжает стандартную активацию завершённого / выполненного объекта. Флаги не приравниваются друг другу.
Ожидаемый результат
Событие показано в точном объектном модуле и поддерживаемом виде приложения.
На что обратить внимание
Это объектное событие, не клиентский обработчик поля формы с первым Элемент.
Код 1С при сборке не исполнялся.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.