03.09.2022 Сергей Кулажевский 11948
Модальные окна в 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С:Бухгалтерия 8 ПРОФ" в ООО «Союз Три» (Кондитерский дом Renardi)
ООО «Союз Три»

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

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

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

Московский филиал ООО «Авиакомпания «Икар»
Московский филиал ООО «Авиакомпания «Икар»

Отрасль:
Авиаперевозки

Внедренное типовое решение:
1С:Зарплата и управление персоналом

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

Внедрение ПП "1С:Управление небольшой фирмой 8 ПРОФ" в
ИП Любо Виктория Александровна (ООО «Рекреация»)

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

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

Осуществлены разработки:
– отчета по спецификации Заказа;
– загрузки сп...

ООО "ТК "Сытый Дом-НН"
ООО "ТК "Сытый Дом-НН"

Отрасль:
Торговля, склад, логистика, транспорт

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

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

Московский филиал ООО «Авиакомпания «Икар»
Московский филиал ООО «Авиакомпания «Икар»

Отрасль:
Авиаперевозки

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

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

Внедрение блока бухгалтерского учета «1С:Управление производственным предприятием»
ОАО «Издательство «Просвещение»

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

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

Бухгалтерский учет:
- Завершение периода;
- Регламентированная отчетнос...

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

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

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

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

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

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

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

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

ООО «Еврорадиаторы»
ООО «Еврорадиаторы»

Отрасль:
1С:ERP 2.4

Внедренное типовое решение:

Специалисты «Кодерлайн» помогли перенести базу из текущей системы «1С:ERP 2.2» ...

ООО «Мир Аксиомы»
ООО «Мир Аксиомы»

Отрасль:
Аудиторские и консалтинговые услуги

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

- Бухгалтерский учет:
Банк и касса
Завершение периода
Нематериальные ...

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

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

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

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

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

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

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

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

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

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

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

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