Имя: Пароль:
1C
1С v8
Розница 2. РМК управляемый режим. При нажатии кнопки наличные
,
0 чувак
 
13.01.21
17:16
После нажатии кнопки должно выйти окно вопроса,а  потом окно оплаты. Но у меня выходить сначала окно оплаты, а потом окно вопроса.

&НаКлиенте
Процедура КартинкаЧО05НаличныеНажатие(Элемент, СтандартнаяОбработка)
    Сообщить("Бууууууууууууууууу");
    //+яяяя130121
    ПроверкаДисконтнойКарты();
    //-яяяя130121
    СтандартнаяОбработка = Ложь;
    ВыполнитьЧО05Наличные()
    
КонецПроцедуры

//+яяяя130121
&НаКлиенте
Процедура ПроверкаДисконтнойКарты();
    ОбработчикОповещения = Новый ОписаниеОповещения("ОповещениеСпроситьОБонуснойКарте", ЭтотОбъект);
    Режим = РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс;
    ПоказатьВопрос(ОбработчикОповещения, "Использовать бонусную карту?",РежимДиалогаВопрос.ДаНет,,КодВозвратаДиалога.Да,"Бонусная карта");
КонецПроцедуры

&НаКлиенте
Процедура ОповещениеСпроситьОБонуснойКарте(РезультатОткрытияФормы, ДополнительныеПараметры) Экспорт
    
    Если НЕ РезультатОткрытияФормы = Неопределено Тогда
        Если НЕ ВРЕГ(РезультатОткрытияФормы) = "ДА" Тогда
            Возврат;
        КонецЕсли;
        Сообщить("Куль!!!!!");
        //ПараметрыЗаполненияЧекаККМ = Новый Структура;
        //
        //Оповещение = Новый ОписаниеОповещения("ОповещениеОткрытьФормуВопросаАннулироватьЧекЗавершение", ЭтотОбъект);
        //НачатьАннулироватьЧекККМ(Оповещение, ТаблицаКассККМОрганизаций[0].КассаККМ, ПараметрыЗаполненияЧекаККМ);
        //
    КонецЕсли;
    
КонецПроцедуры
1 Kuzmich123
 
13.01.21
17:30
Хвастаешься что-ли? От нас-то что надо? Сравни с поставщиком и выясни какой должен быть код.
2 polosov
 
13.01.21
17:34
Так у тебя исполняется ВыполнитьЧО05Наличные(), а потом доходит открытие вопроса (просто задержка открытия формы).
3 чувак
 
13.01.21
17:40
(2) Короче тупа стал использовать модальный окно вопроса, не сталд парится. Сработало
4 polosov
 
13.01.21
17:43
(3) Ну тебе немного надо в ассинхронном программировании попрактиковаться. Если ты показываешь вопрос, то код, который следует за этим, исполняется. Это надо учитывать.
5 чувак
 
13.01.21
17:46
(4) Задача срочная, как нибуд в другой раз попробую ассинхронные методы
6 чувак
 
13.01.21
17:48
(2) А почему ВыполнитьЧО05Наличные() исполняется сначала, хотя в коде он исполняется потом?
7 polosov
 
13.01.21
17:50
(6) Она не исполняется сначала. Исполняется все последовательно. Просто показ вопроса запаздывает.
8 чувак
 
13.01.21
17:51
(7) тайм-аут поставит?
9 polosov
 
13.01.21
17:53
(8) Зачем? Просто перенеси запуск ВыполнитьЧО05Наличные() в ОповещениеСпроситьОБонуснойКарте.
Т.е. после ответа на вопрос у тебя будет исполняться что-то там с наличными.
10 чувак
 
13.01.21
17:54
(9) Ок. Спасибо, попробую
11 polosov
 
13.01.21
18:14
Если НЕ ВРЕГ(РезультатОткрытияФормы) = "ДА" Тогда - зачем такая жестокость?
12 чувак
 
13.01.21
18:18
(11) это не мой код ))
13 чувак
 
13.01.21
18:30
(9) Сделала как ты сказал. Все равно выходить сначала окно оплаты, а потом окно карточки

https://c.radikal.ru/c23/2101/03/36d3af6fd67d.png