Когда появилась возможность публиковать 1С в интернете или устанавливать платформу 1С 8.3 на мобильные приложения, возникла проблема с модальными окнами.
Дело в том, что в мобильных приложениях (web интерфейсах) они не открываются вообще, а на настольных компьютерах в браузере они воспринимаются как всплывающие окна, и чаще всего заблокированы пользователем.
Какое-то время фирма 1С боролась с таким положением вещей и даже разработала сложный и ненадежный механизм для модальных окон. Но, например, на iPhone он до сих пор не работает (из источников на сайте 1С).
В связи с этим, фирма 1С решила вообще отказаться от модальных окон. Точнее, пока оставили такую возможность, но и появилась настройка, запрещающая полностью использовать модальность. В 1С 8.3 появилась возможность производить асинхронный вызов модальных окон.
Эту настройку можно найти в свойствах конфигурации.
Заходим в Конфигуратор, нажимаем правой кнопкой мышки на самую первую строчку и выбираем «Свойства». У кого все свойства не уместились на экране, прокручиваем до самого низа:
Получите 267 видеоуроков по 1С бесплатно:
На данный момент существует три режима применения модальных окон:
- Использовать — позволяет использовать модальные окна в полной мере;
- Использовать с предупреждением — так же позволит появиться модальному окну, но выйдет предупреждение, что модальные окна использовать запрещено!;
- Не использовать — полностью исключает использование модальных окон.
Теперь разберемся, как оформить новый функционал программно.
Задаем вопрос в 1С Предприятие 8.3
Начну с того, что нужно будет делать две процедуры. Первая, где задается сам вопрос, вторая, где он обрабатывается.
Я сразу напишу пример, а в комментариях будут пояснения. Так проще и наглядней:
На этом все, приятного программирования!
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Как оповестить одну форму при выполнении действий (событий) на другой управляемой форме.
На управляемой форме где выполняется какое либо действие/событие (к примеру после записи) размещаем вызов “оповестить”
На управляемой форме которая должна среагировать на оповещение вставляем обработчик события “ОбработкаОповещения”
Вызывается при поступлении в форму оповещения, отправленного методом Оповестить() из другой формы
Синтаксис
Предопределенная процедура ОбработкаОповещения() имеет следующий синтаксис:
А также альтернативный англоязычный синтаксис:
Параметры
Описание параметров процедуры ОбработкаОповещения() :
Имя параметра | Тип | Описание |
---|---|---|
ИмяСобытия | Строка | Переданное имя события. Может быть использовано для идентификации сообщений. |
Параметр | Произвольный | Произвольные данные |
Источник | Произвольный | Источник события, например, другая форма или элемент управления. |
Жирным шрифтом выделены обязательные параметры |
Описание
Предопределенная процедура ОбработкаОповещения() вызывается всякий раз при поступлении оповещения, отправленного методом Оповестить() из другой формы. Процедура ОбработкаОповещения() должна располагаться в форме объекта.
Доступность
Толстый клиент, Тонкий клиент, Веб-клиент
Пример использования
Пример кода с использованием процедуры ОбработкаОповещения() :