У регистра накопления назначаются формы списка, не формы карточки товара. Отсутствующие пользовательские назначения не заменяем выдуманными именами форм.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ пустую файловую базу, имя корневой конфигурации УчебныеОстатки85. Не добавляйте эти объекты в УТ/КА2/УНФ/БП. Режим управления блокировкой данных конфигурации — Управляемый.
Документы → Добавить: УчебноеДвижение85. Номер: Строка длиной 40, автонумерация выключена. Модули объекта и менеджера оставьте пустыми; не добавляйте обработчики, подписки и обязательные пользовательские реквизиты.
Регистры накопления → Добавить: УчебныеОстатки85. Вид регистра Остатки. Единственное измерение КодТовара: Строка 50, индексировать, проверка заполнения Показывать ошибку. Единственный ресурс Количество: Число 12,3, неотрицательное. Дополнительных реквизитов нет.
В списке регистраторов выберите только собственный документ УчебноеДвижение85. Оставьте модули регистра пустыми, использование итогов включённым. Планы обмена, разделители, историю данных и фоновые задания для урока не создавайте.
Обновите конфигурацию базы данных. Создайте серверный общий модуль УчебныеЗадачи и команду собственной обработки. Фрагмент вставьте внутрь ВыполнитьПример() Экспорт; запускайте задачи по отдельности.
Первые задачи работают с незаписанными наборами. Только задачи с пометкой «в собственной транзакции» временно записывают два собственных документа и движения, затем обязательно отменяют транзакцию. В рабочей базе этот код не запускайте.
В этом разделе код ТОЛЬКО ЧИТАЕТ метаданные УчебныеОстатки85. Наборы, документы, транзакции, блокировки и запись движений не создаются.
Не создавайте пользовательские формы, команды, макеты и дополнительные индексы у учебного регистра; расширения не устанавливайте.
Если Метаданные.Документы.Количество() <> 1
Или Метаданные.РегистрыНакопления.Количество() <> 1
Или Метаданные.Документы.Найти("УчебноеДвижение85") = Неопределено Тогда
ВызватьИсключение "Разрешены только собственный учебный документ и регистр";
КонецЕсли;
Описание = Метаданные.РегистрыНакопления.Найти("УчебныеОстатки85");
Если Описание = Неопределено Тогда
ВызватьИсключение "Сначала создайте собственный учебный регистр";
КонецЕсли;
Если Описание.ВидРегистра <> Метаданные.СвойстваОбъектов.ВидРегистраНакопления.Остатки
Или Описание.Измерения.Количество() <> 1
Или Описание.Ресурсы.Количество() <> 1
Или Описание.Реквизиты.Количество() <> 0
Или Описание.Измерения.Найти("КодТовара") = Неопределено
Или Описание.Ресурсы.Найти("Количество") = Неопределено Тогда
ВызватьИсключение "Нужен регистр остатков с КодТовара и Количество";
КонецЕсли;
Менеджер = РегистрыНакопления.УчебныеОстатки85;
Сообщить(Описание.Формы.Количество() = 0);
Сообщить(Описание.ОсновнаяФормаСписка = Неопределено);
Сообщить(Описание.ДополнительнаяФормаСписка = Неопределено);
Сообщить("Стандартные команды: " + Строка(Описание.ИспользоватьСтандартныеКоманды));
Сообщить("Включение справки: " + Строка(Описание.ВключатьСправкуВСодержание));
Сообщить("Режим полнотекстового поиска: " + Строка(Описание.ПолнотекстовыйПоиск));Разбор по шагам
Коллекция Формы содержит созданные пользовательские определения; по подготовке их нет.
ОсновнаяФормаСписка и ДополнительнаяФормаСписка проверяются на Неопределено до обращения к имени.
ИспользоватьСтандартныеКоманды может влиять на стандартный интерфейс, но само чтение свойства не открывает список.
ВключатьСправкуВСодержание и ПолнотекстовыйПоиск — другие режимы. Их вывод не означает, что справка показана или выполнен поиск по товарам.
Как проверить результат
Три логические проверки дают Истина.
Три диагностических сообщения показывают фактические настройки регистра; окна не открываются.
В коде не используются ОсновнаяФормаОбъекта/ОсновнаяФормаГруппы: у этого объекта схемы другой набор назначений.
Ожидаемый результат
Разобраны назначения и интерфейсные настройки именно регистра накопления.
На что обратить внимание
Неопределено у основной формы не доказывает запрет стандартной автогенерируемой формы.
Нельзя подменять форму списка регистра формой справочника с таким же заголовком.
Настройка полнотекстового поиска не является обходом прав чтения движений.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.