Имя: Пароль:
1C
1С v8
Как отловить нажатие кнопки "Печать"?
,
0 ЗлаяЗая
 
19.12.19
12:45
На экран выходит печатная форма или отчет. Потом нажимается кнопка стандартная "Печать" на панели инструментов. И этот момент нужно отловить и совершить некие действия.
Подскажите, пожалуйста, как это сделать?
1 unbred
 
19.12.19
12:47
ты рофлишь?
2 Rapelsina
 
19.12.19
12:55
какие это действия в печати, кроме самой печати надо совершить??
3 ЗлаяЗая
 
19.12.19
12:57
(2) запись в регистр, что печатную форму не просто сформировали, а отправили на принтер.
4 unbred
 
19.12.19
12:58
(3) учёт бумаги ведёте?))
5 1Сергей
 
19.12.19
12:59
(3) дурная затея. Ушло на принтер это не значит что распечаталось
6 SadrArt
 
19.12.19
13:00
(4) + учёт трафика
7 Kigo_Kigo
 
19.12.19
13:00
А как будете отлавливать перед скриншотом?
8 Rapelsina
 
19.12.19
13:01
(3) а если очередь почистили? или зажевало бумагу?
9 ЗлаяЗая
 
19.12.19
13:03
(8) проблемы индейцев шерифа не волнуют. (Даже не знаю, какой смайл ставить).
Директор пожелал именно так.
(5) Никто не мешает отправить еще раз.
Отловить нужно не факт печати, а факт нажатия на кнопку.
10 Rapelsina
 
19.12.19
13:07
(9) а смысл в факте нажатия кнопки?
какую конечную цель преследует директор?
11 ЗлаяЗая
 
19.12.19
13:08
Документ очень большой. Факт отправки на печать означает, что документ проверен и исправлениям не должен подвергаться. Он отдается на подпись клиенту. Когда приходит с подписью, документ проводят.
12 Автосервис
 
19.12.19
13:14
ОбщийМодуль -> УправлениеПечатьюклиент.РаспечататьТабличныеДокументы - здесь смотрели?
13 Kigo_Kigo
 
19.12.19
13:23
(11) какая глупость .....
14 ЗлаяЗая
 
19.12.19
13:36
(13) Приходите рассказать это нашему начальству :))))
(12) поставила точку останова. не останавливается там.
15 Автосервис
 
19.12.19
13:38
(14) Странно. Я проверил, у меня останавливается. может у вас какая-нибудь внешняя ПФ?
16 palsergeich
 
19.12.19
13:39
(14) Запросто, и не таких обламывали.
Но ИМХО надо не стандартную кнопку печати менять на ведро костылей, а переходить в ДО. Документ согласован - все хрен изменишь, даже если захочешь
17 palsergeich
 
19.12.19
13:40
(15) Это если Пёч форма на БСП.
Если она рукоблудная, то не отловить.
18 ЗлаяЗая
 
19.12.19
13:41
(15) встроенная.
Нажимаю кнопку "Печать" в документе, выбираю встроенную печатную форму, нажимаю кнопку с принтером. Все. Молча печатается и все.
19 ЗлаяЗая
 
19.12.19
13:41
(16) куда переходить?
20 SSSSS_AAAAA
 
19.12.19
13:41
(11) А если в только что отправленном на печать/напечатанном документе найдется ошибка? Всё, вешаться и исправлять нельзя?
21 palsergeich
 
19.12.19
13:43
(20) конечно.
22 ЗлаяЗая
 
19.12.19
13:43
(20) а на это будет регламент-кто что и как будет править. пока стоит только вопрос, чтобы после печати документ не менялся.
23 palsergeich
 
19.12.19
13:44
(21) вносишь правки и заново согласуешь.
Допустил ошибку = должен страдать.
24 singlych
 
19.12.19
13:44
Ну-ну. Нажали печать, а в принтере бумага кончилась. Это как считать, совершен факт печати или нет?
25 Uzyf
 
19.12.19
13:44
замер производительности включить и посмотреть по каким модулям лазиет
26 palsergeich
 
19.12.19
13:44
(24) современные принтеры продолжат печать с того места где бумага кончилась
27 ЗлаяЗая
 
19.12.19
13:45
(24) написано же выше- печатай сколько хочешь.
28 palsergeich
 
19.12.19
13:46
(25) (22) если кнопка печать платформенная то подменять ее на свою.
Если БСП то там можно влезть и поправить, как оратор выше сказал - через замер производительности
29 Галахад
 
гуру
19.12.19
13:48
Гм. А по простому?
Если РедЗапрет Тогда
ТабДок.Вывод = ИспользованиеВывода.Запретить;
Иначе
ТабДок.Вывод = ИспользованиеВывода.Разрешить;
КонецЕсли;
30 ЗлаяЗая
 
