03.09.2022 Сергей Кулажевский 11860
Модальные окна в 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 до тех пор, пока открыто окно вопроса и код далее выполняться не будет. По сути окно открыто модально.

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


&НаКлиенте

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

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

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

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

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

&НаКлиенте

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

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

Возврат;

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

КонецЕсли;

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


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


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

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

Наши проекты

ООО "ЛИКАРД" (Лукойл)
ООО "ЛИКАРД" (Лукойл)

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

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

Делопроизводство
• Учет и контроль исполнения поручений
Учет и хранение...

Филиал ГлавУпДК при МИД России фирма «Инпредкадры»
Филиал ГлавУпДК при МИД России фирма «Инпредкадры»

Отрасль:
Государственное управление

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

- Расчеты с контрагентами;
- Управленческий учет;
- Формирование отраслев...

Автоматизация подсистемы учета взаиморасчетов с агентами и интернет-магазинами на базе «1С:Управление холдингом 8»
ОАО «Фрейт Линк»

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

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

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

Внедрение системы финансового учета БИТ:Финанс
ООО «Алькор и Ко» (Л’Этуаль)

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

Внедренное типовое решение:
БИТ.Финанс

- Финансовый учет;
- Поддержка проекта внедрения МСФО;
- Регламентные рабо...

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

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

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

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

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

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

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

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

ООО "АСТАРМЕДИКА КЛИНИКА МИКРОХИРУРГИИ ГЛАЗА"
ООО "АСТАРМЕДИКА КЛИНИКА МИКРОХИРУРГИИ ГЛАЗА"

Отрасль:
Деятельность больничных организаций

Внедренное типовое решение:
БИТ:Управление медицинским центром 8

- Управление отношениями с клиентами (CRM)
- Делопроизводство
- Ведение но...

МИР ХОББИ
МИР ХОББИ

Отрасль:
Торговля. Интернет магазин

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

Оформление заказов поставщикам
Взаиморасчеты с покупателями
Оформление...

 ЗАО "Инвестгеосервис" -ДО
ЗАО «Инвестгеосервис»

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

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

- Работа с файлами;
- Делопроизводство;
- Процессы движения документов; ...

Фармацевтическое предприятие «Оболенское»
АО «Фармацевтическое предприятие «Оболенское»

Отрасль:
Фармацевтическая промышленность

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

- Адаптации блоков/подсистем планирования продаж, закупок и казначейства. ...

ООО «ЛИГА-ТРАНС»
ООО «ЛИГА-ТРАНС»

Отрасль:
Профессиональные услуги, бытовое обслуживание

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

- Сделано ТЗ по автоматизации учета МСФО: - Разработана карта бюджета доходо...

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

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

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

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

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

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

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

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