gifts2017

Пакетная печать документов в 1С7.7

Опубликовал Светлана (svet1yachok) в раздел Печать - Пакетная печать

Обработка предназначена для любой конфигурации 1С7.7. Дает возможность распечатывать, не заходя в документы, формы документов, при условии, что для этих документов есть внешние печатные формы в каталоге prnforms  с соответствующими файлами описаний *.efd. Эти внешние обработки печати отличаются от стандартных несколькими строчками.

Встала задача: распечатать счета-фактуры на аванс за квартал массово. ПОлучилась такая вот обработочка для решения этой задачи по любому виду документов. При открытии обработки заполняется список слева со всеми видами документов. В этом списке надо встать на строку с интересующим видом документа. Выбрать необходимый период. Задать все дополнительные условия отбора, если надо: по контрагенту, по комментарию, по проведенности или пометке удаления и прочее. Щелкнуть по кнопке "Отобрать". Заполнится список справа отобранными документами. Надо поставить пометки у тех, которые необходимо распечатать. Также заполнится список имеющихся печатных форм, в котором надо отметить ту, которую хотим печатать. Нажимаем кнопку "Печать" и на экран выведутся нужные документы не в отдельных окнах, а в одном, из которого можно распечатать на принтер.

Примечание: в каталог внешних печатных форм информационной базы кладем 2 файла на каждый вид документа: *.ert и *.efd. Отличие от имеющихся файлов процедурой при открытии:

Процедура ПриОткрытии()
    
    Если ПустоеЗначение(Форма.Параметр) = 0 Тогда       
        Докум      = Форма.Параметр.Получить("Контекст");
        Устройство = Форма.Параметр.Получить("Устройство");
        КолвоКопий = Форма.Параметр.Получить("КоличествоКопий");       
        Если ТипЗначенияСтр(Докум)="СписокЗначений" Тогда
            Таб = СоздатьОбъект("Таблица");
            Для к=1 по Докум.РазмерСписка() Цикл
                Если к>1 Тогда
                    Таб.НоваяСтраница();
                КонецЕсли;
                ТекДок=Докум.ПолучитьЗначение(к);
                Печать(ТекДок, Устройство, КолвоКопий);
            КонецЦикла;
            Таб.Опции(0,0,0,0,"ОпцииПечати","ОкноПечати");    
            Таб.ПараметрыСтраницы(2,,,5,5,5,5,0,0,1);            
            Таб.ТолькоПросмотр(1);        
            Таб.Показать("Печать счета-фактуры","");
        Иначе
            Сообщить("Печать возможна только из групповой обработки!");    
        КонецЕсли;
        Статусвозврата(0);
        Возврат;  
    КонецЕсли;   
КонецПроцедуры // ПриОткрытии()

И в процедуре печати надо убрать строчки инициализации таблицы и отображения таблицы. все остальное также. Прилагается печатная-форма для счетов-фактур 1137. Их надо поместить в папку "\ExtForms\PrnForms" рабочей базы. Есть возможность доработать отсутствующие печатные формы.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Обработка "Пакетная печать документов"
.ert 215,50Kb
10.06.13
60
.ert 215,50Kb 60 Скачать
Печать счета фактуры из обработки
.ert 62,50Kb
10.06.13
21
.ert 62,50Kb 21 Скачать
Файл описания
.efd 0,10Kb
10.06.13
15
.efd 0,10Kb 15 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

2. наталья Измайлова (nata0579) 23.07.13 08:01
У меня не работет ни чего не формирует . файлы помистила в папку, но в окошке список печатных форм ни чего не появилась
3. Александр Рытов (Арчибальд) 23.07.13 08:11
4. наталья Измайлова (nata0579) 23.07.13 08:48
с этим разобралась . А вот хочу распечатать только авансовые с/ф ставлю галочку, но почемуто выходят все с/ф.
5. наталья Измайлова (nata0579) 10.01.14 22:26
все работает большое спасибо . Хочу сделать что бы также печатолись приходные ордера на поступление материалов. но они почемуто не попадает печатная форма
6. Александр Савошин (Ctrl P) 17.01.16 15:14
Все супер, чуть допилил что бы не надо было создавать отдельную печ.форму для пакетной печати. сэкономил мне полвыходного)))
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа