РЕКЛАМА

На главную страницу

РЕКЛАМА




Чтобы разместить ссылку на свой сайт с этой страницы воспользуйтесь системой платных ссылок SAPE.


На главную 1с форева.ру
На страницу "Программисту \ Программирование в 1с. Управляемые формы.".

В 1с 8.3 управляемы формы выдать сообщение с вопросом ДА/НЕТ.

Платформа: 8.3
Формы: Управляемые
Конфигурация: любая
Релиз: любой
Страница актуализирована: 06.02.2017


Вопрос да/нет в 8.3.
В управляемых формал 1с-никам пришлось жертвовать простотой реализации в угоду многопоточности и веб технологиям. Из-за того что пожертвовали модальными окнами простой вопрос пользователю с вариантами ответа "Да" и "Нет" настоящая морока.
Итак.
В первой процедуре вам надо сформировать и показать пользователю вопрос.

// Текст в окне
ТекстВопроса = НСтр("ru='Перед заполнением табличная часть будет очищена.|Заполнить?'");
// На какую процедуру перейти после ответа
Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияВопроса", ЭтотОбъект);
// Показать окно с вопросом
ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да);


После ответа пользователя произойдет автоматичесский вызов другой процедуры указанной как Оповещение. В нашем примере это процедура "ПослеЗакрытияВопроса".
Пример такой процедуры:

&НаКлиенте
Процедура ПослеЗакрытияВопроса(Результат, Параметры) Экспорт
  Если Результат = КодВозвратаДиалога.Нет Тогда
  Возврат;
  КонецЕсли;
  //...
КонецПроцедуры


И вроде всё не так плохо, но попробуте вставить это в процедуру "ПередЗаписью". Встает вопрос: Куда передават Оповещение? Придется писать свою функцию для записи (проведения) документа и закрытия(или не закрытия) формы.



Copyright (c) by iKai, 2016