gifts2017

Использование шаблонов Word для заполнения типовых договоров.

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

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

Вообще у нас организовано так: программист заведует параметрами, а шаблоны это дело пользователей - так что я вообще не касаюсь составления шаблона.
Принцип работы основан на использовании совместной работы 1С Предприятие и Microsoft Word.
Тестировалась и работает с Microsoft Word 2003.

  Для начала работы с системой, необходимо определить, какие параметры необходимы для замены в шаблонах и создать функции получения этих параметров в справочнике «Параметры».

При необходимости создания таблиц в шаблоне используется метод Word преобразования текста в таблицу при этом признак новой ячейки "ТАБ", количество колонок задается при создании параметра (НО почему-то 2 колонки, по крайней мере мой Word, выводит в одну строку.) пример в конфигурации Параметр: "<ТаблицаНадбавок>"


    После создания необходимых параметров для замены необходимо создать непосредственно шаблон в справочнике «Шаблоны договоров» возможные параметры для замены находятся на правой панели формы элемента.
    Для создания и заполнения шаблона необходимо открыть Справочник «Сотрудники организаций» и нажать кнопку «Создать договор из шаблона» при этом откроется форма Справочника «Внешние кадровые элементы», который подчинен сотруднику.


При нажатии на кнопку «+ файл» можно добавить произвольный файл (например фото, резюме, и т.д.).

При нажатии на кнопку «+ из шаблона» происходит раскрытие шаблона из справочника, вычисление и замена всех параметров в шаблоне.

При закрытии Word'a происходит запись файла договора в базу данных, при выборе строки из ТЧ происходит просто открытие файла, без заполнения параметров т.е. все внесенные вручную изменения в созданном из шаблона документе сохраняются.

Для демонстрации возможностей разработки выбран справочник «Сотрудники организаций» так как трудовой договор с сотрудником является одним из самых часто редактируемых документов (по крайней мере, в нашей организации). Также можно использовать для создания договоров и деловой переписки с клиентами в отдельных документах.

30.08.2010
ДОРАБОТАНО:

  1. При попытке вставить строку с длинной более 255 символов вываливалось в исключение.  Создано разложение строки на подстроки в 255 символов и их последующий вывод в шаблон
  2. Встроен параметр: "ОтказПреобразования" для отказа вывода таблицы при установленном в Истина преобразование в таблицу не происходит, выводит только текст.

Добавлено:

  1. Использование контекстной подсказки при вводе текста процедуры вычисления параметра
  2. СОЗДАНИЕ ТАБЛИЦ

ВНИМАНИЕ: подробное описание работы находится во встроенной справке.

Огромное спасибо разработчику контекстной подсказки: http://infostart.ru/public/14700/ прошу не забыть при плюсовании

И еще одно: Embarassed

В функционале существуют еще несколько возможностей - поищите в тексте модуля приложения и поймете, где и что еще есть Laughing правда придется немного поработать своей головушкой, но я думаю что вас это не смутитWink

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

Наименование Файл Версия Размер
файл выгрузки базы 1383
.dt 1,91Mb
01.10.10
1383
.dt 1,91Mb Скачать

См. также

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

Комментарии

1. Иван Копытов (kivas) 08.07.09 00:27
Прошу писать свои отзывы и предложения.
E_Johnny; Арчибальд; shavminator; +3 Ответить
2. Иван Копытов (kivas) 08.07.09 09:05
народ, не вижу отзывов >:o
3. Александр Рытов (Арчибальд) 08.07.09 09:12
В качестве отзыва: внятное описание, информативные скриншоты, наличие хелпа - просто душа отдыхает после предыдущего потока мусора. +2
4. Иван Копытов (kivas) 08.07.09 09:16
(3)описание существовало и раньше, только в содержание забыл включить

вопрос всем:
Так всеже комунибудь такая подсистема нужна?
5. dushelov (Душелов) 08.07.09 09:58
6. Иван Копытов (kivas) 08.07.09 10:47
К стати процедура кнопки справочника сотрудников у меня вынесена во внешнюю печатную форму так что можно обойтись без изменения типового справочника.
7. Иван Копытов (kivas) 08.07.09 10:51
К стати ктонибудь тестировал на версиях офиса отличных от 2003?
напишите отзывы
9. Олег Каратаев (Kyrales) 08.07.09 11:08
Есть вопрос. Допустим у меня будет задан параметр <ТекстПисьма> . Данные возьмуться из заполненного реквизита и сформируется в вордовском документе. А смогу ли я сохранить изменения сделанные в ворде опять в реквизите 1С?
10. Иван Копытов (kivas) 08.07.09 11:16
в моем примере в скриншоте " результат работы" не задан параметр :
<Должность.Наименование должности> он так и выйдет в заполненом шаблоне.
11. Иван Копытов (kivas) 08.07.09 11:19
>> А смогу ли я сохранить изменения сделанные в ворде опять в реквизите 1С?
пока нет, если честно, я даже не представляю как это реализовать в подобном решении.
тут испольшуется замена строк в тексте, а не использование параметров Word-а.
хотя все возможно, если кто имеет идеи по этому вопросу прошу сообщить
12. Олег Каратаев (Kyrales) 08.07.09 11:21
(11) У меня типо твоей штуки тоже реализовано. Этот вопрос довольно интересный и покамест я тоже способов не вижу. Только юзать 8.2 :)
13. Иван Копытов (kivas) 08.07.09 14:44
Еще один нюанс:
в конфигурацию заложена возможность использования листов excel-я как шаблона.
вот оттуда вполне можно вносить данные в 1С при изменении значений параметров.
14. Максим Богословский (ulen) 08.07.09 22:07
(4)Мне нужна но для формирования договоров контрагентов которые арендуют места на рынке... юристы часто перебивают текст договоров
15. Иван Копытов (kivas) 08.07.09 22:37
(14) ну так вперед
делаешь или справочники, или докумены, и включаешь в них мою табличную часть (с процедурами) и наслаждаешься работой своих юзеров в новой подсистеме и все довольны.
Более того у меня нет привязки к каким либо объектам поэтому подсистему можно использовать в любом виде.
если что пиши на аську.
16. Иван Копытов (kivas) 08.07.09 22:51
в продолжение (15) у меня эта подсистема какраз используется договорным отделом именно по причине в (14)
17. Den Den (RandomDV) 08.07.09 23:51
Не думал добавить функционал по хранению "готовых" файлов не в БД, а просто в файловой системе, типа "C:\ВсеВнешниеФайлы\[ГИД_Сотрудника]\файлы.*
А то база может вспухнуть+возможно, в случае файлов, доступ будет быстрее...
18. Андрей Иванов (Best_Raven) 09.07.09 05:41
19. Alex (alexek) 09.07.09 07:40
Классная штука, пригодится +1
20. Иван Копытов (kivas) 09.07.09 08:15
(17)
во-первых - при сохранении в базу файлы архивируются, так что база конечно пухнуть будет но понемногу.
во-вторых - ИМХО поиск и разархивирование в файловой системе компа займет большее время чем распаковка 1С-кой хотя я не проверял
21. Оболтус (Оболтус) 09.07.09 09:05
22. Иван Копытов (kivas) 09.07.09 09:24
не проверял.
там используется "Execute" (замена) если 2007 это поддерживает, то должно сработать.
23. Максим Богословский (ulen) 09.07.09 20:51
(15)
Спасибо )
Скачал, обязательно попробую, на следующей неделе, а то ща времени нетути... ((
24. Олег Каратаев (Kyrales) 10.07.09 16:23
25. Buxxter (Buxxter) 11.07.09 10:40
Как обстоят дела с таблицами?
26. Иван Копытов (kivas) 12.07.09 00:39
(25)
Если Вы про wordовые таблицы то без проблемм.
для excel есть отдельные процедуры в глобальном модуле.
27. Vladimir_A_K (Vladimir_Konyrev) 13.07.09 03:24
Вопрос-предложение: а нельзя ли сделать данную подсистему внешней обработкой? Например будет открывать что-то вроде "Рабочее место менеджера" в УТ? Спасибо!
28. Иван Копытов (kivas) 13.07.09 10:24
(27) В принципе, у меня процедура указанная в справочнике Сотрудники организаций помещена в внешнюю печатную форму (чтоб не портить стандартный код), так что прикрепить можно куда угодно.
НО при помещении процедур заполнения шаблонов в другие модули (тоесть не в модуль приложения) у меня почемуто не срабатывали некоторые функции. С чем это связано, я не знаю, разбираться времени да и желания не было, так что что есть то есть.
но ничего невозможного нет, если голова из положенного места растет, то можно и внешней обработкой сделать.
Правда есть еще одно НО: вся концепция заключалась в возможности сохранения заполненых шаблонов и пр. файлов в базе данных. поэтому всеравно должен быть какойто объект метаданных, где эта информация должна сохраняться. (у меня эта информация хранится в справочнике Внешние кадровые документы.)
если необходимо к чему либо другому привязать то ничего сложного я не вижу.

в справке Конфигурации подробно описан способ прикрепления подсистемы к любому объекту метаданных.
29. Павел Стариков (xw7x) 14.07.09 08:43
30. sun888 (malikov_pro) 16.07.09 09:06
а такая-же замечательная штука только для OpenOffice есть?
31. Иван Копытов (kivas) 17.07.09 00:15
(30) ну если ваш опенофис поддерживает программне обращение к своим функциям, то переделок максимум на день, вся проблема в том что опенофисов развелось немерено, и для каждого писать программу не вижу смысла.
Кроме того тут описан принцип как можно получать параметры (или любые другие данные) в процессе работы 1С предприятия, а заполнение шаблонов это побочный эфект для наглядности.

ДУМАТЬ НАДО ШИРШЕ А ПОНИМАТЬ ГЛУБЖЕ ;-)
32. Ivon (Ivon) 17.07.09 18:47
А есть возможность вывести таблицу графика платежей, в которой количество платежей динамическое?
33. Иван Копытов (kivas) 22.07.09 13:24
(32) в араметр возвращается только одно значение. и заменяется на подстроку в тексте.
Если настроить передачу параметров word -а то нет ничего невозможного, просто в word будет передаваться таблица значений а word будет строить по нему все что он может.
34. Ivon (Ivon) 24.07.09 17:21
Понятно. Значит не может... У меня есть решение такой проблемы, но оно очень корявое. Но рабочее. Но такое корявое, что сам им пользоваться не хочу, поэтому жду, может кто чего придумает...
35. Павел Колосов (Pavshuk) 27.07.09 06:46
Помогите разобраться в следующей проблеме:
установленная конфигурация создает шаблон в word. При создании регистрируется на событие Документ.close.
При закрытии документа в 1с события не возникает.) На события Application.* регистрируется и работает все нормально. Но это не позволяет конфигурации работать нормально.
Проверял на следующих компьютерах:
Оболочка 1с 8.1.8.76 на всех компьютерах.
- win XP home + office 2000
- win XP home + office 2003
- vista home + office 2007

С чем это может быть связано? Стара версия версия 1С, или что-то другое?
Спасибо.
36. Иван Копытов (kivas) 27.07.09 08:55
(35) этот вариант не рассматривался. действительно при закрытии документа в 1с не происходит ни каких действий.
в будущей редакции я поставлю просто отключение обработчика, так как закрытие word -а, я лично, считаю некорректным.
37. Павел Колосов (Pavshuk) 27.07.09 12:23
(36) Наверное не правильно сформировал вопрос.
Опишу ситуацию:
1.Открываем форму "внешние кадровые документы".
2.Нажимаем клавишу "+шаблон". Открывается word со сформированным документов.
3. Редактируем документ и закрываем его (не закрывая word).

После этого, по моим соображения в табличной части спарвочника "внешние кадровые документы" должна появиться строка хранящая в себе этот документ.
Я так решил, прочитав строку
ДобавитьОбработчик WordДокумент.close, ЗакрытиеДокументаWord;
Так вот после закрытия документа в 1с события не генерируются.

Сначало я подумал, что такого события в мое версии worda(2000) нет. Заменил строку на ДобавитьОбработчик MSWord.OnDocumentChange(уже точно не помню), ЗакрытиеДокументаWord; И программа рабоает, события в 1с генерируються).
Затем я подумал, что такого close-события у документа нет. Тогда я его заменил на случайное, и такое событие регестрировать 1с отказался.


В результате программа у меня генерирует всего один шаблон. Второй шаблон программа не составляет, так как не происходит очищение переменных, описанное в процедуре ЗакрытиеДокументаWord.

38. Иван Копытов (kivas) 28.07.09 09:01
(37) на сколько я знаю сначала формируется документ а затем распечатывается его печатная форма (или я не прав?) так почему же Вы создаете печатную форму, затем меняете документ, и закрываете его? (или я в чем то туплю сутра?)
как я должен отследить что Вы закончили редактирование word -а (ИМХО только при закрытии документа word ведь компьютер, и даже я не телепат) вот при закрытии и происходит:
1) временное сохранение двоичных данных word
2) копирование этих данных в базу,
3) удаление временного файла с винта
4) обнуление внутренних переменных

Если есть другой вариант с радостью рассмотрю его
39. Иван Копытов (kivas) 28.07.09 09:05
если имеется ввиду закрытие документа word без закрытия самой программы word то тогда возникают сложности при определении какой из документов именно закрылся, не создаем ли мы копию уже открытого документа, и т.д.
для уменьшения ошибок при работе подсистемы было принято решение привязаться именно к закрытию программы word? а не к закрытию отдельного листа
40. Павел Колосов (Pavshuk) 28.07.09 09:30
(39) Вот как раз при закрытии приложения никаких действий и не происходит(
Насколько я понимаю, за отслеживание этого события отвечает строка:
ДобавитьОбработчик WordДокумент.close, ЗакрытиеДокументаWord;? Если это так то по каким-то причинам событие WordДокумент.close не отслеживается.
41. Олег Каратаев (Kyrales) 03.08.09 08:09
Возможно ли в формируемый файл Word вставлять нужную мне картинку, как параметры текста?
42. Иван Копытов (kivas) 03.08.09 08:37
(41) в текущей редакции нет.
43. Олег Каратаев (Kyrales) 03.08.09 12:01
(42) да это понятно что у тебя нет. Возможно ли вообще такое?!
44. Антон Лыткин (AntonSirint) 08.09.09 18:28
(43) Из файла точно возможно, посмотри макросы в ворде, там и узнаешь ответ...
45. Олег Каратаев (Kyrales) 09.09.09 05:23
(44) ты наверно сильно умный? Лучше молчать иногда, чем хз строчить
46. Hayk Avanesyan (gagar9) 12.11.09 13:22
а как внедрить 1cv8.efd и куда если можно подробнее скажите пожалуиста avda@yandex.ru
47. Эльвира (eli1984) 03.08.10 08:07
Хорошая вещь. Вот тольо при создании шаблонов иногда говорит что конвертер mswrd632.wpc не удалось запустить, с чем это может быть связано? :o
48. Иван Копытов (kivas) 30.08.10 09:05
(43) возможно добавить картинку, но при условии что она естьб на диске, тоесть надо сначала ее получить, сохранить в нужном месте, и вставить как картинку из файла.
49. Юрий Карнилаев (spryn1) 30.08.10 21:59
Очень крутая обработка. Спасибо!
50. Степан Брачев (bsv2003) 31.08.10 17:01
Простите пожалуйста. А как устанавливать эту обработку? напишите подробнее...
и можно ли ее использовать на 8.2?
- Попытался объединить конфигурации, похоже, что неправильно, т.к. эта конфигурация полностью заменила мою - Бухгалтерия 1.6.
- Возможно ли объединить конфигурации (эту и Бухгалтерия 1.6 Упрощенка? или эта конфигурация только отдельно работает?
51. Андрей Мухин (Muhin555) 07.09.10 22:17
Интересная обработка!!!
При переносе ее в Зарплата и Управление Персоналом, редакция 2.5 (2.5.26.3) заметил следующую вещь:
В справочнике "Шаблоны договоров" добавляю шаблон "Прием на работу в организацию" со сылкой на объект "Прием на работу в организацию", в нем создаю строку с существующим файлом "Образец.doc", тем самым создается строка "Образец" и ставлю галочку "Используется как печатная форма", но в документе "Прием на работу в организацию" кроме стандартных "Форма Т-1" и "Форма Т-1а" форма с именем "Образец" не цепляется... в чем причина? Может что не так сделал или не так понял? И каково назначение галочки "Используется как печатная форма"
Офис стоит 2003....
либо я не совсем понял фразу:
"...а также в реквизит формы элемента «ДокументПроверки» Справочника «ОДР_Шаблоны_Параметры»"
из справки в разделе "Конфигурация"


52. Евгений Черкашин (evg61) 24.09.10 14:02
Здравствуйте! Пытаюсь открыть файл шаблоны.cf - получаю сообщение:
Ошибка при выполнении файловой операции 'E:\Word\!\шаблоны.cf'
по причине:
Неверный формат хранилища данных 'file://E:/Word/!/шаблоны.cf'
Подскажите пожалуйста, в чем может быть причина и как разрешить данную ситуацию?
Спасибо!
53. Евгений Черкашин (evg61) 24.09.10 14:18
Разобрался, извините за беспокойство!
54. Иван Копытов (kivas) 29.09.10 09:46
(51) галочка "Используется как печатная форма" используется как указатель подсистеме о том что выведенный шаблон НЕ предназначен для сохранения в базе данных, а используется только для создания и печати шаблона.
Этот признак был создан еще до широкого использования внешних печатных форм а после их появления я как то на эту тему и не задумывался.

(51) >>либо я не совсем понял фразу:
"...а также в реквизит формы элемента «ДокументПроверки» Справочника «ОДР_Шаблоны_Параметры»"

в справке написано:
"Для добавления других объектов в работу с шаблонами необходимо добавить тип объекта в план видов характеристик «ОДР_ВидыДокументовДляШаблонов», а также в реквизит формы элемента «ДокументПроверки» Справочника «ОДР_Шаблоны_Параметры» после чего добавленный объект может работать с шаблонами "

тоесть для того чтобы, например, добавить возможность работать с подсистемой Объекту конфигурации "Справочники.КонтактныеЛицаКонтрагентов" нужно в 2 местах указать этот объект:
1. в возможных типах плана видов характеристик "ОДР_ВидыДокументовДляШаблонов"
2. в возможных типах реквизита формы элемента «ДокументПроверки» Справочника "ОДР_Шаблоны_Параметры" (на закладке "реквизиты" формы элемента справочника)

55. Иван Копытов (kivas) 29.09.10 09:51
(50) объединять можно с любой имеющейся конфигурацией с приоритетом вашей конфигурации.
на 8.2 переводить пока не пробовал, может у когото есть подобный опыт, то напишите.
>> эта конфигурация только отдельно работает?
Нет она специально создавалась для работы с другими конфигурациями, и без них она вообще бессмыслена.
56. Екатерина Нестерова (nestern) 30.09.10 17:13
57. Евгений Черкашин (evg61) 30.09.10 20:51
Для Nestern
Файл был без расширения, поставил .cf, должно быть - .dt
Далее разворачивается информационная база.
Пользуясь случаем, спасибо автору!

58. Иван Копытов (kivas) 01.10.10 08:04
(57) на сколько я помню выкладывалось с расширением .dt
на всякий случай еще поясню:
выкладывается архив информационной базы, для того чтобы можно было наглядно посмотреть работу подсистемы. иначе, только с конфигурацией, разобраться в работе будет практически не возможно.
после распаковки базы рекомендуется прочитать встроенную справку.
пользуйтесь на здоровье
59. Максим (V_Maksim) 14.10.10 18:19
Автору большое спасибо, разбираюсь, вроде получается....

Файлик точно без расширения, но ручное переименование в .dt решает эту проблему.

на 8.2 переводить пока не пробовал, может у когото есть подобный опыт

На 8.2 запустилась без проблем, сконвертировалась самостоятельно и подцепилась к конфигурации версии 8.2.
60. Дима Гиб (DimDimych) 22.09.11 10:21
Очень удобная вещь спасибо автору
61. d3 r3 (ctulhua) 29.09.11 13:03
62. spryn (spryn) 08.10.11 19:55
Очень классно реализована обработка. Пригодилась.
spr#n; spryn1; +2 Ответить
64. Андрей Гросу (trustgros) 27.11.11 23:24
хорошая обработка. пригодилось, но пришлось "допиливать" т.к. клиент хотел еще вставку произвольных картинок в любом месте шаблона, а также вставку табличных частей в шаблон
65. Юрий Александрович (jirafff) 25.12.11 15:52
простыми макетами такого не сделаешь
66. Андрей Гросу (trustgros) 25.12.11 19:26
(65) jirafff, почему же не сделаешь.. работает ведь ))
67. Олег Чебурин (oleg2010) 31.07.12 21:35
скачал файл, какой то очень странный размером 1 кб.
Создал новую пустую базу, загрузил и ничего.
Может что не так делаю ?
68. Michael Odins (new1c) 06.02.14 17:41
Большое спасибо, очень нужно было создание таблиц, а ваш пример как раз то что нужно!
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа