Закажите бесплатный расчет стоимости вашей задачи по 1С!
Перезвоним за 10 минут!

Использование модальных окон в данном режиме запрещено (1С 8.3)

«Использование модальных окон в данном режиме запрещено» — такая ошибка сейчас начинает беспокоить пользователей и программистов 1С с приходом нового интерфейса платформы 1С 8.3 — «такси«.

использование модальных окон запрещено

Разработчики технологической платформы 1С идут в ногу со временем, стандартизируя своё решение под мировые стандарты разработки программного обеспечения. Все стандарты так или иначе сводятся к единому интерфейсу, близкому к веб-страницам.

Модальные и всплывающие (pop-up) окна считаются плохим тоном и уже давно перестали быть нормальным при разработке софта. Пользователи привыкли к работе «в одном окне».

Особенно часто мы видим ошибку модальности у следующих методов 1С:

  • Вопрос;
  • Предупреждение;
  • ОткрытьЗначение.

Разработчики платформы 1С 8 с выходом нового интерфейса «такси» приняли верное решение — попытаться переучить разработчиков прикладных решений на новый лад. Они включили в новую платформу  возможность — «режим использования модальности».

Быстрое исправление проблемы

Если нет времени разбираться и нужно быстро решить задачу, предлагаем простое, но не совсем правильное решение. Для быстрого исправления ошибки достаточно сменить режим модальности в свойствах конфигурации.

Для этого зайдите в систему в режиме конфигуратор, откройте конфигурацию:

открытие конфигуратора

В открытой конфигурации вызовите контекстное меню, нажав на корень конфигурации правой кнопкой, выбрав «Свойства»:

свойства конфигурации

Получите 267 видеоуроков по 1С бесплатно:

Откроются свойства конфигурации, где в подвале есть интересующее нас свойство — «Режим использования модальности», выберите режим «Использовать»:

установка режима модальности

После этого сохраните и примените изменения, нажав клавишу «F7».

Правильное решение задачи

Правильный способ решения этой проблемы — доработать конфигурацию или внешнюю обработку под новые требования.

Предупреждение, вопрос, диалоговые окна и другие модальные окна — всё это необходимо переписывать на новый лад.

Встроенные операторы, которые вызывали модальные окна, необходимо заменить на дублирующие функции.

Например:

При этом появился специализированный объект — ОписаниеОпевещения.

Пример замены:

Строка = "";
ВвестиСтроку(Строка, "Введите строковое значение")
Сообщить("Вы ввели " + Строка);

Необходимо заменить на:

Строка = "";
ОписаниеОповещения = Новый ОписаниеОповещения("ТестовыйВводСтроки", ЭтаФорма);
ПоказатьВводСтроки(ОписаниеОповещения, Строка, "Введите строковое значение");

При этом добавить подобную процедуру на клиенте, которая отработает, когда значение будет введено пользователем:

&НаКлиенте
Процедура ТестовыйВводСтроки(ПолученноеЗначение, ПереданныеПараметры) Экспорт
Сообщить("Вы ввели " + Строка);
КонецПроцедуры

Формы, которые разрабатываются внутри конфигурации, открываются точно так же. Достаточно заменить метод «ОткрытьФормуМодально» на «ОткрытьФорму», прописав описание оповещения и нужную для него новую процедуру.

Чтобы открывающейся формой закрыть доступ к вызываемой форме, достаточно в свойстве формы указать в свойстве «РежимОткрытияОкна» значение «Блокировать окно владельца»:

блокировать окно владельца

Другие статьи по 1С:

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

P.S. Наша компания предоставляет услуги по настройке, доработке и комплексному внедрению 1С. Закажите бесплатный расчет стоимости вашей задачи на странице Услуги 1С или по телефону +7 (499) 350 29 00.

Остались вопросы?

СПРОСИТЕ в комментариях!

Комментариев: 4 на “Использование модальных окон в данном режиме запрещено (1С 8.3)
  1. Процедура «ТестовыйВводСтроки» должна быть экспортируемой

    Ответить

  2. Есть пример как сделать форму открытие модальное через описаниеоповищения? нифига не понятно….

    Ответить

  3. А вот и задача: модальные окна разрешены.
    Но иногда через браузер ругается, что модальные запрещены.
    Ругается везде, кроме FireFox и iExplore.

    Ответить

  4. Ругается
    Процедура ТестовыйВводСтроки(ПолученноеЗначение, ПереданныеПараметры) Экспорт
    Сообщить(«Вы ввели » + Строка);
    Думаю вместо Строка нужно ПолученноеЗначение.

    Ответить

Добавить комментарий: