Проверяется фактический индикатор результата стандартного отчёта, а не искусственно назначенный режим.
Где и как запускать
Клиентская команда основной управляемой формы собственного отчёта.
Подготовка
В своей учебной конфигурации создайте Отчеты → УчебныеКнигиСКД. У отчёта откройте ОсновнаяСхемаКомпоновкиДанных и сохраните её макетом ОсновнаяСхемаКомпоновкиДанных.
В конструкторе СКД создайте источник Local и набор-запрос Книги. Вставьте приведённый запрос двух константных строк; это не чтение рабочих справочников. Доступные поля Наименование, Количество, Сумма заполните автоматически.
В настройках схемы создайте вариант Подробно: выбраны Наименование, Количество, Сумма; структура — группировка Детальные записи. Второй вариант Кратко: Наименование и Сумма, также Детальные записи. Первым оставьте Подробно; у обоих задайте понятное представление.
Свой управляемый отчёт УчебныеКнигиСКД с типовой основной формой отчёта и основным реквизитом Отчет. На форму выведите Результат в поле табличного документа ПолеРезультата, добавьте собственную команду ПосмотретьСостояниеКниг с данным обработчиком. Штатную команду Сформировать сохраните.
В настройках собственной СКД добавьте доступный пользователю отбор Количество больше 0. Сначала сформируйте отчёт стандартной командой, проверьте индикатор. Затем измените отбор на Количество больше 4, НЕ нажимая Сформировать, и повторите команду диагностики. После формирования проверьте ещё раз.
Режим устанавливает платформа / механизм отчёта. Свойство ДополнительныйРежимОтображения только для чтения. Если ваша форма не управляет актуальностью результата, опыт честно покажет другой режим, а не обещанную надпись. Данные собственного отчёта — две константные строки, не рабочий регистр.
&НаКлиенте
Процедура ПосмотретьСостояниеКниг(Команда)
СостояниеПоля = Элементы.ПолеРезультата.ОтображениеСостояния;
Если СостояниеПоля.ДополнительныйРежимОтображения = ДополнительныйРежимОтображения.Неактуальность Тогда
Сообщить("Фактический дополнительный режим: Неактуальность");
Иначе
Сообщить("Сейчас другой дополнительный режим");
КонецЕсли;
Сообщить("Индикатор видим: " + Строка(СостояниеПоля.Видимость));
Сообщить("Текст индикатора: " + СостояниеПоля.Текст);
КонецПроцедурыРазбор по шагам
Сформируйте собственный отчёт штатным механизмом.
Измените его настройку без повторного формирования.
Прочитайте режим, видимость и текст, затем сравните после формирования.
Как проверить результат
Неактуальность обозначает дополнительное отображение неактуального состояния; НеИспользовать — отсутствие такого дополнительного режима. Это не само состояние выполнения запроса и не доказательство актуальности рабочих данных.
ОтображениеСостояния и его режим не заменяются новыми объектами. Текст / видимость читаются для объяснения фактического результата. BSL и формы при сборке HTML не запускались.
Ожидаемый результат
Есть конкретная последовательность работы своего отчёта и сравнение фактического состояния.
На что обратить внимание
Не присваивайте значение readonly-свойству и не называйте НеИспользовать гарантией успешного формирования.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.