Имя: Пароль:
1C
1С v8
ПоказатьВопрос() не работает
,
0 s-n-a-y
 
21.11.14
11:03
В модуле формы БП есть такой код

&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
...

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

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

&НаКлиенте
Процедура ПослеЗакрытияВопроса(Результат, Параметры) Экспорт
    
    Если Результат = КодВозвратаДиалога.Да тогда
        УправлениеПечатьюКлиент.ВыполнитьКомандуПечати("Справочник.Контроль"
            , "КонтрольнаяКарточка", Параметры, ЭтотОбъект);
КонецЕсли;

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

После вызова ПоказатьВопрос() он не ждет указанные 60 сек, и вообще не показывает вопрос, а сразу уходит в процедуру ПослеЗакрытияВопроса().
В отладчике показывает Результат = таймаут. Почему?
1 Рэйв
 
21.11.14
11:12
Смотри  что у тебя в процедуре ПоказатьВопрос накалякано...
2 Рэйв
 
21.11.14
11:13
ааа..это ж 8.3 :-)
3 s-n-a-y
 
21.11.14
11:14
(1) ПоказатьВопрос() - стандартный метод, описанный в СП
4 s-n-a-y
 
21.11.14
11:14
(2) да
5 s-n-a-y
 
21.11.14
11:21
у меня аналогичный код работает корректно, если я пишу его в модуле формы справочника, а в модуле формы БП - нет
6 Krabobor
 
21.11.14
11:33
&НаКлиенте
Процедура ПриЗакрытииОплаты
ТекстВопроса = "Распечатать расходную накладную?";
ПоказатьВопрос(Новый ОписаниеОповещения("ПечатьРасходнойНакладнойЗавершение",ЭтотОбъект, МассивНакладных),ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да,);
КонецПроцедуры

&НаКлиенте
Процедура ПечатьРасходнойНакладнойЗавершение(Ответ, ДополнительныеПараметры) Экспорт
    
    Если Ответ = КодВозвратаДиалога.Да Тогда
        //...
        КонецЕсли                                
    
КонецПроцедуры
7 Krabobor
 
21.11.14
11:34
работающий код из типовой
8 lamme
 
21.11.14
11:38
Посмотри - сколько у тебя таймаут приходит после этого вопроса.
Там получается = 0.
т.е. форма вопроса открывается - отрабатывается и по таймауту закрывается.

у меня такая ж дрянь была на внешней обработке табл части.
вроде вопрос есть - а не работает для пользователя.
9 Franchiser
 
гуру
21.11.14
11:43
После показатьвопрос не должно быть кола, программа не останавливается...
10 s-n-a-y
 
21.11.14
11:47
(7) спасибо, я попробовал у себя - та же ситуация
11 s-n-a-y
 
21.11.14
11:50
(8) у у меня таймаут действительно получается 0, хотя я в конструкторе ОписаниеОповещения() пробовал указывать и 60 и 0 и вообще не указывать. Результат одинаковый.
12 s-n-a-y
 
21.11.14
11:52
(9) ты имел в виду не должно быть кода? у меня после ПоказатьВопрос() написано
            КонецЕсли;    
        КонецЕсли;    
    КонецПроцедуры
13 lamme
 
21.11.14
11:58
я не нашел как такое обойти и почему оно закрывается по таймауту=0.
пришлось убирать вопрос из кода и делать без него.
14 lamme
 
21.11.14
11:59
и да. там без разницы сколько ставить таймаут. проскакивает вопрос и все.
15 lamme
 
21.11.14
12:00
есть такое подозрение в твоем случае ...
призакрытии - форма документа еще есть или ее уже нет ?
если поставить этот код в другое место. просто на кнопку на форме. чтобы форма была точно.
сработает или нет ?
16 s-n-a-y
 
21.11.14
12:08
(15) Ты прав! Я в форме БП нажимал записать и закрыть. А сейчас нажал просто записать и вопрос чудесным образом показался! Спасибо огромное!
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс