Получает один из макетов, определенных в конфигурации для журнала документов.
Синтаксис
ПолучитьМакет(<Макет>)Примеры платформы
МакетРеестра = ЖурналыДокументов.Общий.ПолучитьМакет("Реестр");Полное описание, параметры и ограничения
ЖурналДокументовМенеджер.<Имя журнала документов>.ПолучитьМакет (DocumentJournalManager.<Document journal name>.GetTemplate)
ЖурналДокументовМенеджер.<Имя журнала документов> (DocumentJournalManager.<Document journal name>)
ПолучитьМакет (GetTemplate)
Доступен, начиная с версии 8.0.
Синтаксис:
ПолучитьМакет(<Макет>)
Параметры:
<Макет> (обязательный)
Тип: Строка, ОбъектМетаданных: Макет.
Имя макета, как оно задано в конфигураторе, или объект описания метаданного требуемого макета.
Возвращаемое значение:
Тип: ТабличныйДокумент, ТекстовыйДокумент; другой объект, который может быть макетом.
Описание:
Получает один из макетов, определенных в конфигурации для журнала документов.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Пример:
МакетРеестра = ЖурналыДокументов.Общий.ПолучитьМакет("Реестр");
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Открыть основную форму собственного журнала и вывести сводку из макета
Пульт получает форму менеджера журнала с собственным владельцем/UUID, подготавливает закрытый список и проверяет повтор того же экземпляра. Текстовый макет формирует сообщение по проверенному числу документов.
Где и как запускать
Полный модуль обычной формы Пульт собственной обработки УчебныйЖурналПульт85. Только толстый клиент, не выполнялся.
Подготовка
Создайте НОВУЮ отдельную файловую базу 8.5.1.1343: имя конфигурации УчебныйОбщийЖурнал85, совместимость НеИспользовать, обычное приложение, толстый клиент. Не рабочая база и не её копия. Здесь код и UI не запускались: runtimeVerifiedScenarios=0.
Два документа УчебнаяЗаявка и УчебнаяОплата: Номер Строка(10), автонумерация выключена, контроль уникальности включён, проведение запрещено, единственный Комментарий Строка(100), Индексировать. Модули объекта/менеджера пусты, табличных частей нет. Остальные бизнес-объекты, разделители, расширения, задания и подписки отсутствуют.
Создайте единственный журнал документов УчебныйЖурнал, включите в него оба документа. Добавьте графу Сценарий: она отображает реквизит Комментарий ОБОИХ документов, тип Строка(100), индексирование включено. Это реальная графа журнала, не автоматически доступный реквизит любого документа.
ВРУЧНУЮ только в своём стенде запишите четыре документа без проведения/пометок: Заявка 0001/01.09.2026 00:00:00/Заявка; Оплата 0001/15.09.2026 12:00:00/Оплата; Заявка 0002/30.09.2026 23:59:59/Заявка; Оплата 0002/01.10.2026 00:00:00/Оплата. В дате показывайте секунды. Два совпадающих номера разных видов намеренны; код не создаёт и не удаляет записи.
УчебныйЖурнал → Формы: обычная форма Список, назначьте её основной. Реквизит Журнал типа ЖурналДокументовСписок.УчебныйЖурнал, табличное поле СписокЖурнала с данными именно Журнал. Колонки Дата, Номер, ВидДокумента и Сценарий связаны с колонками источника. ТолькоПросмотр=Да; команд записи, удаления, создания и проведения нет.
В Список добавьте ТолькоОплаты, ТолькоСценарийОплаты, СнятьДополнительныеОтборы, СортироватьПоСценарию, ВернутьХронологию, РазрешитьИнтервал, ЗапретитьИнтервал, ПроверитьВозвратДоступностей, Обновить, ЗакрытьСписок. Назначьте действия, ПриОткрытии и полный отдельный модуль списка. Оставьте стандартный диалог настройки списка в контекстном меню поля.
Создайте обработку УчебныйЖурналПульт85 с обычной основной формой Пульт. Кнопки ОткрытьЖурнал, СводкаИзМакета, ПовторитьСвоеОкно, ЗакрытьСвойЖурнал; назначьте одноимённые действия и события ПриОткрытии/ПередЗакрытием. Полный модуль Пульта вставьте отдельно.
УчебныйЖурнал → Макеты: текстовый макет Сводка, одна строка Документов сентября: %1 без кавычек. Общий модуль УчебныйЖурнал85: неглобальный, Сервер=Да, Вызов сервера=Да, клиентские флаги=Нет, привилегированный=Нет; вставьте полный общий модуль проверки ниже.
Обновите конфигурацию базы, проверьте F7, включение обоих видов в журнал, соответствие графы каждому реквизиту и привязку данных поля. ТолькоПросмотр — настройка UI, не права доступа; неизвестные модули и рабочие базы недопустимы.
Перем СвоеОкно;
Перем СвоеКоличество;
Процедура ПриОткрытии()
УчебныйЖурнал85.ПроверитьСвойСтенд();
СвоеОкно = Неопределено;
СвоеКоличество = Неопределено;
КонецПроцедуры
Процедура ОткрытьЖурнал(Кнопка)
Если СвоеОкно <> Неопределено Тогда
Если СвоеОкно.Открыта() Тогда
ВызватьИсключение "Сначала закройте только свой прежний журнал";
КонецЕсли;
КонецЕсли;
УчебныйЖурнал85.ПроверитьСвойСтенд();
Ключ = Новый УникальныйИдентификатор;
Окно = ЖурналыДокументов.УчебныйЖурнал.ПолучитьФорму("Список", ЭтаФорма, Ключ);
Если Окно = Неопределено Тогда
ВызватьИсключение "Своя основная форма журнала не создана";
КонецЕсли;
Если ТипЗнч(Окно) <> Тип("Форма") Тогда
ВызватьИсключение "Нужна обычная форма толстого клиента";
КонецЕсли;
Если Окно.Открыта() Или Окно.КлючУникальности <> Ключ Или Окно.ВладелецФормы <> ЭтаФорма.ЭтаФорма Тогда
ВызватьИсключение "Не изменяем чужое или открытое окно";
КонецЕсли;
Окно.КлючСохраненияПоложенияОкна = "УчебныйЖурнал85.МойОпыт." + Строка(Ключ);
Окно.ЗакрыватьПриЗакрытииВладельца = Истина;
Количество = Окно.ПодготовитьДоОткрытия();
Если Количество <> 3 Тогда
ВызватьИсключение "В своем сентябре должны быть три документа двух видов";
КонецЕсли;
СвоеОкно = Окно;
СвоеКоличество = Количество;
Окно.Открыть();
КонецПроцедуры
Процедура СводкаИзМакета(Кнопка)
Если СвоеОкно = Неопределено Или СвоеКоличество = Неопределено Тогда
ВызватьИсключение "Сначала подготовьте свой журнал";
КонецЕсли;
Макет = ЖурналыДокументов.УчебныйЖурнал.ПолучитьМакет("Сводка");
Если ТипЗнч(Макет) <> Тип("ТекстовыйДокумент") Тогда
ВызватьИсключение "Нужен собственный текстовый макет Сводка";
КонецЕсли;
Шаблон = СокрЛП(Макет.ПолучитьТекст());
Если Шаблон <> "Документов сентября: %1" Тогда
ВызватьИсключение "Не совпал текст собственного макета";
КонецЕсли;
Сообщить(СтрШаблон(Шаблон, СвоеКоличество));
КонецПроцедуры
Процедура ПовторитьСвоеОкно(Кнопка)
Если СвоеОкно = Неопределено Тогда
Возврат;
КонецЕсли;
Если Не СвоеОкно.Открыта() Тогда
Сообщить("Свое окно уже закрыто; откройте новый опыт");
Возврат;
КонецЕсли;
Повторное = ЖурналыДокументов.УчебныйЖурнал.ПолучитьФорму("Список", ЭтаФорма, СвоеОкно.КлючУникальности);
Если Повторное <> СвоеОкно Тогда
ВызватьИсключение "Не подтвержден возврат именно своего открытого окна";
КонецЕсли;
Сообщить("Вернулось свое открытое окно с тем же владельцем и ключом");
КонецПроцедуры
Процедура ЗакрытьСвойЖурнал(Кнопка)
ЗакрытьСвоеОкно();
КонецПроцедуры
Процедура ЗакрытьСвоеОкно()
Если СвоеОкно <> Неопределено Тогда
Если СвоеОкно.Открыта() Тогда
СвоеОкно.Закрыть();
Если СвоеОкно.Открыта() Тогда
ВызватьИсключение "Свое окно отказалось закрываться";
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
ЗакрытьСвоеОкно();
КонецПроцедурыУчебныйЖурнал.Список
УчебныйОбщийЖурнал85 → Журналы документов → УчебныйЖурнал → Формы → Список → Модуль
Полный отдельный модуль другой собственной обычной формы; не выполнялся.
Перем СвоиДокументы;
Перем Подготовлено;
Перем РазрешалисьИзмененияИнтервала;
Функция ПодготовитьДоОткрытия() Экспорт
СвоиДокументы = УчебныйЖурнал85.ПрочитатьСвойНабор();
Если ЭтаФорма.Открыта() Или ТипЗнч(Журнал) <> Тип("ЖурналДокументовСписок.УчебныйЖурнал") Тогда
ВызватьИсключение "Нужна своя закрытая обычная форма с реквизитом журнала";
КонецЕсли;
Колонки = Журнал.Колонки;
Для Каждого Имя Из СтрРазделить("Дата,Номер,ВидДокумента,Сценарий", ",") Цикл
Если Колонки.Найти(Имя) = Неопределено Тогда
Колонки.Добавить(Имя);
КонецЕсли;
КонецЦикла;
Журнал.Отбор.Сбросить();
Журнал.Порядок.Установить("Дата Возр");
Поле = ЭлементыФормы.СписокЖурнала;
Поле.ТолькоПросмотр = Истина;
Поле.ПроверкаОтображенияНовойСтроки = ВариантПроверкиОтображенияНовойСтроки.СообщатьОНесоответствииОтбору;
Настройка = Новый НастройкаПериода;
Настройка.РедактироватьКакИнтервал = Истина;
Настройка.РедактироватьКакПериод = Ложь;
Настройка.УстановитьПериод(Дата(2026, 9, 1, 0, 0, 0), Дата(2026, 9, 30, 23, 59, 59), Ложь);
Настройка.ВариантНастройки = ВариантНастройкиПериода.Интервал;
Если Настройка.ПолучитьДатуНачала() <> Дата(2026, 9, 1, 0, 0, 0)
Или Настройка.ПолучитьДатуОкончания() <> Дата(2026, 9, 30, 23, 59, 59) Тогда
ВызватьИсключение "Не подтверждены точные границы своего сентября";
КонецЕсли;
Поле.СтандартныйПериод = Настройка;
Если ТипЗнч(Поле.СтандартныйПериод) <> Тип("НастройкаПериода") Тогда
ВызватьИсключение "Нужна НастройкаПериода, не одноименный тип СтандартныйПериод";
КонецЕсли;
РазрешалисьИзмененияИнтервала = Ложь;
УстановитьДоступности(Ложь);
Менеджер = ЖурналыДокументов.УчебныйЖурнал;
Выборка = Менеджер.Выбрать(Дата(2026, 9, 1, 0, 0, 0), Дата(2026, 9, 30, 23, 59, 59), , "Дата Возр");
Ключи = Новый Массив;
Пока Выборка.Следующий() Цикл
Ключ = Выборка.Ссылка.Метаданные().Имя + "." + Выборка.Номер;
Если СвоиДокументы.Получить(Ключ) <> Выборка.Ссылка Тогда
ВызватьИсключение "В выборке журнала посторонняя ссылка";
КонецЕсли;
Ключи.Добавить(Ключ);
КонецЦикла;
Если СтрСоединить(Ключи, ",") <> "УчебнаяЗаявка.0001,УчебнаяОплата.0001,УчебнаяЗаявка.0002" Тогда
ВызватьИсключение "Журнал не включил оба своих вида или граничные документы";
КонецЕсли;
Подготовлено = Истина;
Возврат Ключи.Количество();
КонецФункции
Процедура ПриОткрытии()
Если Подготовлено <> Истина Тогда
ВызватьИсключение "Открывайте этот журнал только своим Пультом после подготовки";
КонецЕсли;
КонецПроцедуры
Процедура УстановитьДоступности(Разрешено)
Поле = ЭлементыФормы.СписокЖурнала;
ДатаОтбора = Поле.НастройкаОтбора.Найти("Дата");
ДатаПорядка = Поле.НастройкаПорядка.Найти("Дата");
Если ДатаОтбора = Неопределено Или ДатаПорядка = Неопределено Или Поле.НастройкаПорядка.Количество() <> 1 Тогда
ВызватьИсключение "У журнала интерактивный порядок должен содержать только Дата";
КонецЕсли;
ДатаОтбора.Доступность = Ложь;
ДатаПорядка.Доступность = Разрешено;
Поле.РазрешитьНастройкуПериода = Разрешено;
Если ДатаОтбора.Доступность Или ДатаПорядка.Доступность <> Разрешено
Или Поле.РазрешитьНастройкуПериода <> Разрешено Тогда
ВызватьИсключение "Собственные доступности журнала не подтверждены";
КонецЕсли;
Если Разрешено Тогда
РазрешалисьИзмененияИнтервала = Истина;
КонецЕсли;
КонецПроцедуры
Процедура РазрешитьИнтервал(Кнопка)
УстановитьДоступности(Истина);
КонецПроцедуры
Процедура ЗапретитьИнтервал(Кнопка)
УстановитьДоступности(Ложь);
КонецПроцедуры
Процедура ПроверитьФиксированныйОпыт()
Если РазрешалисьИзмененияИнтервала = Истина Тогда
ВызватьИсключение "После разрешения ручного интервала откройте новый собственный опыт";
КонецЕсли;
КонецПроцедуры
Процедура ТолькоОплаты(Кнопка)
ПроверитьФиксированныйОпыт();
СнятьДополнительныеОтборы(Неопределено);
ОтборВида = Журнал.Отбор.Найти("ВидДокумента");
Если ОтборВида = Неопределено Тогда
ВызватьИсключение "Не найден системный отбор ВидДокумента собственного журнала";
КонецЕсли;
ОтборВида.Установить(Метаданные.Документы.УчебнаяОплата, Истина);
Обновить(Неопределено);
СвояОплата = СвоиДокументы.Получить("УчебнаяОплата.0001");
ЭлементыФормы.СписокЖурнала.ТекущаяСтрока = СвояОплата;
Если ЭлементыФормы.СписокЖурнала.ТекущаяСтрока <> СвояОплата Тогда
ВызватьИсключение "Текущей строкой должна быть собственная оплата, не заявка с тем же номером";
КонецЕсли;
Сообщить("Ожидается только Оплата 0001, не Заявка с тем же номером");
КонецПроцедуры
Процедура ТолькоСценарийОплаты(Кнопка)
ПроверитьФиксированныйОпыт();
СнятьДополнительныеОтборы(Неопределено);
ОтборСценария = Журнал.Отбор.Найти("Сценарий");
Если ОтборСценария = Неопределено Тогда
ВызватьИсключение "Графа Сценарий не включена в отбор своего журнала";
КонецЕсли;
ОтборСценария.Установить("Оплата", Истина);
Обновить(Неопределено);
Сообщить("В собственном сентябре графе Оплата соответствует один документ");
КонецПроцедуры
Процедура СнятьДополнительныеОтборы(Кнопка)
Для Каждого Имя Из СтрРазделить("ВидДокумента,Сценарий", ",") Цикл
Элемент = Журнал.Отбор.Найти(Имя);
Если Элемент = Неопределено Тогда
ВызватьИсключение "Нет собственного элемента отбора " + Имя;
КонецЕсли;
Элемент.Использование = Ложь;
КонецЦикла;
Обновить(Неопределено);
КонецПроцедуры
Процедура СортироватьПоСценарию(Кнопка)
Журнал.Порядок.Установить("Сценарий Возр, Дата Возр");
Обновить(Неопределено);
КонецПроцедуры
Процедура ВернутьХронологию(Кнопка)
Журнал.Порядок.Установить("Дата Возр");
Обновить(Неопределено);
КонецПроцедуры
Процедура ПроверитьВозвратДоступностей(Кнопка)
Поле = ЭлементыФормы.СписокЖурнала;
ОтборДаты = Поле.НастройкаОтбора.Найти("Дата");
ПорядокДаты = Поле.НастройкаПорядка.Найти("Дата");
Если ОтборДаты = Неопределено Или ПорядокДаты = Неопределено Тогда
ВызватьИсключение "Нет собственных элементов управления Дата";
КонецЕсли;
Снимок = Новый Структура("Отбор,Порядок,Интервал,Проверка",
ОтборДаты.Доступность, ПорядокДаты.Доступность, Поле.РазрешитьНастройкуПериода, Поле.ПроверкаОтображенияНовойСтроки);
Попытка
ОтборДаты.Доступность = Не Снимок.Отбор;
ПорядокДаты.Доступность = Не Снимок.Порядок;
Поле.РазрешитьНастройкуПериода = Не Снимок.Интервал;
Поле.ПроверкаОтображенияНовойСтроки = ВариантПроверкиОтображенияНовойСтроки.НеПроверять;
Исключение
ВосстановитьДоступности(Поле, ОтборДаты, ПорядокДаты, Снимок);
ВызватьИсключение;
КонецПопытки;
ВосстановитьДоступности(Поле, ОтборДаты, ПорядокДаты, Снимок);
Сообщить("Две доступности, разрешение интервала и режим проверки возвращены");
КонецПроцедуры
Процедура ВосстановитьДоступности(Поле, ОтборДаты, ПорядокДаты, Снимок)
ОтборДаты.Доступность = Снимок.Отбор;
ПорядокДаты.Доступность = Снимок.Порядок;
Поле.РазрешитьНастройкуПериода = Снимок.Интервал;
Поле.ПроверкаОтображенияНовойСтроки = Снимок.Проверка;
Если ОтборДаты.Доступность <> Снимок.Отбор Или ПорядокДаты.Доступность <> Снимок.Порядок
Или Поле.РазрешитьНастройкуПериода <> Снимок.Интервал Или Поле.ПроверкаОтображенияНовойСтроки <> Снимок.Проверка Тогда
ВызватьИсключение "Возврат собственных доступностей не подтвержден";
КонецЕсли;
КонецПроцедуры
Процедура Обновить(Кнопка)
Журнал.Обновить();
ЭлементыФормы.СписокЖурнала.ОбновитьСтроки();
КонецПроцедуры
Процедура ЗакрытьСписок(Кнопка)
ЭтаФорма.Закрыть();
КонецПроцедурыУчебныйЖурнал85.ПроверкаИЧтение
УчебныйОбщийЖурнал85 → Общие → Общие модули → УчебныйЖурнал85
Полный серверный модуль проверки стенда и чтения четырех своих документов; не выполнялся.
Процедура ПроверитьСвойСтенд() Экспорт
Если Метаданные.Справочники.Количество() <> 0 Или Метаданные.Документы.Количество() <> 2 Или Метаданные.Перечисления.Количество() <> 0 Или Метаданные.РегистрыСведений.Количество() <> 0 Или Метаданные.РегистрыНакопления.Количество() <> 0 Или Метаданные.РегистрыБухгалтерии.Количество() <> 0 Или Метаданные.РегистрыРасчета.Количество() <> 0 Или Метаданные.ПланыВидовХарактеристик.Количество() <> 0 Или Метаданные.ПланыВидовРасчета.Количество() <> 0 Или Метаданные.ПланыСчетов.Количество() <> 0 Или Метаданные.ПланыОбмена.Количество() <> 0 Или Метаданные.Последовательности.Количество() <> 0 Или Метаданные.БизнесПроцессы.Количество() <> 0 Или Метаданные.Задачи.Количество() <> 0 Или Метаданные.ОбщиеРеквизиты.Количество() <> 0 Или Метаданные.ПодпискиНаСобытия.Количество() <> 0 Или Метаданные.РегламентныеЗадания.Количество() <> 0 Или Метаданные.ВнешниеИсточникиДанных.Количество() <> 0 Тогда
ВызватьИсключение "Нужен только свой новый пустой учебный стенд";
КонецЕсли;
Если Метаданные.ЖурналыДокументов.Количество() <> 1 Или Метаданные.ЖурналыДокументов[0].Имя <> "УчебныйЖурнал"
Или Метаданные.Документы.Найти("УчебнаяЗаявка") = Неопределено
Или Метаданные.Документы.Найти("УчебнаяОплата") = Неопределено Тогда
ВызватьИсключение "Нужны только два собственных документа и УчебныйЖурнал";
КонецЕсли;
Для Каждого Документ Из Метаданные.Документы Цикл
Если Документ.Реквизиты.Количество() <> 1 Или Документ.Реквизиты.Найти("Комментарий") = Неопределено Тогда
ВызватьИсключение "У каждого своего документа только Комментарий";
КонецЕсли;
КонецЦикла;
Если Метаданные.ЕстьИзмененияРасширениямиКонфигурации() Тогда
ВызватьИсключение "Свой сеанс не должен изменяться расширениями";
КонецЕсли;
Источники = Новый Массив;
Источники.Добавить(ИсточникРасширенийКонфигурации.БазаДанных);
Источники.Добавить(ИсточникРасширенийКонфигурации.СеансАктивные);
Источники.Добавить(ИсточникРасширенийКонфигурации.СеансОтключенные);
Для Каждого Источник Из Источники Цикл
Расширения = РасширенияКонфигурации.Получить(, Источник);
Если ТипЗнч(Расширения) <> Тип("Массив") Тогда
ВызватьИсключение "Native список расширений должен иметь тип Массив";
КонецЕсли;
Если Расширения.Количество() <> 0 Тогда
ВызватьИсключение "В своём новом стенде нет расширений базы или сеанса";
КонецЕсли;
КонецЦикла;
Если ТранзакцияАктивна() Тогда
ВызватьИсключение "Чужая или вложенная активная транзакция не допускается";
КонецЕсли;
КонецПроцедуры
Функция ПрочитатьСвойНабор() Экспорт
ПроверитьСвойСтенд();
Ожидания = Новый Соответствие;
Ожидания.Вставить("УчебнаяЗаявка.0001", Новый Структура("Дата,Комментарий", Дата(2026, 9, 1, 0, 0, 0), "Заявка"));
Ожидания.Вставить("УчебнаяОплата.0001", Новый Структура("Дата,Комментарий", Дата(2026, 9, 15, 12, 0, 0), "Оплата"));
Ожидания.Вставить("УчебнаяЗаявка.0002", Новый Структура("Дата,Комментарий", Дата(2026, 9, 30, 23, 59, 59), "Заявка"));
Ожидания.Вставить("УчебнаяОплата.0002", Новый Структура("Дата,Комментарий", Дата(2026, 10, 1, 0, 0, 0), "Оплата"));
Данные = Новый Соответствие;
Для Каждого ИмяДокумента Из СтрРазделить("УчебнаяЗаявка,УчебнаяОплата", ",") Цикл
Менеджер = Документы[ИмяДокумента];
Выборка = Менеджер.Выбрать();
Пока Выборка.Следующий() Цикл
Ключ = Выборка.Ссылка.Метаданные().Имя + "." + Выборка.Номер;
Ожидание = Ожидания.Получить(Ключ);
Если Ожидание = Неопределено Или Данные.Получить(Ключ) <> Неопределено Тогда
ВызватьИсключение "В своей базе неизвестный или повторный документ";
КонецЕсли;
Если Выборка.Дата <> Ожидание.Дата Или Выборка.Комментарий <> Ожидание.Комментарий
Или Выборка.Проведен Или Выборка.ПометкаУдаления Тогда
ВызватьИсключение "Свой документ отличается от подготовки";
КонецЕсли;
Данные.Вставить(Ключ, Выборка.Ссылка);
КонецЦикла;
КонецЦикла;
Если Данные.Количество() <> 4 Тогда
ВызватьИсключение "Нужны ровно четыре собственных непроведенных документа";
КонецЕсли;
Возврат Данные;
КонецФункцииРазбор по шагам
ПолучитьФорму получает обычную форму самого журнала, не форму документа и не обработку. Имя Список реально создано и назначено основным; отказ создания проверяется до работы со свойствами.
Проверяются Форма, закрытое состояние, UUID и собственный владелец. ПодготовитьДоОткрытия дочернего модуля возвращает количество трёх документов сентября; только затем вызывается Открыть.
Количество — снимок контроля собственной неизменяемой подготовки, не постоянный пересчёт изменяемого пользовательского экрана. Новое окно заново получает набор и контроль.
ПовторитьСвоеОкно передаёт те же имя, владельца и ключ своего открытого экземпляра. Проверяем его идентичность; закрытое окно не перенастраивается как чужое.
ПолучитьМакет("Сводка") получает текстовый макет из метаданных журнала. Проверяем ТекстовыйДокумент и точную строку, затем СтрШаблон подставляет число собственного контрольного набора.
Закрываются только экземпляры, сохранённые пультом. Никакой записи документа, удаления, проведения, печати или файла нет.
Как проверить результат
Будущий ручной тест: ОткрытьЖурнал показывает собственную форму, СводкаИзМакета выводит Документов сентября: 3. Это число первоначального контроля, а не текущих строк после ручных отборов.
ПовторитьСвоеОкно не создаёт второе окно. После закрытия ОткрытьЖурнал создаёт новый UUID и заново проверяет подготовку.
В своей копии макета поменяйте %1 на %2: проверка точного шаблона должна отказать до вывода. Закрытие Пульта закрывает только свой журнал; документы не удаляются.
Ожидаемый результат
Подготовлен собственный пульт менеджера журнала и текстовая сводка без печати/файлов. runtimeVerifiedScenarios=0.
На что обратить внимание
Тип макета определяется его подготовкой. Нельзя применять ПолучитьТекст к произвольному ТабличномуДокументу.
Те же параметры могут вернуть уже открытое окно; новый UUID не очищает профиль пользователя и не отменяет платформенное сохранение параметров.
Если включение видов/графы или времена документов неверны, дочерняя проверка отказывает до открытия. Не заменяйте её константой ради успешного сообщения.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.