gifts2017

Групповая печать документов и сохранение их на диск в любом доступном формате

Опубликовал Арсений Котомин (PORGY3000) в раздел Печать - Пакетная печать

Групповая печать документов и сохранение их на диск в любом доступном формате.
Тестировалось на бухгалтерии 2.0 для 8.2.  Условием было не менять и не снимать с поддержки саму конфигурацию.
Но если кто захочет переделать её для любой конфигурации - минут 10-15 и она будет работать у вас. Самое главное понять принцип её нехитрого функционирования. Данная обработка делалась для сохранения и дальнейшего подписания печатных форм документов из 1с в формате PDF электроной подписью. Обработка сделана на основе стандартной из 1с Бухгалтерии.

Групповая печать документов и сохранение их на диск в любом доступном формате.
Тестировалось на бухгалтерии 2.0 для 8.2.  Условием было не менять и не снимать с поддержки саму конфигурацию.
Но если кто захочет переделать её для любой конфигурации - минут 10-15 и она будет работать у вас. Самое главное понять принцип её нехитрого функционирования. Данная обработка делалась для сохранения и дальнейшего подписания печатных форм документов из 1с в формате PDF электроной подписью. Обработка сделана на основе стандартной из 1с Бухгалтерии.

Все форматы прописаны (mxl pdf xls и т.д.)

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

Наименование Файл Версия Размер
ГрупповаяОбработкаСправочниковИДокументовССохраненимПечатныхФормПоУмолчанию.epf 235
.epf 49,57Kb
02.08.13
235
.epf 49,57Kb Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение
Комментарии
1. Иван Токманцев (1psspam) 31.07.13 12:21
(0), автор, приветствую! А какую именно печатную форму обработка сохраняет? Их же может быть несколько. И печатная форма используется, встроенная в 1С или необходимо иметь внешнюю печатную форму?
2. Арсений Котомин (PORGY3000) 31.07.13 12:31
(1) 1psspam, Сохраняет печатную форму которая у документа по умолчанию. Никаких внешних печатных форм не требуется. Конечно используется встроенная. Но если по умолчанию у документа установлена внешняя то сохраняется она (хотя со внешними я не проверял)
3. Арсений Котомин (PORGY3000) 31.07.13 12:35
Обработка использует некую хитрость (хотя на самом деле все тривиально) для получения из обычной процедуры печати сам табличный документ (Видимо до этого пока никто не догадался, в том числе и я).А получив сформированный табличный документ, мы его можем сохранить в любом формате и делать с ним что угодно. (Отправить по почте, подписать эл. подписью и т.д.)
4. Иван Токманцев (1psspam) 31.07.13 12:52
(3) PORGY3000, раз догадался - держи плюс))) Искренне, Молодец. Качать пока не буду, самому интересно "догадаться" до этого.
5. Арсений Котомин (PORGY3000) 31.07.13 14:16
Я получил неизгладимые впечатления когда догадался как это сделать.
6. Андрей (sttt) 31.07.13 19:00
7. Арсений Котомин (PORGY3000) 31.07.13 20:43
(6) sttt, самое главное результат.
8. Hellgga 01.08.13 15:41
Ваша обработка просто замечательная!
Спасибо.
9. Ольга Ершова (anna140331) 02.08.13 11:55
Выдает такую ошибку
Ошибка при вызове метода контекста (Закрыть): Операция не доступна для не открытой формы
Файл \\tsclient\D\tmp\РеализацияТоваровУслуг\ЭЛС00094 от 2013_04_29_12_00_05.PDF записан.
Соответственно документ реализации не сохраняет. При этом со счетами и счетами-фактурами все в порядке. Помогите пож-та, чтобы это могла значить?
10. Арсений Котомин (PORGY3000) 02.08.13 12:10
(9) anna140331, Попробуйте открыть этот документ вручную и открыть печатную форму по умолчанию на просмотр. Скорее всего она не откроется из-за ошибок в самой конфигурации. Или откроется но с пустым печатным документом.
11. Ольга Ершова (anna140331) 02.08.13 17:06
Вы имеете ввиду открыть сам документ реализации? Открываю. Нажимаю на печать, выходит акт, заполненный полностью, который можно распечатать
12. Арсений Котомин (PORGY3000) 02.08.13 17:13
Конфигурация без изменений ? Печ.форма документа Реализации по умолчанию внутренняя или внешняя ?
13. Арсений Котомин (PORGY3000) 02.08.13 17:14
(11) anna140331, в предыдушем посте вы написали что \\tsclient\D\tmp\РеализацияТоваровУслуг\ЭЛС00094 от 2013_04_29_12_00_05.PDF записан. Вопрос это файл существует и что внутри него ?
14. Ольга Ершова (anna140331) 02.08.13 18:13
Этот файл существует, но он пустой, в том то и дело. Счет и Счет-фактуру сохраняет, а акт пустой
15. Ольга Ершова (anna140331) 02.08.13 18:19
Конфигурация без изменений. Пробовала в разных базах, результат тот же. Что значит печатная форма внутренняя или внешняя?
16. Александр Зубцов (iov) 04.08.13 01:26
если есть желание "догадаться" то посмотрите как формируется список печатных форм для документа. Этим механизмом можно выбирать формы для печати. Удачи.
17. Hellgga 06.08.13 13:28
Здравствуйте.
Вот бы ещё сделать возможность выбора печатной формы...., как вот здесь:http://infostart.ru/public/95557/
18. Арсений Котомин (PORGY3000) 06.08.13 14:05
(17) Hellgga, я уже связался с автором указанной вами обработки, и он в ближайшее время добавит этот функционал и в свою обработку тоже.
20. Алексей Т. (CratosX) 08.08.13 19:41
Вроде такое есть в функционале БСП
21. Арсений Котомин (PORGY3000) 08.08.13 21:31
(20) CratosX, Опишите что такое БСП , не в курсе...
22. Арсений Котомин (PORGY3000) 08.08.13 21:44
Да погуглил немного и понял что БСП это 1С:Библиотека стандартных подсистем. Да пробел моего 15 летнего образования. Сорри. Ознакомлюсь с этим в ближайшее время. Да но у меня было условие не изменять и не снимать конфу с поддержки ибо обновление 50-60 конфигураций ставит на этом крест. А рисовать все печатные формы в обработке подобно аду. И поддерживать их от релиза к релизу тоже самое - ad. Поэтому появилось это благодаря моим познаниям в Delphi, Turbo Pascal for windows и прочим. И я рад что смог такую задачу решить такими минимальными усилиями с моей стороны.
23. Алексей Т. (CratosX) 09.08.13 10:53
(22) PORGY3000, да молодец, это конечно плюс. Хотя если бы знал о БСП, то проще было бы оттуда выдернуть во внешнюю обработку и вся беда
24. Эмиль Карапетян (amon_ra) 05.10.13 14:13
Обработка подходит для абсолютно любой конфигурации?
25. andrey dyak (dyak84) 17.10.13 14:01
Автор подскажите пожалуйста а как будет работать Ваша обработка в самописной конфигурации. И можно ли добавить новые форматы документов например DOC или другие. зарание спасибо за ответ.
26. Арсений Котомин (PORGY3000) 30.10.13 11:37
Эти форматы уже добавлены. Просто на скриншоте их не видно.
27. Alexandr Климчук (undo) 10.11.13 07:57
Добавка выбора печатной формы для вида документа, актуальная вещь. и вместе с формой указать количество экземпляров документа.
28. Андрей Штоколов (Alfer) 16.01.14 19:00
29. Natalya (dusya2055) 03.04.14 14:10
Очень удобная штука. Спасибо автору!
30. Александр Махнов (alex_makhnov) 06.08.14 15:31
Если по умолчанию у документа стоит внешня печатная форма, то сохраняются пустые файлы.
Легко исправляется.
А в остальном все удобно работает.
Автору спасибо.
31. 111 111 (Indifference) 12.09.14 10:57
(30) alex_makhnov, Подскажите пожалуйста, как можно это исправить?
32. Александр Махнов (alex_makhnov) 12.09.14 22:25
(31) Indifference, в процедуре НапечататьДокументПоУмолчаниюСвоя() заменить
Объект.Печать(СтрокаПоУмолчанию.Имя, 1,Ложь, Ложь);
на
Если ТипЗнч(СтрокаПоУмолчанию.Расшифровка) = Тип("Структура") Тогда

ТабДокумент = УниверсальныеМеханизмы.НапечататьВнешнююФорму(Объект.Ссылка, СтрокаПоУмолчанию.Расшифровка);
УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, ?(ЭтоДокумент, ОбщегоНазначения.СформироватьЗаголовокДокумента(Объект.Ссылка), Строка(Объект)), НепосредственнаяПечать);

Иначе

Объект.Печать(СтрокаПоУмолчанию.Имя, КоличествоЭкземпляров, НаПринтер, НепосредственнаяПечать);

КонецЕсли;

PS Это взято из типовой обработки.
Просто автор слишком "упростил" процедуру...
33. 111 111 (Indifference) 15.09.14 04:09
(32) alex_makhnov, Огромное вам спасибо, все получилось!
34. Александр Махнов (alex_makhnov) 15.09.14 15:48
35. Мария Мария (Uplifted) 18.06.15 12:59
Добрый день! Подскажите, пожалуйста, не работает в КА 8.2 Пишет :
"Произошли ошибки при подготовке печатной формы документа.
Авансовый отчет 00000000003 от 31.01.2014 0:00:00"
Очень очень нужно. Заранее спасибо!
36. Андрей Фоломкин (folo) 07.10.15 15:34
Впечатлил перехват формы печати. Автору почет и уважение.
37. Андрей Кириченко (onsamuy) 13.11.15 13:08
(5) PORGY3000, я тоже получил такие впечатления, когда понял как это сделать. Но мы тут коллективным разумом дошли до этого, а Вы сами, респект!
38. Михаил Цыганцев (Mihalich20) 24.11.15 14:36
Для БГУ адаптировал, но когда пытаюсь сохранить на диск, выдает такую ошибку

{Форма.Форма.Форма(1852)}: Ошибка при вызове метода контекста (Закрыть): Недопустимая операция для неоткрытой формы
Файл D:\1C_Service\Обработки\Для Бюджета\ПлатежноеПоручение\ПлатежноеПоручение\00000512 от 2015_09_22_12_00_13.PDF записан.
39. Дмитрий К (SuhoffGV) 19.01.16 15:06
(38) похожая ошибка в КА. Визуально форма открыта, а метод ФормаПечати.Открыта() выдает Ложь.

Форма печати в КА называется "ПечатьДокументов", но с этим вроде разобрался.

Какие-то файлы формируются но в них ничего нет. В формах на экране все норм.

Судя по всему "криво" отрабатывается получение формы печати. У формы которую создает 1с и формы которую получаем в обработке через разные ключи уникальности. Поэтому и ФормаПечать.Закрыть() срабатывает с ошибкой.

И команда ФормаПечати = ПолучитьОбщуюФорму("ФормаПечати",,ИдентификаторФормы2) получает не открытую форму со сформированным макетом а новую, пустую и неоткрытую форму.
40. Наталья Ожигина (Nathaly) 04.05.16 12:24
Ошибка: {Форма.Форма.Форма(2054)}: Ошибка при вызове метода контекста (Закрыть): Недопустимая операция для неоткрытой формы
Файл C:\Documents and Settings\ojiginana\Рабочий стол\ТребованиеНакладная\СМК00000034 от 2013_08_15_03_00_00.PDF записан.
Требование-накладная СМК00000034 от 15.08.2013 15:00:00
действительно появляется, но обходится легко:
1. Нажимаем Печать с предварительным просмотром
2. Затем Сохранить печатные формы на диск
БОЛЬШОЕ СПАСИБО автору обработки.