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

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

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

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

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

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

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

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

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

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

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

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

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

Получите понятные самоучители по 1С бесплатно:

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

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

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

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

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

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

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

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

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

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

Например:

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

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

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

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

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

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

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

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

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

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

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

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

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

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

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

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

    Ответить

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

    Ответить

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

    Ответить

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

    Ответить

  5. а как сделать запрос без модального окна типа «Вы точно уверены, что хотите удалить эту запись?» ? то есть когда требуется подтверждение от пользователя вида Y/N.

    Ответить

  6. Режим модальности считается дурным тоном??? Кто так решил??? По какой логике??? С ума сходят там в 1С.

    Ответить

    • Дурным тоном только у автора является. В 1С же давно с ума сошли и делают интерфейс для веб-приложения не в веб приложении.

      Ответить

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

    Ответить

  8. Что вы ноете? Нормально все.

    Ответить

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

Ваш адрес email не будет опубликован.