19.12.19
13:49
(28) нет БСП.
(29) что такое РедЗапрет ? откуда берется?
31 unbred
 
19.12.19
13:49
реквизит "проверен".
если Проверен тогда
ПВВНХ
КонецЕсли;
32 Галахад
 
гуру
19.12.19
13:50
(30) Это надо придумать.
33 Михаил Козлов
 
19.12.19
13:50
Общая форма "ПечатьДокументов"?
34 ЗлаяЗая
 
19.12.19
13:52
(31) а кто задает реквизит "проверен"?
(32) придумали- момент отправки на печать :((
(33) так она тут даже не открывается
35 singlych
 
19.12.19
13:54
(30) ну придется рисовать свою
36 Галахад
 
гуру
19.12.19
13:54
(34) Гм. Я думал примерно так:
1. Вывод печатной формы без возможности печати.
2. Некий реквизит, по которому возможность печать включается.
3. Если реквизит включен - считаем, что документ распечатан.
37 ЗлаяЗая
 
19.12.19
13:54
(35) не смешно :(
38 ЗлаяЗая
 
19.12.19
13:59
(36) так реквизит кто-то должен включать, а кто-то нет.
Есть документ, в нем работает куча народа из разных отделов. Каждый свое заполняет.
Как заполнили- кто-то отправляет на печать. Как только была попытка распечатать- документ должен быть закрыт от изменений.
Печатать можно сколько угодно. Только нужна гарантия, что печатные варианты совпадают с документом в программе.
....
То, что именно его будут править  маловероятно, т.к. он проходит кучу согласований до момента появления.
И если будут изменения, то они пойдут просто следующим корректировочным документом.
39 unbred
 
19.12.19
14:00
придумайте нормальный метод.
например роли задать
назначить ответственного.
тут масса вариантов, и любой будет лучше вашего
40 singlych
 
19.12.19
14:01
(37) Я и не шучу. Стандартная команда не ловится. Либо рисовать свою форму и там свою кнопку печать, либо решать этот вопрос другим способом.
41 Fish
 
19.12.19
14:04
(38) "нужна гарантия, что печатные варианты совпадают с документом в программе." - Кто мешает поправить непосредственно печатную форму, не трогая сам документ?
42 ASU_Diamond
 
19.12.19
14:05
(38) ага, один отдел свою часть сделал и нажал кнопку печати, даже может случайно нажать - всё, бизнес-процесс летит к ...
43 D3O
 
19.12.19
14:08
(0) никак. это кнопка самой платформы и 1С не генерирует никакого события в этот момент для обработки кодом.
как вариант - для данного документа сам факт формирования ПФ приравнивать к печати. до сотрудников это донести, ну еще можно дополнительно обработать нажатие кнопки печать в документе с предупреждением и вопросом - продолжить или отменить.
44 Dmitrii
 
гуру
19.12.19
14:14
(38) Добавьте в документ реквизит. Назовите, например, "Документ согласован и утвержден". Тип булево.
В печатную форму в шапке/в подвале/в колонтитуле добавьте вывод значения это реквизита - "Согласованная версия" или наоборот - "Несогласованная (предварительная) версия".
После того как кто-то установил флажок "Документ согласован и утвержден" и провёл документ, его изменение блокируется. При последующей печати будет в печатной форме выводится, что печатается согласованная версия.

Решение в (0) - дичь и редкостный бред. Если вы не в состоянии объяснить это руководству, это ваша проблема, как специалиста. А не проблема руководства. Они (руководство) профаны и им позволительно иногда рождать абсолютно дебилистические требования.
45 Михаил Козлов
 
19.12.19
14:15
(34) У меня открывается. КА 2.4.
И сидит в ней:
ТабличныеДокументы = ТабличныеДокументыДляПечати();
УправлениеПечатьюКлиент.РаспечататьТабличныеДокументы(ТабличныеДокументы, ОбъектыПечати,
        ТабличныеДокументы.Количество() > 1, ?(НастройкиПечатныхФорм.Количество() > 1, Копий, 1));

Можно ли из этих ТабличныеДокументы, ОбъектыПечати достать сами документы - не знаю.
46 ЗлаяЗая
 
19.12.19
14:16
(43) завтра будем пытаться донести это до начальства. Будем предлагать 2 варианта.
(42) у других отделов для заполнения по 1-2 окошка на весь документ. Им табличная часть, а тем паче печать этого дока, ни в каком виде вообще не нужны.
сложно нажать "случайно" "печать", потом выбрать форму. При условии, что: 1. тебе не надо, 2. по названию форм ты вообще не в курсе- о чем они :))))
Ошибка? Это не ошибка, это системная функция.