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