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

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

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

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

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

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

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

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

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

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

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

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

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

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

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