Вход | Регистрация



Оповещение о программном закрытии формы

Оповещение о программном закрытии формы
Я
   Sasha_1CK
 
16.10.18 - 12:10
преамбула - релиз БП 3.0.65.80.
Необходимо печатать чек на ККТ  пропуская форму печати чека.

То есть когда нажимаем в ПКО кнопку "ЧЕК" - появляется окно "Печать чека" где можно указать дополнительные параметры чека.

А нужно что бы сразу чек печатался на ККТ.
В принципе передать в форму печать чека параметр "Печатать при открытии" получилось. В процедуре приоткрытии если параметр "ПечататьПриОткрытии" равен Истина, то выполняется команда "Пробить чек". При выполнении этой команды форма закрывается.

Если я выполняю команду "Пробить чек" интерактивно - то в общий модуль мне возвращается оповещение о закрытии с результатом печати и затем выполняется заполнения Номера чека ККМ в ПКО - это штатный режим.

Если я выполняю команду "Пробить чек" при открытии - то чек печатается, но в общий модуль оповещение о закрытии формы не передается, хотя форма закрывается.

Собственно сабж - как оповестить общий модуль о том, что закрылась форма обработки Печать чеков" и передать туда результат закрытия.
 
 
   Tonik992
 
1 - 16.10.18 - 12:35
ВыполнитьОбработкуОповещения() может ?
   Вафель
 
2 - 16.10.18 - 12:36
вызвать процедуру Оповещния о закрытии с нужным параметром
   Cool_Profi
 
3 - 16.10.18 - 12:37
попробуй через обработку ожидания...
   Cyberhawk
 
4 - 16.10.18 - 12:43
Для начала посмотреть, что происходит при интерактиве
Затем повторить это программно
???
Профит
   Sasha_1CK
 
5 - 16.10.18 - 12:53
(1)  в какой процедуре?
(2)  это я и спросил как сделать
(3) Если бы форма вызывалась из формы. Но форма вызывается из общего модуля. (( Я че то не могу сообразить к чему прикрутить в общем модуле какие либо обработчики.

(4)  Это я и спросил как сделать.
Интерактивно оповещение о закрытии формы, прописанное в команде "Открыть форму" - штатно отрабатывает, при программном закрытии формы - нет.

Как сделать что бы общий модуль оповестился о программном закрытии формы?
   Cyberhawk
 
6 - 16.10.18 - 13:07
Подготовь демо-пример и пришли мне
   Sasha_1CK
 
7 - 16.10.18 - 14:25
(6)  Кинул в почту.
Сейчас оповещение о закрытии обработки не срабаывает. Если в обработке закомментить "ПриОткрытии" - и закрыть обработку через команду - в модуле сработает оповещение о закрытии обработки
   Sasha_1CK
 
8 - 16.10.18 - 14:26
(6) Нужно создать новый документ и в форме нажать команду1
   Cyberhawk
 
9 - 16.10.18 - 14:32
Ну все просто - не закрывай форму в методе ПриОткрытии. Подключай там однократый обработчик ожидания.
Выслал цф.
   Sasha_1CK
 
10 - 16.10.18 - 14:46
(9) Спасибо. сейчас попробую
 
 Рекламное место пустует
   Sasha_1CK
 
11 - 16.10.18 - 15:04
(10) М-да. обработчик ожидания возвращает в общий модуль. Но при этом перестал печататься чек - видимо подключение обработчика нарушает какую то последовательность вызова оповещений при печати чека.

пока костыль прикрутил - через параметр сеанса - возвращаю номер чека. Потом видимо просто надо будет написать процедуру прямой печати в обход обработки.
   Cyberhawk
 
12 - 16.10.18 - 16:37
Отладка не помогает что ли?
   Вафель
 
13 - 16.10.18 - 16:38
(5) при открытии формы должно быть подключено описание оповещения о закрытии
   Вафель
 
14 - 16.10.18 - 16:41
там есть процедура
НапечататьОдинЧекЗавершение(РезультатВыполнения, Параметры) Экспорт

   Sasha_1CK
 
15 - 17.10.18 - 00:19
(14) Да, если я открыл форму и мышкой нажал на кнопку "Пробить чек" - я попадаю в процедуру отладчиком. А если я выполняю команду пробить чек в "приОткрытии", то в эту процедуру не попадаю, а попадаю сразу в модули менеджера оборудования.
А если выполняю пробить чек через ПодключитьобработчикОжидания - то в процедуру попадаю, но внутри самой формы чек не печатается.
   Sasha_1CK
 
16 - 17.10.18 - 00:23
(12) Там отладкой не спасешься - нужно как то на бумаге рисовать архитектуру вызовов.

Это время- а его пока нет.((
   Web00001
 
17 - 17.10.18 - 07:33
(16)Берем процедуру которая печатает чек. Смотрим какие параметры она получает. Передаем ей нужный параметр. Готово. Что ты там рисовать то собрался?
   Sasha_1CK
 
18 - 17.10.18 - 10:42
(17) я наверно глупость скажу - но что бы получить параметры для печати чека - надо их сначала собрать потому что они содержат как данные собственно чека, так и данные о оборудовании на котором чек печатается - соотвественно входные данные передаются в "напечатать чек" - а выходные через 100500 общих клиентских модулей и перекрестных оповещений собираются в обработке "Печать чека".  

и как то просто взять и передать параметры в процедуру фискализации чека - почему то не получается.

Точнее раньше получалось, но сейчас из-за того, что печать чеков сделали универсальной для всех банковских и кассовых документов - то надо заново разбираться что откуда и куда. Может для кого то это и просто - я пока ничего простого не заметил.

З.Ы. Я не говорю что этого нельзя сделать - можно, только для этого нужно чуть чуть времени и молчащий телефон.
   Cyberhawk
 
19 - 17.10.18 - 10:51
А ты там кем, что тебе по телефону названивают?
   Sasha_1CK
 
20 - 17.10.18 - 10:56
(19) И швец и жнец и на дуде игрец как известно. В регионах - с разделением труда сильно тяжко. Столько клиентов, что бы содержать первую линию поддержки - просто нет в природе.
   Sasha_1CK
 
21 - 17.10.18 - 10:57
(20) В смысле у меня в городе столько нет в природе.
   Cyberhawk
 
22 - 17.10.18 - 10:57
О, Камчатка? Хорошие места )
   Sasha_1CK
 
23 - 17.10.18 - 10:59
(22) Кто бы спорил - я не буду. Места действительно хорошие.

Но дикие. ))
   Cyberhawk
 
24 - 17.10.18 - 11:00
Потому и привлекательные для пеших туристов
   Cyberhawk
 
25 - 17.10.18 - 11:00
Только что-то там заброски на вертолетах дорогие шибко
   Sasha_1CK
 
26 - 17.10.18 - 11:01
(25) МИшки - штука прожорливая, а расстояния не маленькие.


Список тем форума
Рекламное место пустует  Рекламное место пустует
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс, 1996 г.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует