Читаем настройки истории документа. Свойства модулей/справки не становятся текстом исходника и не позволяют выполнить обработчик записи.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую учебную базу, не копию рабочего каталога. В Конфигураторе задайте корню имя Учебная85. Не добавляйте эти объекты в рабочую УТ/КА2/УНФ/БП.
Справочники → Добавить: имя УчебныеТовары. Длина кода 10, тип кода Строка, автонумерация и контроль уникальности включены, длина наименования 100.
Для УчебныеТовары включите иерархию групп и элементов. Добавьте реквизиты Артикул (Строка, длина 20) и Цена (Число, 12 цифр, 2 дробных, неотрицательное). Проверка заполнения для этих учебных реквизитов не устанавливается.
Добавьте табличную часть Штрихкоды: Штрихкод (Строка, длина 20) и Основной (Булево). Обновите конфигурацию базы данных. Модули объектов оставьте пустыми.
Создайте серверный общий модуль УчебныеЗадачи и команду учебной обработки, вызывающую ВыполнитьПример() Экспорт. Каждый фрагмент выполняйте отдельно, не склеивайте их в одну процедуру.
Документы → Добавить: имя УчебнаяЗаявка, тип номера Строка, длина 9, автонумерация включена. Проведение запретите: это только учебный документ без движений.
Добавьте реквизит Комментарий (Строка, длина 100) и табличную часть Товары: Товар (СправочникСсылка.УчебныеТовары), Количество (Число, 9 цифр, 0 дробных, неотрицательное), Цена (Число, 12 цифр, 2 дробных, неотрицательное). Модуль документа пустой.
Обновите конфигурацию базы данных. Эти имена существуют только в созданной учебной конфигурации, не подразумеваются в типовой базе.
Выполняйте только в новой базе Учебная85. Проверки читают настройки УчебнаяЗаявка; документы не создаются, не записываются и не проводятся.
Не добавляйте документу свои команды, макеты, характеристики, дополнительные индексы или основания ввода. Расширения в учебную базу не устанавливайте.
В УчебнаяЗаявка оставьте оба флага Обновлять историю данных сразу после записи и Выполнять обработку после записи версии истории данных выключенными. Обновите БД.
Если Метаданные.Справочники.Найти("УчебныеТовары") = Неопределено Тогда
ВызватьИсключение "Сначала создайте учебный справочник по подготовке";
КонецЕсли;
Если Метаданные.Документы.Найти("УчебнаяЗаявка") = Неопределено Тогда
ВызватьИсключение "Сначала создайте УчебнаяЗаявка по подготовке";
КонецЕсли;
Описание = Метаданные.Документы.УчебнаяЗаявка;
Сообщить("Использование истории заявки: " + Строка(Описание.ИсторияДанных));
Сообщить(Не Описание.ОбновлятьИсториюДанныхСразуПослеЗаписи);
Сообщить(Не Описание.ВыполнятьОбработкуПослеЗаписиВерсииИсторииДанных);
Сообщить(Описание.МодульОбъекта = Неопределено);
Сообщить(Описание.МодульМенеджера = Неопределено);
Сообщить(Описание.Справка = Неопределено);
Сообщить("Включение справки в содержание: " + Строка(Описание.ВключатьСправкуВСодержание));Разбор по шагам
Флаги истории оставлены выключенными по подготовке. Код только читает политику; версия документа не создаётся.
Обновление истории сразу после записи относится к обработке после завершения транзакции, а не доказательству синхронно полученной версии.
МодульОбъекта, МодульМенеджера и Справка во встроенном языке не возвращают текст. Неопределено здесь не означает отсутствия исходного модуля в конфигурации.
Для чтения исходника откройте Конфигуратор или собственную выгрузку XML/BSL. Настройка ВключатьСправкуВСодержание не равна содержимому справки.
Как проверить результат
Пять булевых проверок дают Истина; два сообщения показывают фактические настройки.
Новые документы и версии истории не появились: запись/проведение не вызывались.
Ожидаемый результат
Понимание границ истории данных и runtime-доступа к исходникам.
На что обратить внимание
Прикладные обработчики могут переопределять флаги экземпляра при записи.
Запрет проведения в подготовке не равен запрету любого изменения данных; урок сам не меняет их.
Не пытайтесь вызвать строковые методы у Неопределено или выполнить значение как исходный код.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.