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