Как в общем модуле вызвать диалог Вопроса "Да.Нет"

Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1. bogdansirko 14 27.05.10 12:46 Сейчас в теме
Подскажите плиз.
В общем модуле сделал процедуру :

Процедура ДЗР(Отказ,ДокументОбъект,ТекПользователь,ЭтаФорма) Экспорт

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

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

Мне выдает ошибку :

{ОбщийМодуль.ОбщегоНазначения.Модуль(1758,12)}: Переменная не определена (РежимДиалогаВопрос)
Режим = <<?>>РежимДиалогаВопрос.ДаНет;
{ОбщийМодуль.ОбщегоНазначения.Модуль(1760,17)}: Переменная не определена (КодВозвратаДиалога)

Как сделать правильно ???
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. tango 546 27.05.10 13:07 Сейчас в теме
есть такая фича (или баг) платформочги - не все (интерфейсные) служебные метаданные понимаются вне модулей форм.
Сделай функцию с вопросом в мод.формы.
пс: отказ вынеси из условия
3. bogdansirko 14 27.05.10 13:21 Сейчас в теме
в модуле есть функция :

Функция ВопросДаНет(ТекстВопроса) Экспорт

#Если Клиент Тогда

КодВозврата = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Нет);

Возврат (КодВозврата = КодВозвратаДиалога.Да);

#Иначе

Возврат Истина;

#КонецЕсли

КонецФункции // ВопросДаНет()


я в процедуре пишу так :

Если ДокументОбъект.Дата < ДатаЗапрета1 Тогда
ТекстВопроса = "Закрыть документ без сохранения данных";
ВопросДаНет(ТекстВопроса);

Отказ=Истина;
ЭтаФорма.Модифицированность=Ложь;
ЭтаФорма.Закрыть();
КонецЕсли;

Появляєтся диалог вопроса "ДаНет", но подскажите как поставить условие :

Если Ответ = КодВозвратаДиалога.Нет Тогда
Отказ=Истина;
Иначе
Отказ=Истина;
ЭтаФорма.Модифицированность=Ложь;
ЭтаФорма.Закрыть();
КонецЕсли;
4. tango 546 27.05.10 16:25 Сейчас в теме
а поразмыслить чем функция отличается от процедуры?
5. Abadonna 3970 27.05.10 17:03 Сейчас в теме
Ох, Богдан, Богдан ... ;)

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

Показать

P/S А свое условие по дате поверх этого Если кинь
6. bogdansirko 14 27.05.10 18:18 Сейчас в теме
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Вопрос("Закрыть без сохранения?", Режим, 0);
Если Ответ = КодВозвратаДиалога.Да Тогда
Отказ=Истина;
ЭтаФорма.Модифицированность=Ложь;
ЭтаФорма.Закрыть();
Иначе
//а тут ни фига ;)
КонецЕсли;
КонецПроцедуры


Этот код не канает, мне надо код разместить в общем модуле.
7. Abadonna 3970 27.05.10 18:57 Сейчас в теме
(6)
1. Использовать общий модуль с галками, как на картинке
2. В общем модуле
&НаКлиенте
Функция ОтветДаНет(ТекстВопроса) Экспорт
  Режим = РежимДиалогаВопрос.ДаНет;
  Ответ = Вопрос(ТекстВопроса, Режим, 0);
  Возврат Ответ;
КонецФункции

3. В доке
Если ОбщийКлиент.ОтветДаНет("Не сохранять?")=КодВозвратаДиалога.Да Тогда
   Сообщить("Да");
КонецЕсли;
Прикрепленные файлы:
Stanislav1993; bol; +2 Ответить
8. bogdansirko 14 28.05.10 13:06 Сейчас в теме
Все оказалось намного проще :

1. В общем модуле
Функция ВопросДаНет(ТекстВопроса) Экспорт

#Если Клиент Тогда

КодВозврата = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Нет);

Возврат (КодВозврата = КодВозвратаДиалога.Да);

#Иначе

Возврат Истина;

#КонецЕсли

КонецФункции // ВопросДаНет()


Процедура ДЗР(Отказ,ДокументОбъект,ТекПользователь,ЭтаФорма) Экспорт

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



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



Но все равно всем спасибо !!!
PheelSAV; OLDMVN; +2 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот