gifts2017

Печатная форма договора контрагента по шаблону Word с выгрузкой в MS Word для УПП, КА, УТ 10.3 и УНФ.

Опубликовал Владимир (ARL) в раздел Печать - Печатные формы документов

Вариант формирования договора в формате MS Word по шаблону Word

Особенности:

1)     Возможность загружать в базу неограниченное количество шаблонов договоров без изменения конфигурации и какой-либо регистрации шаблонов.

2)     Легкое формирование шаблонов договоров.

3)     Склонение наименования должностей и ФИО руководителей, месяца даты договора.

4)     Предварительный просмотр данных, которые обработка будет подставлять в шаблон, с возможностью корректировки перед формированием документа Word  .

Обработку можно использовать как внешнюю обработку, или подключив ее внешней печатной формой к справочнику «Контрагенты»,  документам «Заказ покупателя», «Заказ поставщику», «Счет на оплату покупателю», «Счет на оплату поставщика», «Реализация товаров и услуг», «Поступление товаров и услуг». Прописаны параметры авторегистрации – лишние строки можно удалить.

Обработка возникла как компиляция работ с infostart. За основу взята одна из ранних обработок печати договоров, ссылку на которую не могу привести, по-видимому, она была удалена. Из этой же обработки взят и метод формирования шаблонов.

Обработка ищет определенные наборы символов, заключенные в угловые скобки <> и заменяет их данными из базы 1С. Замена производится только при наличии данных в 1С. Число вхождений одинаковых наборов символов неограниченно. Перечень символов и данных приведен в "Справке по параметрам", которая выводится при нажатии кнопки в верхней командной панели формы обработки и на вкладке «Параметры замены». Данный метод выбран осознанно, в надежде, что он максимально прост и шаблоны могут создавать менеджеры, а не только программист. Надо им только дать распечатанные параметры замены.

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

Склонение взято у  e.kogan отсюда: Склонение ФИО 

Для поиска руководителя контрагента ищется контактное лицо с ролью «Руководитель». Внимание! Колонка «Роль» в табличном поле контактных лиц контрагента по умолчанию скрыта. Роль «Руководитель» следует добавить.  Если контактное лицо с этой ролью найдено – то берется его должность и наименование. Наименование должности, имя и отчество должны быть внесены в базу полностью, без сокращений.

Аналогично находится руководитель организации – по РС  «Ответственные лица организации». ФИО руководителя организации извлекается из регистра сведений «Фамилия, имя, отчество физического лица».

Посмотреть полученные из базы данные для замены можно посмотреть на вкладке «Параметры замены». После внесения изменений можно перечитать данные, нажав на кнопку  «Обновить» командной панели табличного поля. Можно внести изменения в колонку «Заменить», но после любого обновления данных изменения будут утеряны.

Город набирается вручную в форме обработки и запоминается в списке выбора поля ввода. Запоминается 10 последних значений.

Ограничения:

Обработка проверялась только на шаблонах с форматом .DOC.

В УТ обработка проверялась только на  редакции 10.3.

Сохранение файлов сформированных договоров в базе не предусмотрено.

 

Добавлена отдельная аналогичная обработка  для УНФ, выполненная назначаемым отчетом. Т.е. данный отчет подключается через справочник «Дополнительные отчеты и обработки». Выбран именно отчет, т.к. только к этой команде в УНФ могут быть подключены и справочники, и документы. По умолчанию подключаются справочники «Контрагенты» и  «Договоры контрагентов», документы «Приходная накладная», «Расходная накладная», «Заказ покупателя», «Заказ поставщику».  При подключении можно добавить и другие типы документов. Не забудьте выставить публикацию в «Используется». Из документа обработка извлекает сумму документа. Руководителя вычисляем как контактное лицо контрагента с ролью, в описании которой имеется текст «Руководитель».

Обработка для УНФ заменена. Теперь она будет работать с редакцией УНФ 1.6 и с более ранними редакциями.

Для тек, кто скачал обработку ранее и может работать в конфигураторе, при переходе на редакцию УНФ необходимо сделать замены:

в функции ПолучитьДолжностьФиоРуководителяКонтрагента(Контрагент) заменить текст запроса

Было:

Запрос.Текст =
        "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
         |             КонтактныеЛицаРолиКонтактногоЛица.РольКонтактногоЛица.Наименование КАК Должность,
         |             КонтактныеЛицаРолиКонтактногоЛица.Ссылка.Наименование КАК ФИО
         |ИЗ
         |             Справочник.КонтактныеЛица.РолиКонтактногоЛица КАК КонтактныеЛицаРолиКонтактногоЛица
         |ГДЕ
         |             КонтактныеЛицаРолиКонтактногоЛица.Ссылка.Владелец = &Владелец
         |             И КонтактныеЛицаРолиКонтактногоЛица.РольКонтактногоЛица.Описание ПОДОБНО ""%Руководитель%""";

Надо:

"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
         |             КонтактныеЛицаРолиКонтактногоЛица.Роль.Наименование КАК Должность,
         |             КонтактныеЛицаРолиКонтактногоЛица.Ссылка.Наименование КАК ФИО
         |ИЗ
         |             Справочник.КонтактныеЛица.Роли КАК КонтактныеЛицаРолиКонтактногоЛица
         |ГДЕ
         |             КонтактныеЛицаРолиКонтактногоЛица.Ссылка.Владелец = &Владелец
         |             И КонтактныеЛицаРолиКонтактногоЛица.Роль.Описание ПОДОБНО ""%Руководитель%""";

И заменить функцию ЭтоЮрЛицо(Контрагент)

Было

      

 Если Контрагент.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда              
                 Возврат Истина;
        Иначе
                 Возврат Ложь;
        КонецЕсли;      

Надо 

        

Если Контрагент.ВидКонтрагента = Перечисления.ВидыКонтрагентов.ЮридическоеЛицо Тогда
                  Возврат Истина;
        Иначе
                   Возврат Ложь;
        КонецЕсли;

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

Наименование Файл Версия Размер
Обработка для печати договора с покупателем для УПП, УТ10.3, КА 714
.epf 55,51Kb
23.02.13
714
.epf 55,51Kb Скачать
Печать договора с покупателем для УНФ 206
.erf 50,96Kb
20.01.16
206
.erf 50,96Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
0. Владимир (ARL) 05.10.11 12:40
Вариант формирования договора в формате MS Word по шаблону Word


Перейти к публикации

1. Александр Зубцов (iov) 05.10.11 15:07
Вот самая ложка да к самому обеду.... кстати кроме договоров - сразу же сделал карточку контрагента - для печати реквизитов
сразу сделал форму доверенности (для заключения договоров/решения вопросов). Менеджеры сразу сделали себе форму - для формирования претензий по качеству и прочее...
В качестве развития - было бы супер добавить возможность формировать табличные части (как вариант формирование доверенностей или претензий на основании документа - выбрать табличную часть или заполнить ручками)
2. Анатолий (Анатолий50) 05.10.11 17:54
Отличная, нужная обработка. Облизываюсь.
3. Марина Меньшикова (МариМе) 06.10.11 09:58
Просто супер. Спасибо большое. Текст договора изменили под себя. Все прикрепили. Тоже облизываемся.
4. Владимир (ARL) 06.10.11 10:25
(1)Вам повезло с менеджерами. Мне сказали "Что-то непонятно... Может ты сам сделаешь". Надеюсь, что следующую форму сделают сразу, привыкнув к удобству.
Развитие не планируется, реальных задач нет. Да и при циклическом выводе табличных частей простейшими методами создания шаблонов не обойтись, необходимо будет применять методы, аналогичные используемым в библиотеке стандартных процедур (БСП), вмонтированной в новые конфигурации.
5. Александр Зубцов (iov) 06.10.11 10:31
6. Александр Алекс (arktika1) 06.10.11 21:23
Скажите а эта форма самонастраивающийся?
А как её привязывать к договору?
7. Владимир (ARL) 06.10.11 22:29
(6)Не совсем понял вопрос. В форме есть реквизит "Договор контрагента". Выбирается по отбору по контрагенту и организации. При использовании из документа - передаются организация, контрагент и договор из документа. При использовании из справочника КА - форма заполняется контрагентом и основным договором. Про организацию основного договора забыл, сейчас перезалью, будет заполняться, если, конечно, выбран основной договор. В форме все можно перевыбрать вручную.
8. Александр Алекс (arktika1) 06.10.11 23:16
Единственно я не разобрался создание полей (так чтобы Менеджеры действительно сами могли) для заполнения договора данными которых нет в Контрагенте, тоже присутствует .
9. Александр Алекс (arktika1) 06.10.11 23:17
Хорошо бы добавить возможность сохранять печатный фаил в ПДФ фермате
с последующим прикреплением его к контрагенту.
10. Владимир (ARL) 07.10.11 08:29
(8)(9)В шаблоне пишем №<НомерДоговора>. Это "чистый" текст шаблона. Обработка, при заполненном значении замены 123 внесет в конечный файл: №123. Т.е. обработка выполняет действие Wordа "Найти и заменить". Параметры запрограммированы, список их можно распечатать из макета, или распечатать со второй страницы обработки.
PDF сюда никак не годится. После автоматического заполнения договор необходимо проверить, и при необходимости, исправить. Редакторы PDF мало у кого установлены. А сохранение проверенного файла Wordа в PDF проблем не должно вызывать. В PDF следует сразу сохранять и высылать клиентам счета и отчеты.
Сохранение в базе файла договора не предусмотрено, т.к. задачи не ставилось, да и не понятен смысл сохранения. При проверке Налоговой нужно предъявлять подписанные бумажные экземпляры договоров, и храниться они должны в архиве бухгалтерии.
11. Александр Алекс (arktika1) 07.10.11 15:12
Спасибо за ответ, сейчас буду разбираться.
12. Алексей Александрович (AleX3851505) 07.10.11 16:44
13. Сергей П (SerebanSK) 10.10.11 11:24
Интересная вещь, посмотрю как время появится. Я как-то делал редактируемые печатные формы для договоров. Использовал справочник, в котором хранил макеты, и внешнюю печатную форму. Возможности конечно не те что у wordа, но тоже ничего.
14. Александр Медведев (anig99) 10.10.11 22:52
Не то... Думал реально работа с шаблоном и полями... А тут просто найти и заменить. Фигня с т.з. технологии
15. Александр Иванов (dkprim) 11.10.11 18:27
полезная обработка. дешево и сердито :) автору спасибо :)
16. Владимир (ARL) 11.10.11 19:28
(14) Из названия темы ясно, что предложено решение прагматической, рутинной задачи, не более. А зачем решать её сложно, если можно решить просто?
17. Евгений Левченко (MYRZILKA123) 21.10.11 15:14
Спасибо больное за печатную форму она мне сейчас очень пригодилась!
18. Денис (v_den_v) 11.11.11 11:48
(14) anig99, (16) ARL, (1) iov,
вообще есть БСП - и там примеры заполнения шаблонов документов для MS Word и для OpenOffice Writer.
там кстати тоже используется Найти-заменить. конструкции вида {v8 ИмяПременной}
так что великая и ужасная 1С не гнушается этим. - такой подход более понятен пользователям.
и нечуствителен к ошибкам.

у себя делал заполнение шаблона MS Word через поле DOCVARIABLE
и последующем заполнением:

Таб = ПолучитьМакет("Договор");
ворд = Таб.Получить();
ворд.application.visible = истина;
...
ворд.variables.item("контрагент").value	= СокрП(Контрагент.НаименованиеПолное);
...
ворд.Fields.Update();
...Показать Скрыть
19. Александр Зубцов (iov) 11.11.11 11:54
(18) ключевые слова - без изменения конфигурации и одна обработка. БСП - это для более серьезных задач. Так что альтернатива - хорошо, а готовая альтернатива лучше.

P.S. тут принято мерятся письками не в разговоре - а делом, выкладывай своё- сравним у кого больше...
20. Денис (v_den_v) 11.11.11 12:25
(19) iov,
видимо непонятно написал:
anig99 пишет:
А тут просто найти и заменить. Фигня с т.з. технологии

я указал, что

во первых, 1С как и автор, использует этот метод, отметил его достоинства,

во вторых, привел свой пример реализации подхода к заполнению шаблонов.
(кстати свои шаблоны буду переделывать под БСП)
21. Владимир (ARL) 11.11.11 12:28
(18)Стандартный подход БСП подразумевает возможность создания внешних печатных форм с шаблоном WORD и OpenOffice. При этом шаблоны нужно загружать в макеты. В вашем примере шаблон тоже извлекается из макета. Как пользователи - непрограммисты будут это делать? Преимуществом обработки считаю легкое и простое управление шаблонами пользователями, в т.ч. не программистами.
Можно, конечно использовать процедуры БСП, но выигрыш - минимален. По длине кода - будет, скорее всего, проигрыш. Задачи вывода ТЧ не было. Кроме того обработка для УНФ писалась (под заказ) после обработки для конфигураций без БСП.
К слову, всем рекомендую мастер-класс Габеца А. по печатным формам в БСП. Очень качественное преподнесение материала и классная методичка.
22. Денис (v_den_v) 11.11.11 12:37
(21) ARL,
согласен, для продвинутого пользователя (непрограммиста) твоя обработка - отличный вариант, плюсанул.
кстати, если использовать формат шаблона для замены как в БСП,
то готовые шаблоны пользователей, можно будет переносить в будущем, и в конфигурации с использованием БСП.
спасибо за наводку на мастер-класс.
23. Александр Зубцов (iov) 11.11.11 12:37
(20) Я за тоже и говорю - что выкладывай свое. оценим- поспасибкаем - покачаем.
24. Владимир (ARL) 11.11.11 18:27
(22)

v_den_v пишет:
кстати, если использовать формат шаблона для замены как в БСП,
то готовые шаблоны пользователей, можно будет переносить в будущем, и в конфигурации с использованием БСП


Не совсем так. БСП требует еще задание используемых полей в шаблоне и их типов в программе. Так что шаблоны все равно придется дорабатывать.
25. Владимир (ARL) 14.11.11 22:50
(22) Решил разместить внешнюю печатную форму с шаблоном Word для конфигураций с БСП. ВПФ Word. Всё должно стать понятней.
26. Илья Кузнецов (Neksi) 01.12.11 11:51
При работе в УНФ через web-интерфейс следуюшая ошибка
{(141,14)}:Процедура или функция с указанным именем не определена (ПолучитьИмяВременногоФайла)
27. Владимир (ARL) 01.12.11 14:00
(26) Задачи использования через web-интерфейс не было, работать не будет.
28. Игорь (espero2000) 06.12.11 12:48
Как сделать, что бы при открытии обработки для УНФ значение Организация заполнялось по умолчанию - основной организацией?
29. Владимир (ARL) 06.12.11 14:39
(28) Для УНФ обработка выполнена в виде подключаемого отчета, при этом организация заполняется по документу, либо по организации из основного договора контрагента из справочника "Контрагенты", либо по организации договора из справочника "Договоры контрагентов". Другое заполнение нелогично, но если очень хочется - то тут два варианта: если заполнять основной организацией только в том случае, когда организация не вытянется из других объектов - тогда создать процедуру "ПриСозданииНаСервере" и в неё вставить Объект.Организация = Справочники.Организации.ОсновнаяОрганизация;
Если создавать жестко, то в простейшем случае в процедуру "ПриОткрытии" вставить в самом конце Объект.Организация = ПредопределенноеЗначение("Справочник.Организации.ОсновнаяОрганизация"); хотя правильней будет поправить процедуру "ЗаполнитьПоНазначенномуОбъекту()
". Тут лучше попросить программиста, дел максимум на 1 мин, описывать дольше.
30. Игорь (espero2000) 06.12.11 14:56
Спасибо за подробное описание! Мне как раз нужно заполнять не из документов и справочников, хоть и не логично :)
31. obad (obad) 06.12.11 15:27
Подскажите, при нажатии кнопки "создать договор" пишет "ошибка при вызове метода контекста(записать):недопустимое значение параметра (параметр номер "1"), что нужно сдеалть
чтобы все сработало?
32. Владимир (ARL) 06.12.11 15:59
(31) Пока не знаю :)
Вариант обработки для УПП...?
Чтобы меньше искать и предполагать необходимо полное описание ошибки, включая текст вроде " МодульОбъекта(206)}: Ошибка при вызове метода......"
(206) - это номер строки текста модуля.
33. Ольга Василенко (Volga1904) 11.12.11 19:34
Спасибо. Нам еще нужно спецификации договоров в Ворде печатать, может подскажете, есть ли такая обработка?
34. Владимир (ARL) 11.12.11 19:57
(33) Для конфигураций с БСП для этого случая стоит использовать внешнюю печатную форму с использованием механизмов БСП. ВПФ для конфигураций с БСП. Для конфигураций до БСП я готовых обработок не встречал, у меня такой нет - задачи на возникало. Есть пример http://infostart.ru/public/95012/
35. Владимир (ARL) 18.01.12 11:00
Для склонения должностей используются тот же алгоритм, что и для склонения ФИО. Это далеко не всегда корректно. Например: "для заместитель директора" - получаем "заместителя директоры".
Для избежания данной конкретной ошибки в процедуре ПадежФИО после строк
Если Пол="М" Тогда
// обработаем исключения
Если Имя="лев" Тогда Имя="льв" КонецЕсли;
Если Имя="павел" Тогда Имя="павл" КонецЕсли;
вставляем
Если Имя="директора" Тогда Имя="директор" КонецЕсли;
36. Василий Бобров (vacily) 20.01.12 21:39
При создании договора выдается сообщение "Выделите строку с нужным договором и повторите", хотя договор выбран. В чем проблема
37. Владимир (ARL) 21.01.12 13:38
(36)Выделите строку с нужным договором - т.е. необходимо в табличном поле с наименованиями word-овских шаблонов в нижней части формы выделить нужную строку, и только потом нажимать на кнопку "Создать договор". Шаблонов можно загрузить много, и обработке надо указать, с каким ей работать.
38. Павел В (PaulV) 26.01.12 17:21
Отличная программа. Спасибо разработчику и за генерацию договоров в Word, и за склонение ФИО и должностей.

Жаль самому нельзя изменять параметры для замены, поэтому есть пара пожеланий:
- добавить <ПокБанкГород> или же заменять <ПокБанк> на <Банк> в <Город Банка>
- при выводе месяца через параметр <Месяц> выводятся два лишних пробела после названия месяца("Январь ", "Октябрь " т.д.)
39. Владимир (ARL) 26.01.12 20:40
(38)Не проблема. Поправил и добавил. Перезалил. (Надеюсь, что просьба была к обработке для УПП...)
40. Павел В (PaulV) 27.01.12 11:30
Спасибо, работает. Да, просьба была для УТ 10.3, но обработка одна и та же для УПП и УТ, насколько я понимаю.

Еще один баг:
в <ДолжностьИмяПокупателя> два пробела между должностью и ФИО("Генерального Директора__Иванова Ивана Ивановича")
41. Дмитрий Латыпов (dmla) 28.01.12 19:02
Доброе время суток!
Подскажите пожалуйста, познакомиться с данной разработкой возможно только получив абонентский доступ к сайту?
Спасибо!
42. Владимир (ARL) 28.01.12 19:30
(41)Набрав 1 единицу внутренней валюты сайта. Написав свой пост, вы уже что-то набрали.
43. Владимир (ARL) 28.01.12 19:39
(41)Уважаю людей, которые "выгребают" подобные баги, серьезно. Нашим менеджерам как-то всё-равно. Еще бы все сразу :) Поправил, перезаливаю.
44. НАТАЛЬЯ НАТАЛЬЕВНА (SALE40) 01.02.12 14:27
Отличная, нужная обработка. Облизываюсь. скачать не могу валюты нет
45. Лариса С (Kowka0011) 22.02.12 16:06
Для УНФ выдает ошибку "Возможно, обработка устарела или не является дополнительной. Метод объекта не обнаружен(СведенияОВнешенйОбработке)"
46. Владимир (ARL) 22.02.12 17:29
(45)Не поленился, скачал обработку с сайта. Убедился, что функция СведенияОВнешенйОбработке() присутствует. Не поленился, загрузил в УНФ. Все работает.
Возможно, плохо скачался файл. Надо скачать еще раз. Да, и проверьте, отчет должен работать и как внешний - т.е Главное меню - файл - открыть -указать обработку. Должна открыться форма обработки в которой можно вручную указать нужные организацию, контрагента и договор.
47. Михаил Иванов (wwizard) 28.02.12 20:20
48. Виталий (galiaf1386) 27.03.12 10:22
Респект и + автору удобная обработка!!!
49. Владимир (ARL) 27.03.12 11:28
(31)Всплыла подобная ошибка и у наших менеджеров: "ошибка при вызове метода контекста(записать):недопустимое значение параметра (параметр номер "1")" Возникла ошибка из-за того, что в наименовании контрагента используются символы, запрещенные для имен файлов. В нашем случае - это были кавычки. Добавил исключение запрещенных символов, перезаливаю обработку.
50. Анна (n_lintek) 29.03.12 22:04
Скачала обработку. Поставила и теперь все менеджеры радуются и передают свой респект. Очень огромное спасибо автору!!! Всегда радуюсь когда есть такие работы: надежные и простые как в понимании, так и во внедрении. Еще раз спасибо :-)
100. Anya Yakushina (Little-ann) 26.04.12 17:41
Вот как вовремя появляются нужные вещи. Печать договоров - это вообще из разряда маст хэв! Надеюсь, все будут довольны.
101. Марина Меньшикова (МариМе) 06.06.12 07:55
(49) ARL,
Как же здорово, что вы сообщили про ошибку ("ошибка при вызове метода контекста(записать):недопустимое значение параметра (параметр номер "1")" ) У нас та же ерунда появилась, и именно у контрагента кавычек полно было. Убрали , всё заработало. Еще раз спасибо автору за обработку и вам за комментарий к ошибке. Я правда не умею обработки править, я тупо в наименовании контрагента убрала кавычки. Менеджеры опять счастливы)))
102. iatr royar (iatr) 06.06.12 16:22
Обработка классная, не могу разобраться только почему не заполняет фио и должность организации и контрагента. Роли контактных лиц везде проставлены :-( может кто знает?
103. Владимир (ARL) 06.06.12 17:20
(101)Обработка исправлена, можно скачать и не следить за наименованиями.

(102)Для организации - проверить заполнение регистра "Список ответственных лиц организации". Должна быть запись по организации с Ответственное лицо = Руководитель.
В контактных лицах контрагента - тщательно проверить написание роли.
104. iatr royar (iatr) 06.06.12 18:06
Спасибо разобрался, там у Роли контактного лица контрагента есть описание вот туда надо вписать Руководитель
105. Елена Каткова (elkavik) 16.07.12 12:45
Очень хочется попользоваться данной обработкой, но ! У меня на Товар - один шаблон договора, а на ПО - другой. Т.о. мне нужно две как минимум печатные формы цеплять. Это возможно ???
106. Владимир (ARL) 16.07.12 13:00
(105) elkavik,
Это возможно.
Процитирую первые строчки описания:
"Особенности:
1) Возможность загружать в базу неограниченное количество шаблонов договоров без изменения конфигурации и какой-либо регистрации шаблонов."
Подразумевалось, что раз можно загрузить, то и использовать их также можно :)
На картинке №1 показана обработка, использующая два загруженных договора. Перед тем, как нажать на кнопку "Создать договор" надо в табличной части выделить строку с нужным договором.
107. Елена Каткова (elkavik) 16.07.12 14:48
(106) ARL,
Да, спасибо, разобралась...
С меня требуют менеджеры, чтобы и спецификация загружалась... А здесь уже требуется не только Справочник Контрагентов, но и Справочник Товара (с типом цены, количеством и т.д.). У Вас случайно нет такой обработки ?
108. Владимир (ARL) 17.07.12 12:31
(107) elkavik,
Нет, такой задачи у меня не стояло. Но переделать данную обработку под любые данные очень просто, код открыт. Вернее технически очень просто, но кропотливо.
109. Наталия Мастербатова (zzz_natali) 20.07.12 11:47
Это только у меня шняга или где:
если месяц договора май, то в шаблоне вместо "мая" выводит "мого"
Спасибо.
110. Владимир (ARL) 20.07.12 13:03
(109) zzz_natali, У всех, вам просто "повезло" первой с майским договором. Использовал склонение ФИО, разработанное для людей, а не месяцев. Надо ввести исключение: в модуле обработки в процедуре ЗаполнитьПараметрыЗамены ( у меня строка 125 модуля) вместо

МесяцПрописью = СокрЛП(НРег(ПадежФИО(МесяцПрописью,2)));

написать

Если МесяцПрописью = "Май" Тогда
МесяцПрописью = "мая";
Иначе
МесяцПрописью = СокрЛП(НРег(ПадежФИО(МесяцПрописью,2)));
КонецЕсли;

Обработку поправил, заменю.
111. chum (chum) 23.07.12 07:28
УТ10.3. Платформа 8.2. При открытии обработки внизу информационное сообщение:
Неверная строка передана "падежу ФИО!"
А при попытке создать договор
{форма.форма.форма(186)}: Ошибка при вызове метода контекста (получить COM объект): ошибка получения объекта COM: класс не зарегистрирован
Подскажите, что не так?
112. Владимир (ARL) 23.07.12 09:31
(111) chum, По первому - не знаю, в процедуру ПадежФИО передается что-то вместо строки. Без базы и отладчика сказать ничего не могу. Нужно посмотреть на параметры, которые должны быть заполненными, но не заполнены.
По второму: а WORD на компьютере установлен?
113. chum (chum) 23.07.12 09:58
(112) ARL,
Обработка выполняется на сервере там ворда нет, блин по ходу сам протупил.... :-)
114. chum (chum) 23.07.12 15:49
Да, нужная обработка, переделываю договора в шаблоны.
А можно сделать чтобы номер договора брался из номера документа из которого создаётся, Ну или расчитывался по алгоритму, например АВ<числомесяц> ?
Думаю было бы очень удобно для всех.
115. Владимир (ARL) 23.07.12 16:05
(114) chum, Сделать легко, но пожелание специфическое, менять обработку для всех не буду. Надо вам попросить программиста 1С поправить, работы не много.
116. Александр Шумилов (allshumilov) 21.12.12 19:15
(112) ARL, вот у меня такая ситуёвина уже со второй обработкой - через COM не ловиться офис, либо в пойми каком режиме.
Стоит офис 2010 64 бита - ну и винда соответственно 7-ка 64.
Как решить эту задачку.
Читаю отзывы - у всех все хорошо - у меня плохо (
спасибо
117. Владимир (ARL) 24.12.12 09:30
(116)А вы шаблон загрузили в формате "doc" ? У меня то же сочетание ОС и офиса, все работает нормально. Шаблон взял из обработки, в командной панели табличного поля с договорами слева есть кнопка с подсказкой "Сохранить пример шаблона с договором", попробуйте сохранить и загрузить его.
118. Екатерина Горобец (aviaye) 31.01.13 12:40
Спасибо за обработку, она очень полезная!
Скачала ее, загрузила в нашу Ут 10.3 как внешнюю обработку. Она сказала, что самозарегистрировалась для справочника контрагентов и для некоторых документов. Но я так и не нашла, как вызвать ее из этих объектов.
Можете подсказать?
119. Владимир (ARL) 31.01.13 14:20
(118) Если Вы загрузили её как дополнительную внешнюю печатную форму, (а судя по регистрации - это так), то она появится в списке печатных форм - в кнопке "Печать" соответствующих объектов. Т.е при нажатии на кнопку "Печать" у документа "Заказ покупателя" появится строка "Печать договора с покупателем".
120. Екатерина Горобец (aviaye) 01.02.13 05:38
Это я проглупила. Зарегистрировала как внешнюю обработку. И только написав сообщение, сообразила.
121. Екатерина Горобец (aviaye) 18.02.13 10:04
Маленькая ошибка в обработке - в качестве КПП покупателя заполняется КПП Организации (поставщика)
122. Владимир (ARL) 18.02.13 14:10
(121)Точно, до сих пор никто не заметил :) Исправил.
123. Павел В (PaulV) 20.02.13 15:42
УТ10.3. Платформа 8.2. При открытии обработки внизу информационное сообщение:
Неверная строка передана "падежу ФИО!"

Та же ерунда была, оказалось руководитель указан, а должность его нет(Null).
124. Владимир (ARL) 20.02.13 16:19
(123)Теперь с ошибкой все ясно. В модуле объекта надо строку
Руководитель.Вставить("Должность",Выборка.Должность);
заменить на
Руководитель.Вставить("Должность",?(Выборка.Должность= NULL,"",Выборка.Должность));
Ошибку исправил, обработку меняю.
125. chum (chum) 21.02.13 10:59
Добрый день!
Использую для УНФ. Спасибо за хорошую обработку!
1. Подскажите, что и куда добавить, что бы номер договора брался из документа из которого деалется?
2. Почему то <ДолжностьПокупателя> в параметрах замены расшифровывается, а в договоре нет.
126. Владимир (ARL) 21.02.13 12:10
(125) по п.1 - обработка и берет договор из документа, проверил и практически, и по коду. Как вариант, может у Вас версия обработки старая. Не помню, менял ли я что-либо в этой части. И надо иметь в виду, что договор берется из назначенного объекта, т.е если в форме поменять договор и не провести, обработка извлечет документ из формы, а не из ссылки.
по п.2 - ошибка, пробел "затесался", исправил.
127. chum (chum) 22.02.13 02:53
(126) ARL, вон оно чё... Получается номер договора всегда будет один и тот же.
Очень часто приходится при каждой продаже формировать новый договор, чаще всего так хотят бюджетники. Было бы очень удобно, чтобы номер договора был таким же как и номер заказа или расходной накладной из которой сформирован. Тогда точно не будет повторений (ну по крайней мере очень маловероятно).
Может подскажете как, а я сам попробую изменить, хотя в прораммировании не силён.

Сформированные договоры мы сохраняем в электронном виде. Можно ли указать в обработке путь по умолчанию для сохранения сформированных договоров в общую папку? Если можно то где?
Сейчас они по умолчанию сохраняются на сервере C:\Users\User\AppData\Local\Temp\2. И если при закрытии не указать новый путь, то потом его не найдут.
128. Владимир (ARL) 22.02.13 10:04
(127) по п.1 требования специфические
1) В функцию Функция ПолучитьСтруктуруРеквизитовДокумента(СсылкаНаОбъект)
до строки Возврат СтруктураРеквизитов;
вставить строку

СтруктураРеквизитов.Вставить("НомерДоговора",СсылкаНаОбъект.Номер);

2)В реквизиты обработки добавить реквизит НомерДоговора Тип строка, длина 11

3)Процедура ОбновитьПараметрыЗамены()
убрать строку
ЗаменитьСтроку("<НомерДоговора>",СтруктураДоговора.НомерДоговора,"Номер договора"); - меня 584
и добавить строку вне логических скобок
ЗаменитьСтроку("<НомерДоговора>",Объект.НомерДоговора,"Номер договора");

не отлаживал

по п.2
Поработать с процедурой СоздатьДоговор

ИмяКаталога = КаталогВременныхФайлов();
Нужно заменить на свой путь - видимо, стоит добавить реквизит
129. Павел В (PaulV) 22.02.13 21:59
Пожелание: чтобы параметры, для которых не задано значение автозамены, заменялись на последовательность нижних подчеркиваний("______") или пробелов(" ").
Если я правильно понимаю(кода под рукой нет), то такую проверку придется дописывать для каждого параметра автозамены?
130. Владимир (ARL) 23.02.13 10:19
(129) Добавил для обработки для УТ, УПП на вкладке "Параметры замены" кнопку "Заменить отсутствующие значения подчеркиванием". Если хотите использовать без кнопки, то перенесите код из действия кнопки в самый конец процедуры "ЗаполнитьПараметрыЗамены()" в модуле обработки.
131. qwerty45 27.02.13 17:29
УТ 10.3.18.3
Обработка вываливается с ошибкой:
{ВнешняяОбработка.ПечатьДоговораСПокупателем.МодульОбъекта(692)}: Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить();
по причине:
{(5, 2)}: Таблица не найдена "РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних"
<<?>>РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних(

Как поправить?
132. Андрей Стахеев (st_an) 27.02.13 18:03
Для склонения должностей используются тот же алгоритм, что и для склонения ФИО. Это далеко не всегда корректно. Например: "для заместитель директора" - получаем "заместителя директоры".
Для избежания данной конкретной ошибки в процедуре ПадежФИО после строк
Если Пол="М" Тогда
// обработаем исключения
Если Имя="лев" Тогда Имя="льв" КонецЕсли;
Если Имя="павел" Тогда Имя="павл" КонецЕсли;
вставляем
Если Имя="директора" Тогда Имя="директор" КонецЕсли;
133. Владимир (ARL) 27.02.13 18:05
(131)К сожелению, у меня уже нет доступа к последним релизам УТ. Надо посмотреть в конфигураторе, не изменились ли наименование регистра и перечисления. В УТ были различия ОрганизациЙ - ОрганизациИ
Строка 682 модуля объекта:
Если мИДБазы = "УТ" Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"РегистрСведений.ОтветственныеЛицаОрганизаций.","РегистрСведений.ОтветственныеЛицаОрганизации.");
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"Перечисление.ОтветственныеЛицаОрганизаций.","Перечисление.ОтветственныеЛицаОрганизации.");
КонецЕсли;
Либо заменить на нужные наименования, либо, возможно, закомментировать эти строки.
134. Владимир (ARL) 27.02.13 18:14
(131) Вчитался, скорее не сработала функция ИДКонфигурации() - строка 843 модуля объекта, не изменили ли имя метаданных? Тогда надо поправить строку 854
ИначеЕсли МетаданныеИмя = "УправлениеТорговлей" Тогда

Посмотрите, пожалуйста, имя всей конфигурации.
135. qwerty45 27.02.13 19:53
Поправил в нескольких местах по тексту:
ОтветственныеЛицаОрганизациЙ на ОтветственныеЛицаОрганизациИ. Наименования Регистра и перечисления действительно изменились. Сразу не обратил внимания.
Кроме того Убрал строки 80-82, 301-306 касающиеся кода ОКОНХ. Думаю его использование сейчас не актуально ,т.к. действие классификатора ОКОНХ отменено с 01.01.2003 г.
И обработка запустилась.
136. Владимир (ARL) 27.02.13 20:45
(135) Проверил на УТ 10.3.19.3. Все работает. Скорее всего у Вас было изменено имя конфигурации и замена имен объектов не происходила. Можно было просто в модуле объекта в конце прописать
мИДБазы = "УТ".
137. qwerty45 27.02.13 22:14
можно и так. Работает.
А для склонения ФИО и должностей обычно пользую функцию использованную в этой обработке: http://infostart.ru/public/127533/
Функция написана не мной. Вполне корректно склоняет имена, должности. Вот только если в склоняемом выражении второе и далее слова с заглавной буквы все делает строчными

За Вашу обработку большое спасибо!
138. Maximilian Alekseevich (1cmax) 03.03.13 20:49
139. Анна (n_lintek) 08.04.13 19:57
Здравствуйте. А если я хочу создать новые замены. На-пример: вставить электронную почту компании - надо быть программистом ? Или как-то можно создать самостоятельно дополнительную замену, так чтоб она бралась из нужного места в программе? А программа супер ) Еще раз спасибо за хорошую работу.
140. Владимир (ARL) 08.04.13 20:12
(139) Без программирования не получиться.
141. chum (chum) 31.05.13 17:45
(128) ARL,
Только сейчас дошли руки...
По номеру договора всё получилось с первого раза благодаря точному руководству. CTRL+C, CTRL+V :)
Работает, теперь номер договора берётся из номера документа. То, что нужно, спасибо!!!

А вот в папкой сохранения договоров.... зачесался затылок.
нашёл процедуру СоздатьДоговор

нашёл строку ИмяКаталога = КаталогВременныхФайлов();
вы советуете
"Нужно заменить на свой путь - видимо, стоит добавить реквизит"

Здесь мне точно нужно понимать что означают эти строки, я уверен, что просто добавить путь вместо "КаталогВременныхФайлов" не прокатит. Даже проверять не стану.
Какой реквизит добавить? что заменить на свой путь?
142. Галина Злобина (gala2009) 07.10.13 19:41
это внешняя форма чтоле
143. Сергей Кондратьев (serg0776) 25.12.13 17:23
145. Тима Осипов (net7wolf) 01.05.14 10:15
1С:Предприятие 8.2 (8.2.18.109)
"Управление торговлей", редакция 10.3 (10.3.29.1)
для организации (физ лицо) ИП
не подставляет строки

<ДолжностьИмяРуководителяОрганизации>
<ДолжностьРуководителяОрганизации>
<РуководительОрганизации>
146. Тима Осипов (net7wolf) 01.05.14 10:20
ДолжностьИмяПокупателя
ДолжностьИмяРуководителяОрганизации
ДолжностьРуководителяОрганизации
РуководительОрганизации
147. Дмитрий Волошкин (1С43) 22.05.14 19:05
Замечательная вещь, полезная! Хорошо сделано. Однозначно +
148. Алексей Мануйлов (Cybersant) 22.08.14 09:44
Даже после внедрения в УНФ встроенного механизма создания договоров по шаблону, данная обработка намного удобнее и корректнее формирует договора. Спасибо автору!

PS: во встроенной беда с таблицами...