Содержание:
2. Изменение настройки использования модального режима окна в конфигураторе
3. Изменение программного кода для открытия модального окна
1. Где можно увидеть текст сообщения о том, что использование модальных окон запрещено и что это значит?
Обычно, текст «Использование модальных окон в данном режиме запрещено» можно увидеть в составе программной ошибки при работе в пользовательском интерфейсе на последних версиях платформы 1С.
1С высокими темпами двигается в WEB. А WEB, в свою очередь, имеет свои ограничения и прикладные моменты, требующие уважения. Так в интернет при работе в браузере назойливая реклама плотно засела во всплывающих окнах. Разработчикам браузеров этот метод работы с пользователями известен, поэтому, в подавляющем большинстве в настройках браузеров всплывающие окна по умолчанию отключены. Помимо этого, часть браузеров вообще не поддерживают всплывающие окна.
Такое ограничение вынуждены учитывать разработчики 1С, ведь при использовании модальных окон мы как раз работаем с всплывающими окнами, которые блокируют весь интерфейс программы, ожидая определенного действия пользователя, когда открывается модальное окно.
И этот факт мог бы легко остаться незамеченным, вызывая некорректную работу 1С в WEB, если бы не забота разработчиков 1С и назидательное напоминание о том, что при разработке программных интерфейсов необходимо учитывать среду использования создаваемых программ.
Начиная с версии 8.3.3.721 (06.09.2013) появилась настройка, доступная через конфигуратор, «Режим использования модальности». По умолчанию значение этой настройки «Не использовать». Подобный шаг информирует разработчиков прикладных решений 1С:Предприятие о том, что не везде программа будет вести себя корректно, и что необходимо обеспечить ее корректное поведение не только для работы в интерфейсе 1С, но и в других местах их потенциального использования для открытия модальных окон.
То есть программная ошибка в данном случае – это предупреждение. А предупреждения всегда оставляют право выбора. Поэтому варианты реагирования на контекст «Использование модальных окон в данном режиме запрещено» могут быть следующими:
1. Если использование прикладного решения планируется исключительно в интерфейсе 1С, то достаточно изменить значение настройки в конфигураторе, чтобы ошибка больше не возникала.
2. Если же использование прикладного решения планируется в WEB интерфейсе, тогда стоит пересмотреть подход к написанию программного кода с учетом обозначенных ранее ограничений браузеров.
2. Изменение настройки использования модального режима окна в конфигураторе
Для того чтобы исключить появление ошибки программы 1С про модальный режим окна, если написанная программа не планируется к использованию в WEB, достаточно установить значение «Использовать» или «Использовать с предупреждениями» у настройки «Режим использования модальности».
Найти эту настройку можно в свойствах конфигурации в разделе «Совместимость» (правая кнопка на «Корне» конфигурации -> Свойства -> Последний раздел свойств.
Путь настройки для разрешения открытия модальных окон
Режим использования модальности - Использовать с предупреждениями
3. Изменение программного кода для открытия модального окна
Есть несколько способов избавления от модальности в разрабатываемой конфигурации. Среди них:
1. Проверка конфигурации -> Логическая проверка -> Расширенная проверка -> Поиск использования модальности (для ручного исправления);
2. Рефакторинг -> Модальные вызовы -> Найти модальные вызовы модуля (проверка одного конкретного модуля для ручного исправления);
3. Конфигурация -> Рефакторинг -> Анализ модальных вызовов конфигурации (проверка всей конфигурации с анализом возможности автоматического исправления).
А само изменение подразумевает замену одних конструкций, использующих модальность на конструкции, не использующие модальность. Далее приведена таблица, в которой обозначены модальные методы и их немодальные аналоги.
Специалист компании «Кодерлайн»
Сергей Пушкин