03.09.2022 Сергей Кулажевский 11767
Модальные окна в 1С

Содержание:

1.     Работа с модальными окнами в 1С

2.     Объект ОписаниеОповещения. Устранение модальности для web клиента в 1С

3.     Сравнение работы кода в режиме с модальностью окон в 1С и без нее  

    

1.     Работа с модальными окнами в 1С

 

Для разбора работы с модальными окнами в 1С требуется понимание того, чем эти окна отличаются от обычных окон в реализации 1С. Модальные окна в 1С - это такой тип окна, вызываемый в среде 1С, который блокирует остальной интерфейс 1С 8. Зачастую под такими окнами выступают диалоговые окна в 1С либо те формы, в которых продолжение работы не является возможным без его закрытия и возврата результата в окно владелица.


Модальные окна в 1С широко применялись в обычных формах в системе 1С 8.2, однако со временем развития платформы и перехода на управляемы формы их механика не подходила для корректной работы в тонком либо web клиенте в 1С. Однако потребность в том, что нужно в какой-то момент останавливать возможность работы пользователя осталась.


По сути, сам администратор 1С 8.3 на конкретном предприятии должен понимать нужно ли ему использовать модальность. Так, например, если в компании ведётся активная доработка системы, при этом не используются актуальные методики написания кода в 1С, а пользователи используют только толстый или тонкий клиент будет достаточно перевести работу режима использования модальности в режим «Использовать». Данную операцию выполнить весьма просто:


1) Нужно открыть конфигуратор в 1С

2) Если мы видим дерево конфигурации, то переходим к пункту 3, в противном случае выбираем меню:



Oткрыть конфигуратор в 1С

 

3) Щелкаем правой кнопкой мыши на голове конфигурации и выбираем пункт «Свойства», либо используем сочетание клавиш alt+enter.



Использование модальности окна в 1С

 

4) Режим использования модальности установить в «Использовать».   

 

2.     Объект ОписаниеОповещения. Устранение модальности для web клиента в 1С

 

Данный механизм поможет лишь в работе тонкого клиента в 1С, а для web клиента в 1С нужно устранить саму модальность в вызове кодом. Для этого нам понадобится тип ОбработкаОповещения в 1С.


ОписаниеОповещения – механизм платформы, который может указать метку в конфигурации, после которой продолжается выполнение кода. В параметрах данного механизма мы указываем обязательно экспортную клиентскую процедуру, которая будет вызвана при вызове. Другими словами, мы навешиваем процедуру на результат какого-либо действия: Открытие формы, предупреждения и т.д. Следует также учитывать, что в данную процедуру мы можем передавать и произвольные данные.  


3.     Сравнение работы кода в режиме с модальностью окон в 1С и без нее


Для более точного понимания сути работы предлагаю сравнить работу кода в режиме с модальностью и без нее.

Допустим нам нужно перезаполнить табличную часть и задать перед этим вопрос об очистке. В обычном режиме код будет выглядеть так:


&НаКлиенте

Процедура ЗаполнитьТоварыУслуги(Команда)

Результат = Вопрос(«Табличная часть услуг будет очищена. Продолжить?”, РежимДиалогаВопрос.ДаНет);

Если Результат = КодВозвратаДиалога.Нет Тогда

Возврат;

ИначеЕсли Результат = КодВозвратаДиалога.Да Тогда

//обработка кода

КонецЕсли;

КонецПроцедуры


В данном режиме произойдет блокирование интерфейса в 1С 8 до тех пор, пока открыто окно вопроса и код далее выполняться не будет. По сути окно открыто модально.

Чтобы уйти от данного режима, нужно использовать ОписаниеОповещения:


&НаКлиенте

Процедура ЗаполнитьТоварыУслуги (Команда)

Оповещение = Новый ОписаниеОповещения(“ЗаполнитьТоварыУслугиВопросЗавершение”, ЭтотОбъект);

ТекстВопроса = “Табличная часть услуг будет очищена. Продолжить?”;

ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет);

КонецПроцедуры

&НаКлиенте

Процедура ЗаполнитьТоварыВопросЗавершение(Результат, ДополнительныеПараметры) Экспорт

Если Результат = КодВозвратаДиалога.Нет Тогда

Возврат;

ИначеЕсли Результат = КодВозвратаДиалога.Нет Тогда

КонецЕсли;

КонецПроцедуры


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


Специалист компании «Кодерлайн»

Сергей Кулажевский

Наши проекты

Компания IBS
Компания IBS

Отрасль:
Системный интегратор

Внедренное типовое решение:
1С:Управление производственным предприятием

- Интеграция систем – АСУП и «1С:Управление производственным предприятием»...

Внедрение 1С:Управление торговлей
ООО «Амперсенд»

Отрасль:
Оптовая торговля

Внедренное типовое решение:
1С:Управление торговлей

- Оформление заказов поставщикам;
- Управление отношениями с поставщиками;...

Автоматизация документооборота в компании ООО "Ликард"
ООО «Ликард» (ОАО ЛУКОЙЛ)

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:Документооборот КОРП

- Отказ от бумажного документооборота, от громоздких систем на базе офисного...

Автоматизация системы учета продаж газа на базе «1С:ERP Управление предприятием 2.0»
ООО «Эйр Продактс Газ»

Отрасль:
Производство промышленных газов

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Расчеты с контрагентами;
- Производственные операции;
- Управление скла...

ООО ХДМ Рус
ООО ХДМ Рус

Отрасль:
Торговля

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

Бухгалтерский учет Банк и касса Расчеты с контрагентами Торговые операции ...

ФГОУ ВПО «Горский государственный аграрный университет»
ФГОУ ВПО «Горский государственный аграрный университет»

Отрасль:
Образование

Внедренное типовое решение:
1С:Колледж ПРОФ

- Управление персоналом и кадровый учет (HRM):
Кадровый учет
Управление об...

Внедрение 1С:Управление торговлей в оптово-розничной компании «Много Плитки»
ООО «Много Плитки»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

Закупки (снабжение) и управление отношениями с поставщиками:
- Оформление ...

Доработка конфигурации Заказчика «1С:Управление строительной организацией»
ЗАО «Стройтрансгаз»

Отрасль:
Проектирование

Внедренное типовое решение:
1С:Управление строительной организацией

Взаиморасчеты с поставщиками;
- Оформление заказов поставщикам;
- Склад ...

ООО «Аэроэкспресс»
ООО «Аэроэкспресс»

Отрасль:

Внедренное типовое решение:
1С:ERP. Управление холдингом

· Планирование закупок · Управление закупочными процедурами, включая 223 ФЗ ...

Внедрение ПП "1С:Управление небольшой фирмой 8 ПРОФ" в ООО «Шокостайл»
ООО «Шокостайл»

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

Управление продажами, логистикой и транспортом (SFM, WMS, TMS):
- Планирование п...

Автоматизация интеграции с информсистемами клиентов на базе «1С:Предприятие 8. WMS Логистика. Управление складом»
ОАО «Фрейт Линк»

Отрасль:
Логистика и грузоперевозки

Внедренное типовое решение:
«1С:Предприятие 8. WMS Логистика. Управление складом»

– Управление складскими запасами;
– Оформление заказов покупателей;
– ...

ООО ХДМ Рус
ООО ХДМ Рус

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

Управление цепочками поставок Оптовая торговля ...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение