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

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

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

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

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

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

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

См. также

Комментарии
1. Иван Токманцев (1psspam) 72 31.07.13 12:21 Сейчас в теме
(0), автор, приветствую! А какую именно печатную форму обработка сохраняет? Их же может быть несколько. И печатная форма используется, встроенная в 1С или необходимо иметь внешнюю печатную форму?
2. Арсений Котомин (PORGY3000) 48 31.07.13 12:31 Сейчас в теме
(1) 1psspam, Сохраняет печатную форму которая у документа по умолчанию. Никаких внешних печатных форм не требуется. Конечно используется встроенная. Но если по умолчанию у документа установлена внешняя то сохраняется она (хотя со внешними я не проверял)
3. Арсений Котомин (PORGY3000) 48 31.07.13 12:35 Сейчас в теме
Обработка использует некую хитрость (хотя на самом деле все тривиально) для получения из обычной процедуры печати сам табличный документ (Видимо до этого пока никто не догадался, в том числе и я).А получив сформированный табличный документ, мы его можем сохранить в любом формате и делать с ним что угодно. (Отправить по почте, подписать эл. подписью и т.д.)
4. Иван Токманцев (1psspam) 72 31.07.13 12:52 Сейчас в теме
(3) PORGY3000, раз догадался - держи плюс))) Искренне, Молодец. Качать пока не буду, самому интересно "догадаться" до этого.
5. Арсений Котомин (PORGY3000) 48 31.07.13 14:16 Сейчас в теме
Я получил неизгладимые впечатления когда догадался как это сделать.
6. Андрей (sttt) 111 31.07.13 19:00 Сейчас в теме
7. Арсений Котомин (PORGY3000) 48 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) 48 02.08.13 12:10 Сейчас в теме
(9) anna140331, Попробуйте открыть этот документ вручную и открыть печатную форму по умолчанию на просмотр. Скорее всего она не откроется из-за ошибок в самой конфигурации. Или откроется но с пустым печатным документом.
11. Ольга Ершова (anna140331) 02.08.13 17:06 Сейчас в теме
Вы имеете ввиду открыть сам документ реализации? Открываю. Нажимаю на печать, выходит акт, заполненный полностью, который можно распечатать
12. Арсений Котомин (PORGY3000) 48 02.08.13 17:13 Сейчас в теме
Конфигурация без изменений ? Печ.форма документа Реализации по умолчанию внутренняя или внешняя ?
13. Арсений Котомин (PORGY3000) 48 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) 359 04.08.13 01:26 Сейчас в теме
если есть желание "догадаться" то посмотрите как формируется список печатных форм для документа. Этим механизмом можно выбирать формы для печати. Удачи.
17. Hellgga 06.08.13 13:28 Сейчас в теме
Здравствуйте.
Вот бы ещё сделать возможность выбора печатной формы...., как вот здесь:http://infostart.ru/public/95557/
18. Арсений Котомин (PORGY3000) 48 06.08.13 14:05 Сейчас в теме
(17) Hellgga, я уже связался с автором указанной вами обработки, и он в ближайшее время добавит этот функционал и в свою обработку тоже.
19. Hellgga 06.08.13 14:33 Сейчас в теме
20. Алексей Т. (CratosX) 95 08.08.13 19:41 Сейчас в теме
Вроде такое есть в функционале БСП
21. Арсений Котомин (PORGY3000) 48 08.08.13 21:31 Сейчас в теме
(20) CratosX, Опишите что такое БСП , не в курсе...
22. Арсений Котомин (PORGY3000) 48 08.08.13 21:44 Сейчас в теме
Да погуглил немного и понял что БСП это 1С:Библиотека стандартных подсистем. Да пробел моего 15 летнего образования. Сорри. Ознакомлюсь с этим в ближайшее время. Да но у меня было условие не изменять и не снимать конфу с поддержки ибо обновление 50-60 конфигураций ставит на этом крест. А рисовать все печатные формы в обработке подобно аду. И поддерживать их от релиза к релизу тоже самое - ad. Поэтому появилось это благодаря моим познаниям в Delphi, Turbo Pascal for windows и прочим. И я рад что смог такую задачу решить такими минимальными усилиями с моей стороны.
23. Алексей Т. (CratosX) 95 09.08.13 10:53 Сейчас в теме
(22) PORGY3000, да молодец, это конечно плюс. Хотя если бы знал о БСП, то проще было бы оттуда выдернуть во внешнюю обработку и вся беда
24. Эмиль Карапетян (amon_ra) 2 05.10.13 14:13 Сейчас в теме
Обработка подходит для абсолютно любой конфигурации?
25. andrey dyak (dyak84) 17.10.13 14:01 Сейчас в теме
Автор подскажите пожалуйста а как будет работать Ваша обработка в самописной конфигурации. И можно ли добавить новые форматы документов например DOC или другие. зарание спасибо за ответ.
26. Арсений Котомин (PORGY3000) 48 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) 21 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) 41 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. Затем Сохранить печатные формы на диск
БОЛЬШОЕ СПАСИБО автору обработки.
41. Александр Панца (Sancho Panza) 11.01.17 13:32 Сейчас в теме
Конфигурация АНР-Аптека, 1С:Предприятие 8.3 (8.3.6.2299):

{Форма.Форма.Форма(147,8)}: Переменная не определена (УниверсальныеМеханизмы)
Если <<?>>УниверсальныеМеханизмы.НапечататьДокументПоУмолчанию(Объект, , НаПринтер, Истина) Тогда
{Форма.Форма.Форма(1947,18)}: Переменная не определена (УниверсальныеМеханизмы)
ДеревоМакетов = <<?>>УниверсальныеМеханизмы.ПолучитьДеревоМакетовПечати(Объект.Ссылка, СтруктураВнутреннихПечатныхФорм);
{Форма.Форма.Форма(1961,23)}: Переменная не определена (ОбщегоНазначения)
ИдентификаторФормы1=<<?>>ОбщегоНазначения.СформироватьЗаголовокДокумента(Объект.Ссылка,Строка(Объект.Ссылка.ВидОперации));
{Форма.Форма.Форма(1964,23)}: Переменная не определена (ОбщегоНазначения)
ИдентификаторФормы2=<<?>>ОбщегоНазначения.СформироватьЗаголовокДокумента(Объект.Ссылка);

Поправте если возможно.