|
v7: Пакетная печать | ☑ | ||
---|---|---|---|---|
0
SergeyGr
12.11.14
✎
15:25
|
Нужно создать внешнюю печатную форму, которая "выполнит" несколько других ВНЕШНИХ печатных форм.
Подскажите, как это можно сделать ? Спасибо |
|||
1
vicof
12.11.14
✎
15:25
|
циклом
|
|||
2
SergeyGr
12.11.14
✎
15:27
|
Некорректно описал задание - как из внешней печатной формы вызвать на исполнение другие внешние печатные формы ?
|
|||
3
vicof
12.11.14
✎
15:28
|
ПечатьПоДополнительнойКнопке в любом типовом документе на ОФ. А потом отладчик и по ф11 проваливайся и смотри.
|
|||
4
Dmitrith
12.11.14
✎
15:28
|
Через ОткрытьФорму
|
|||
5
SergeyGr
12.11.14
✎
15:30
|
А нет ли среди типовых внешних печ.форм чего-то подобного ?
|
|||
6
Dmitrith
12.11.14
✎
15:30
|
Для пакетной печати документов по нормальному надо внести изменения в процедуры каждого вида документа. и тогда в цикле можно печатать хоть внешние хоть внутренние печатные формы. если это интересно могу код показать
|
|||
7
Duke1C
12.11.14
✎
15:30
|
(0) Все уже украдено до вас... поищи в инете. На ИСе было несколько вариантов обработок групповой печати печатных форм документов.
|
|||
8
SergeyGr
12.11.14
✎
15:32
|
(6) Очень интересно !
(0) Что такое ИС ? :-( |
|||
9
Chameleon1980
12.11.14
✎
15:33
|
ОткрытьФорму
один из параметров это собсно или док или сз с параметрами в котором в том числе и док. |
|||
10
Dmitrith
12.11.14
✎
15:36
|
В приОткрытии() документов глянуть если этот код если нет добавить (не помню он стандартный или нет)
Парам = Форма.Параметр; Если Парам.Получить("Команда") = "ПечатьНаПринтер" Тогда КолЭкз = Макс(Число(Парам.Получить("КолЭкз")),1); НомерФормы = Макс(Число(Парам.Получить("НомерФормы")),1); ПоКнопкеПечать(1,КолЭкз,НомерФормы); СтатусВозврата(0);Возврат; ИначеЕсли Парам.Получить("Команда") = "ПечатьНаЭкран" Тогда КолЭкз = Макс(Число(Парам.Получить("КолЭкз")),1); НомерФормы = Макс(Число(Парам.Получить("НомерФормы")),1); ПоКнопкеПечать(0,1,НомерФормы); СтатусВозврата(0);Возврат; Иначе Сообщить("В форму документа "+Вид()+" передана неверная команда "+Парам.Получить("Команда")+"!","I"); СтатусВозврата(0);Возврат; КонецЕсли; И собственно сама печать: Процедура РаспечататьДок(Д, ВидПечати, КолЭкз, НомерФормы) Спис = СоздатьОбъект("СписокЗначений"); Спис.Установить("Команда",ВидПечати); Спис.Установить("КолЭкз",КолЭкз); Спис.Установить("НомерФормы",НомерФормы); ОткрытьФорму(Д,Спис,1); lib.wait(6); КонецПроцедуры Процедура ПакетнаяПечать() Команда = "ПечатьНаПринтер"; //Команда = "ПечатьНаЭкран"; ТЗ = СоздатьОбъект("ТаблицаЗначений"); ВыгрузитьТабличнуюЧасть(ТЗ,"Док"); ТЗ.ВыбратьСтроки(); Пока ТЗ.ПолучитьСтроку()=1 Цикл Сообщить(""+ТЗ.НомерСтроки+"/"+ТЗ.КоличествоСтрок()); ВидДок = ТЗ.Док.Вид(); Если ВидДок = "Реализация" Тогда РаспечататьДок(ТЗ.Док,Команда,1,11); // Накладная с 1 ШК Иначе РаспечататьДок(ТЗ.Док,Команда,1,8); // Накладная с 1 ШК КонецЕсли; РаспечататьДок(ТЗ.Док,Команда,1,1); // Торг-12 РаспечататьДок(ТЗ.Док,Команда,1,6); // Реестр сертификатов |
|||
11
SergeyGr
12.11.14
✎
15:37
|
Спасибо !!
Буду пробовать ! |
|||
12
Dmitrith
12.11.14
✎
15:45
|
(11) забывать уже начал что к чему. В ПриОткрытии() у тебя уже все это будет, но в каждую печатную форму в процедуру печати я вносил такие изменения (сравни с тем что у тебя. Это ТОРГ-12 из Реализации
Если СразуНаПринтер = 0 Тогда ПечТабл.Опции(0, 0, 0, 0, "ДляРеализации", "ДляРеализации"); Если глПолучитьПолномочие("РазрешитьРедактированиеТаблиц") = 0 Тогда ПечТабл.Защита(1); Иначе ПечТабл.Защита(0); КонецЕсли; ПечТабл.ТолькоПросмотр(1); ПечТабл.Показать(глНазваниеДокументаВжурнале(Контекст),""); Иначе ПечТабл.ПараметрыСтраницы(2,,1,,,,,,,1,,глНайтиПринтерАвтопечати()+"2"); //ПечТабл.ПараметрыСтраницы(2,,1,,,,,,,1,,глНайтиПринтерАвтопечати()+"3"); ПечТабл.КоличествоЭкземпляров(КолЭкз); ПечТабл.Напечатать(0); КонецЕсли; глНайтиПринтерАвтопечати() - возвращало название принтера. В параметрах страницы четко прописано "Портрет" или "Ландшафт". И тут же мы очень изящно вышли из положения варианта печати - односторонняя или двухстронняя. Предположим есть принтер "HP_TZ" функция возвращает его имя он настроен на одностороннюю печать. На компьютере (подразумевается что в терминале) создаем тот же принтер в устройствах, обзываем его "HP_TZ1" - и настраиваем его в лоб на печать с двух строн переплет сверху ну и "HP_TZ2" - переплет сбоку. |
|||
13
Ёпрст
12.11.14
✎
15:48
|
||||
14
Злопчинский
12.11.14
✎
15:49
|
(12) все равно (__о__)
где-то в системе надо заводить таблицу соответствия принтеров форматам печати и размеров бумаги. . Если этого не делать, а базироваться на "вычиляемых" значения что к чему исходя из наименований принтеров - то это должно быть достаточно жестко задокументировано, ибо придет мальчик-пипидастр тебе на смену (или вызовут срочно поправить когда ты в отпуске) - и будет (_____О_____) |
|||
15
Dmitrith
12.11.14
✎
15:51
|
(14) печатные формы на предприятии как правило жестко заданы. Поэтому и написано было все жестко в код - дабы очередной сменившийся оператор по одной кнопке не фиганул на принтер штук 200 листиков с неправильной разметкой
|
|||
16
Злопчинский
12.11.14
✎
15:51
|
Рекомендую (13).
В отличие от кучи пипидастров - штуки от Епрста отличаются работоспособностью и соответствия ожиданиям (по крайней мере моим) |
|||
17
Злопчинский
12.11.14
✎
15:53
|
(15) угу, только если принтер гавкнулся (хорошо если есть такой же в ЗИП - мы у себя стараемся держать по компам 10% зипа, по принтерам - 1 запасной) - купить такой же практически нереально будет, ибо вымирают на рынке быстро.
. на данный момент считаю самым зашибительским HP LJ1300 до сих пор у меня в техотделе стоит как основной мой рабочий принтер |
|||
18
Dmitrith
12.11.14
✎
15:55
|
(17) в торговом зале три принтера стоят. все три настроены на автопечать. 4 оператора. У каждой в параметрах пользователя имя принтера на ктороый они печатают. Т.е. одновременно могут печатать три рейса. Если один из принтеров гавкается то печатают одновременно двое
|
|||
19
Dmitrith
12.11.14
✎
15:55
|
(17) 2 принтера HP 9040 и один 4350
|
|||
20
Злопчинский
12.11.14
✎
16:52
|
(18) я у себя вскорости буду делать автоопределение принтеров и (авто)привязку к пользователю при старте системы. Впоследствии с фиксацией также размеров бумаги/режимов печати
|
|||
21
spectre1978
12.11.14
✎
23:01
|
(17) Хороший принтер и по расходникам недорог, но на данный момент медленноват и дуплекса нет. Более респектую 1320.
|
|||
22
Зеленый Кот
12.11.14
✎
23:23
|
xerox 3220 рулит!
|
|||
23
Злопчинский
13.11.14
✎
00:02
|
(21) ну дык он как рабочий - я на него печатаю редко. стараюсь безбумажные технологии внедрять ;-)
|
|||
24
VladZ
13.11.14
✎
06:17
|
Для тех, кто забыл 7.7. или никогда ее не знал: выполняю работы в 7.7 любой сложности. Контакты в личке.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |