gifts2017

Печать договоров в шаблон формата RTF

Опубликовал Дмитрий (bigmal) в раздел Печать - Универсальные печатные формы

Печать договоров в шаблон формата RTF. Без применения внешних компонент и какого-либо дополнительного ПО.

Обработка была написана в довольно непродолжительное время. Из-за категоричной позиции админа в отказе устанавливать MSOffice на сервере (я это тоже поддерживаю), возникла потребность печати договоров в шаблон rtf-файла. Ессно разобрать формат "на коленке" дело весьма продолжительное, следовательно, всё ограничилось необходимым минимумом.

При запуске обработки поверяется наличие папки КаталогИБ()+"\Договоры", где должен лежать файл шаблона договора. Требуемые для заполнения поля в шаблоне имеют вид "DataPoleXX", где ХХ - это номер этого поля. Заполненный договор сохраняется в папке Договоры, причем сохраняется каждый раз после формирования. Имя файла создается по алгоритму: 30 символов наименования контрагента + код контрагента + порядковый номер сохранения. В результате в папке договоров сохраняются все варианты. Более интеллектуальной работы не предполагалось. Имеется склонение должности и ФИО руководителя (функция от стороннего производителя). В функции ПорядокРасчетов() присутствует внутрифирменный нюанс, прошу обратить внимание!!!

На оригинальность не претендует, доработка напильником приветствуется.

 

07.07.2010

Добавлена возможность выбора шаблона для печати. Т.е. в папке "Договоры" можно разместить несколько шаблонов договоров и перед печатью выбирать из них нужный. Имя шаблона должно начинаться со слова "dogovor". Таким образом в список попадут "Dogovor2010.rtf", "Dogovor2009.rtf", "Dogovor_Самый_Новый_июль_2010.rtf" и т.д.

Непосредственно обработка  печати вынесена в отдельный файл обработки - "ПечатьРТФ.ert"

 

 25.09.2011

Довольно часто в процессе редактирования файла RTF в WordPad-е "получаются" куски текста в другой кодировке. Для устранения эффекта надо выделить весь документ (или же нужный участок) и выставить в свойствах шрифта набор символов "Кириллический"

 

ПечатьДоговораРабочая.ert - обработка интерактивной печати, разместить в папке \ExtForms

ПечатьДоговора.ert - обработка внешней печатной формы, разместить в папке \ExtForms\PrnForms\

ПечатьРТФ.ert - непосредственно обработка печати,  разместить в папке \ExtForms\PrnForms\

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

Наименование Файл Версия Размер
Печать договора в формате RTF 71
.rar 41,01Kb
04.12.14
71
.rar 41,01Kb Скачать

См. также

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

Комментарии

1. kalitwa kalitwa (kalitwa) 14.12.09 09:06
у меня пишет- не найдет шаблон договора :-). Хотя я всё сделала как вы написали :-(
2. Дмитрий (bigmal) 14.12.09 10:00
Шаблон договора надо положить в папку \ExtForms\Договоры. Эта папка создается автоматически при первом запуске обработки
3. Дониэла Иванова (Доня) 14.12.09 10:38
А где сам Шаблон то?
Или его надо самим создавать
4. Дониэла Иванова (Доня) 14.12.09 11:06
Ой, увидела Шаблон, прошу прощения, но выдает:
ПокупательНаименование=СокрЛП(Покупатель.ЮрЛицо.ПолнНаименование);
ПЕЧАТЬДОГОВОРАРАБОЧАЯ.ERT(295)}: Поле агрегатного объекта не обнаружено (ЮрЛицо)

А Для Бух.7.7 работает ?
5. Дониэла Иванова (Доня) 14.12.09 11:48
Открывается, к огромному моему сожадению , только в Комплексной 7.7
В 1С Бухгалтерия не открывается :?: .
Вещь конечно очень замечательная :!: . А нельзя ли ее доработать до В 1С Бухгалтерия :?: .
Пока не могу плюсовать :cry:
6. Дмитрий (bigmal) 14.12.09 13:13
Доня, для бухгалтерии придется дорабатывать. Сегодня займусь этим.
7. Дониэла Иванова (Доня) 14.12.09 15:29
Спасибо, жду с нетерпением
8. Эд Хз (Tatar_Ed) 16.12.09 08:29
При первом запуске, у меня не создает папку \Договоры\
у кого работает?
9. Михаил Ифконфиг (Утюг) 16.12.09 09:24
Создает, только не в ExtForms, а в папке ИБ - автор в описании ошибся.
10. Михаил Ифконфиг (Утюг) 16.12.09 09:32
Да, еще автор забыл (не захотел) убрать свои (нетиповые) особенности, в частности,
ТекМагазин=Константа.Магазин; ФлагМагазин=ПустоеЗначение(ТекМагазин);
Доня; +1 Ответить
11. Дмитрий (bigmal) 16.12.09 19:59
Доработал обработку для печати из бухгалтерии и ТиС. Убраны нетиповые особенности (спасибо Утюгу :) ).

Подчеркну, что обработка не претендует на универсальность (этого и не требовалось изначально) и в любом случае необходимо её подгонять под свои требования. Считаю, что главное в ней - это попытка работать с rtf-файлом как шаблоном. Времени вникать в этот формат нет, да в этом и нет особой необходимости. Главное, что сохраняется "девственная" чистота сервера, админ доволен :) :)

з.ы. есть идея вынести в отдельную обработку саму процедуру печати, т.е. сделать её по подобию внешней печатной формы, без визуальной формы.
12. Дониэла Иванова (Доня) 17.12.09 10:24
В Бух.7.7 все работает :D
спасибо!
13. Эд Хз (Tatar_Ed) 17.12.09 11:54
в ТиС работает, но покупателей берет из справочника фирм. Как сделать чтоб брал из справочника контрагентов?
14. Эд Хз (Tatar_Ed) 17.12.09 11:58
еще бы добавить №договора, сквозную нумерацию.
15. Дмитрий (bigmal) 17.12.09 13:24
Изначально задумывалось, что договор заключается между Фирмой и Контрагентом, т.е. Покупатель - Фирма, а продавец Контрагент. Можно и нумерацию сделать, но особой надобности не было. Думается мне, что все эти пожелания можно отнести на "доработку напильником" :)
16. Михаил Ифконфиг (Утюг) 18.12.09 09:50
(13) По всей видимости, у автора крупная розница, поэтому много поставщиков и, соответственно, бОльшая часть договоров именно с поставщиками. Переделать наоборот достаточно несложно, но гораздо интереснее было бы сделать универсальный механизм назначения вида справочников в зависимости от того, с кем заключается договор (поставщик, покупатель). Можно даже использовать разные шаблоны. Вобщем, автору +.
17. Дмитрий (bigmal) 18.12.09 10:57
(16) Да, всё в действительности так и обстоит. Думаю, что скоро я внесу изменения именно в части выбора вида справочника.
18. Эд Хз (Tatar_Ed) 18.12.09 10:58
Кабы уметь работать этим "напильником" :D . Поля покупателя и поставщика не сложно поменять, а как поставить нумерацию?
19. Михаил Ифконфиг (Утюг) 18.12.09 15:14
Ну, начнем с того, что последний использованный номер над хранить. Где: в файле, в базе? В базе - надежней, в файле - проще, не труднее, чем поменять поставщика с покупателем.
20. Дониэла Иванова (Доня) 23.12.09 16:08
(17) <<Думаю, что скоро я внесу изменения именно в части выбора вида справочника>>
видимо еще изменений не было?

21. Дмитрий (bigmal) 24.12.09 05:22
Возникла ситуация, когда при земене поля на другое оно перестало нормально выводиться на печать. Например DataPole04 заменили на DataPole06, а на печать выходит просто текст DataPole06.
Это происходит, когда во время замены меняется язык ввода. Т.е., если посмотреть в получившийся шаблон допустим в Блокноте, то в промежутках между каким-либо символом из DataPole будет присутствовать что-то вроде \lang1033\f2 и т.п. Ищется же в тексте именно сочетание символов DataPole, поэтому нормально такая ситуация и не отрабатывается.
Для решения этой проблемы надо поля копипастить, пробовать переключать раскладки и т.п. А если все-таки ничего не поможет, то можно всё выправить в том же Блокноте. Согласен - есть небольшой геморр, но на данном этапе только так. Полноценный парсер rtf создавать не предпологается вообще.
22. Дмитрий (bigmal) 24.12.09 05:23
(20) Доня, уже бы давно сама сделала. Там делов на 15 минут :) :)
23. Дониэла Иванова (Доня) 25.12.09 16:17
(22) У Вас-то рука набита!
А мне отнюдь, не 15 минут, надо!
Полдня посижу, при условии, если отвлекать не будут. :cry:
24. Эд Хз (Tatar_Ed) 30.12.09 10:17
Всем привет.
Идея набора договора из 1С меня очень заинтересовала и роясь в недрах сети наткнулся на такую обработку. http://www.buh77.ru/dog_post1.htm
Это платная. Может кому пригодится.
25. Светлана (SM_2008) 24.09.10 12:28
Автору- спасибо!!! Очень полезная идея для нас, нам нужны разные варианты договоров для клиентов. Переделаю под свои особенности, думаю добавить в "Заявку покупателя". Еще раз спасибо :)
26. Дмитрий (bigmal) 24.09.10 12:39
27. andre1213 (andre1213) 01.12.10 16:21
Сегодня решил воспользоваться, но почемуто не находит папку Договоры, хотя положил её в каталог ИБ. Бух 7.7
28. Дмитрий (bigmal) 03.12.10 10:00
К бухгалтерии эти обработки не адаптированы, поэтому придется допиливать самому. Именно поэтому папка "Договоры" и не создастся автоматически.
29. andre1213 (andre1213) 07.12.10 08:55
Понятно, спасибо в любом случае. По крайней мере есть точка отправки. Пилю :D
30. Александр Смирнов (stk73) 19.12.10 19:19
А нельзя ли все одним архивом выложить, а то 4 суток скачивать как-то не айс, только за это плюсовать не стану.
31. Ирина Ч (kreat1) 28.03.11 12:58
Неработает:(((

вот что пишет:

ФайлШаблон=Парам.Получить("шаблон");
.....\RAB_BASE\\EXTFORMS\ПЕЧАТЬРТФ.ERT(76)}: Значение не представляет агрегатный объект (Получить)
32. savproga (shakmaev) 28.09.11 12:57
Жать что нильзя сохрянять вместе с картинками в нормальном формате. Все съезжает
33. александр (whtblck) 04.10.11 16:15
доработал напильником под себя, работает
спасибо, авось пригодица
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа