Как в общем модуле вызвать диалог Вопроса "Да.Нет"
Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
Подскажите плиз.
В общем модуле сделал процедуру :
Процедура ДЗР(Отказ,ДокументОбъект,ТекПользователь,ЭтаФорма) Экспорт
Если ДокументОбъект.Дата < ДатаЗапрета1 Тогда
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Вопрос("Закрыть документ без сохранения данных?", Режим, 0);
Если Ответ = КодВозвратаДиалога.Нет Тогда
Отказ=Истина;
Иначе
Отказ=Истина;
ЭтаФорма.Модифицированность=Ложь;
ЭтаФорма.Закрыть();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Мне выдает ошибку :
{ОбщийМодуль.ОбщегоНазначения.Модуль(1758,12)}: Переменная не определена (РежимДиалогаВопрос)
Режим = <<?>>РежимДиалогаВопрос.ДаНет;
{ОбщийМодуль.ОбщегоНазначения.Модуль(1760,17)}: Переменная не определена (КодВозвратаДиалога)
Как сделать правильно ???
В общем модуле сделал процедуру :
Процедура ДЗР(Отказ,ДокументОбъект,ТекПользователь,ЭтаФорма) Экспорт
Если ДокументОбъект.Дата < ДатаЗапрета1 Тогда
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Вопрос("Закрыть документ без сохранения данных?", Режим, 0);
Если Ответ = КодВозвратаДиалога.Нет Тогда
Отказ=Истина;
Иначе
Отказ=Истина;
ЭтаФорма.Модифицированность=Ложь;
ЭтаФорма.Закрыть();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Мне выдает ошибку :
{ОбщийМодуль.ОбщегоНазначения.Модуль(1758,12)}: Переменная не определена (РежимДиалогаВопрос)
Режим = <<?>>РежимДиалогаВопрос.ДаНет;
{ОбщийМодуль.ОбщегоНазначения.Модуль(1760,17)}: Переменная не определена (КодВозвратаДиалога)
Как сделать правильно ???
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
в модуле есть функция :
Функция ВопросДаНет(ТекстВопроса) Экспорт
#Если Клиент Тогда
КодВозврата = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Нет);
Возврат (КодВозврата = КодВозвратаДиалога.Да);
#Иначе
Возврат Истина;
#КонецЕсли
КонецФункции // ВопросДаНет()
я в процедуре пишу так :
Если ДокументОбъект.Дата < ДатаЗапрета1 Тогда
ТекстВопроса = "Закрыть документ без сохранения данных";
ВопросДаНет(ТекстВопроса);
Отказ=Истина;
ЭтаФорма.Модифицированность=Ложь;
ЭтаФорма.Закрыть();
КонецЕсли;
Появляєтся диалог вопроса "ДаНет", но подскажите как поставить условие :
Если Ответ = КодВозвратаДиалога.Нет Тогда
Отказ=Истина;
Иначе
Отказ=Истина;
ЭтаФорма.Модифицированность=Ложь;
ЭтаФорма.Закрыть();
КонецЕсли;
Функция ВопросДаНет(ТекстВопроса) Экспорт
#Если Клиент Тогда
КодВозврата = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Нет);
Возврат (КодВозврата = КодВозвратаДиалога.Да);
#Иначе
Возврат Истина;
#КонецЕсли
КонецФункции // ВопросДаНет()
я в процедуре пишу так :
Если ДокументОбъект.Дата < ДатаЗапрета1 Тогда
ТекстВопроса = "Закрыть документ без сохранения данных";
ВопросДаНет(ТекстВопроса);
Отказ=Истина;
ЭтаФорма.Модифицированность=Ложь;
ЭтаФорма.Закрыть();
КонецЕсли;
Появляєтся диалог вопроса "ДаНет", но подскажите как поставить условие :
Если Ответ = КодВозвратаДиалога.Нет Тогда
Отказ=Истина;
Иначе
Отказ=Истина;
ЭтаФорма.Модифицированность=Ложь;
ЭтаФорма.Закрыть();
КонецЕсли;
Ох, Богдан, Богдан ... ;)
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Вопрос("Закрыть без сохранения?", Режим, 0);
Если Ответ = КодВозвратаДиалога.Да Тогда
Отказ=Истина;
ЭтаФорма.Модифицированность=Ложь;
ЭтаФорма.Закрыть();
Иначе
//а тут ни фига ;)
КонецЕсли;
КонецПроцедуры
Показать
P/S А свое условие по дате поверх этого Если кинь
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Вопрос("Закрыть без сохранения?", Режим, 0);
Если Ответ = КодВозвратаДиалога.Да Тогда
Отказ=Истина;
ЭтаФорма.Модифицированность=Ложь;
ЭтаФорма.Закрыть();
Иначе
//а тут ни фига ;)
КонецЕсли;
КонецПроцедуры
P/S А свое условие по дате поверх этого Если кинь
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Вопрос("Закрыть без сохранения?", Режим, 0);
Если Ответ = КодВозвратаДиалога.Да Тогда
Отказ=Истина;
ЭтаФорма.Модифицированность=Ложь;
ЭтаФорма.Закрыть();
Иначе
//а тут ни фига ;)
КонецЕсли;
КонецПроцедуры
Этот код не канает, мне надо код разместить в общем модуле.
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Вопрос("Закрыть без сохранения?", Режим, 0);
Если Ответ = КодВозвратаДиалога.Да Тогда
Отказ=Истина;
ЭтаФорма.Модифицированность=Ложь;
ЭтаФорма.Закрыть();
Иначе
//а тут ни фига ;)
КонецЕсли;
КонецПроцедуры
Этот код не канает, мне надо код разместить в общем модуле.
(6)
1. Использовать общий модуль с галками, как на картинке
2. В общем модуле
3. В доке
1. Использовать общий модуль с галками, как на картинке
2. В общем модуле
&НаКлиенте
Функция ОтветДаНет(ТекстВопроса) Экспорт
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Вопрос(ТекстВопроса, Режим, 0);
Возврат Ответ;
КонецФункции
3. В доке
Если ОбщийКлиент.ОтветДаНет("Не сохранять?")=КодВозвратаДиалога.Да Тогда
Сообщить("Да");
КонецЕсли;
Прикрепленные файлы:

Все оказалось намного проще :
1. В общем модуле
Функция ВопросДаНет(ТекстВопроса) Экспорт
#Если Клиент Тогда
КодВозврата = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Нет);
Возврат (КодВозврата = КодВозвратаДиалога.Да);
#Иначе
Возврат Истина;
#КонецЕсли
КонецФункции // ВопросДаНет()
Процедура ДЗР(Отказ,ДокументОбъект,ТекПользователь,ЭтаФорма) Экспорт
Если ДокументОбъект.Дата < ДатаЗапрета1 Тогда
ТекстВопроса = "Закрыть документ без сохранения данных";
Если ВопросДаНет(ТекстВопроса) Тогда
Сообщить("да");
Отказ=Истина;
ЭтаФорма.Модифицированность=Ложь;
ЭтаФорма.Закрыть();
Иначе
сообщить("Нет");
Отказ=Истина;
КонецЕсли;
КонецПроцедуры
Но все равно всем спасибо !!!
1. В общем модуле
Функция ВопросДаНет(ТекстВопроса) Экспорт
#Если Клиент Тогда
КодВозврата = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Нет);
Возврат (КодВозврата = КодВозвратаДиалога.Да);
#Иначе
Возврат Истина;
#КонецЕсли
КонецФункции // ВопросДаНет()
Процедура ДЗР(Отказ,ДокументОбъект,ТекПользователь,ЭтаФорма) Экспорт
Если ДокументОбъект.Дата < ДатаЗапрета1 Тогда
ТекстВопроса = "Закрыть документ без сохранения данных";
Если ВопросДаНет(ТекстВопроса) Тогда
Сообщить("да");
Отказ=Истина;
ЭтаФорма.Модифицированность=Ложь;
ЭтаФорма.Закрыть();
Иначе
сообщить("Нет");
Отказ=Истина;
КонецЕсли;
КонецПроцедуры
Но все равно всем спасибо !!!
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот