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





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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

99 Comments

  1. ARL

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

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

    Reply
  2. iov

    Вот самая ложка да к самому обеду…. кстати кроме договоров — сразу же сделал карточку контрагента — для печати реквизитов

    сразу сделал форму доверенности (для заключения договоров/решения вопросов). Менеджеры сразу сделали себе форму — для формирования претензий по качеству и прочее…

    В качестве развития — было бы супер добавить возможность формировать табличные части (как вариант формирование доверенностей или претензий на основании документа — выбрать табличную часть или заполнить ручками)

    Reply
  3. Анатолий50

    Отличная, нужная обработка. Облизываюсь.

    Reply
  4. МариМе

    Просто супер. Спасибо большое. Текст договора изменили под себя. Все прикрепили. Тоже облизываемся.

    Reply
  5. ARL

    (1)Вам повезло с менеджерами. Мне сказали «Что-то непонятно… Может ты сам сделаешь». Надеюсь, что следующую форму сделают сразу, привыкнув к удобству.

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

    Reply
  6. iov

    (4) Ну и на том спасибо.

    Reply
  7. arktika1

    Скажите а эта форма самонастраивающийся?

    А как её привязывать к договору?

    Reply
  8. ARL

    (6)Не совсем понял вопрос. В форме есть реквизит «Договор контрагента». Выбирается по отбору по контрагенту и организации. При использовании из документа — передаются организация, контрагент и договор из документа. При использовании из справочника КА — форма заполняется контрагентом и основным договором. Про организацию основного договора забыл, сейчас перезалью, будет заполняться, если, конечно, выбран основной договор. В форме все можно перевыбрать вручную.

    Reply
  9. arktika1

    Единственно я не разобрался создание полей (так чтобы Менеджеры действительно сами могли) для заполнения договора данными которых нет в Контрагенте, тоже присутствует .

    Reply
  10. arktika1

    Хорошо бы добавить возможность сохранять печатный фаил в ПДФ фермате

    с последующим прикреплением его к контрагенту.

    Reply
  11. ARL

    (8)(9)В шаблоне пишем №<НомерДоговора>. Это «чистый» текст шаблона. Обработка, при заполненном значении замены 123 внесет в конечный файл: №123. Т.е. обработка выполняет действие Wordа «Найти и заменить». Параметры запрограммированы, список их можно распечатать из макета, или распечатать со второй страницы обработки.

    PDF сюда никак не годится. После автоматического заполнения договор необходимо проверить, и при необходимости, исправить. Редакторы PDF мало у кого установлены. А сохранение проверенного файла Wordа в PDF проблем не должно вызывать. В PDF следует сразу сохранять и высылать клиентам счета и отчеты.

    Сохранение в базе файла договора не предусмотрено, т.к. задачи не ставилось, да и не понятен смысл сохранения. При проверке Налоговой нужно предъявлять подписанные бумажные экземпляры договоров, и храниться они должны в архиве бухгалтерии.

    Reply
  12. arktika1

    Спасибо за ответ, сейчас буду разбираться.

    Reply
  13. AleX3851505

    Спасибо.

    Reply
  14. SerebanSK

    Интересная вещь, посмотрю как время появится. Я как-то делал редактируемые печатные формы для договоров. Использовал справочник, в котором хранил макеты, и внешнюю печатную форму. Возможности конечно не те что у wordа, но тоже ничего.

    Reply
  15. anig99

    Не то… Думал реально работа с шаблоном и полями… А тут просто найти и заменить. Фигня с т.з. технологии

    Reply
  16. dkprim

    полезная обработка. дешево и сердито 🙂 автору спасибо 🙂

    Reply
  17. ARL

    (14) Из названия темы ясно, что предложено решение прагматической, рутинной задачи, не более. А зачем решать её сложно, если можно решить просто?

    Reply
  18. MYRZILKA123

    Спасибо больное за печатную форму она мне сейчас очень пригодилась!

    Reply
  19. v_den_v

    (14) anig99, (16) (1) iov,

    вообще есть БСП — и там примеры заполнения шаблонов документов для MS Word и для OpenOffice Writer.

    там кстати тоже используется Найти-заменить. конструкции вида {v8 ИмяПременной}

    так что великая и ужасная 1С не гнушается этим. — такой подход более понятен пользователям.

    и нечуствителен к ошибкам.

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

    и последующем заполнением:

    Таб = ПолучитьМакет(«Договор»);
    ворд = Таб.Получить();
    ворд.application.visible = истина;
    …
    ворд.variables.item(«контрагент»).value = СокрП(Контрагент.НаименованиеПолное);
    …
    ворд.Fields.Update();
    
    Reply
  20. iov

    (18) ключевые слова — без изменения конфигурации и одна обработка. БСП — это для более серьезных задач. Так что альтернатива — хорошо, а готовая альтернатива лучше.

    P.S. тут принято мерятся письками не в разговоре — а делом, выкладывай своё- сравним у кого больше…

    Reply
  21. v_den_v

    (19) iov,

    видимо непонятно написал:

    anig99 пишет:

    А тут просто найти и заменить. Фигня с т.з. технологии

    я указал, что

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

    во вторых, привел свой пример реализации подхода к заполнению шаблонов.

    (кстати свои шаблоны буду переделывать под БСП)

    Reply
  22. ARL

    (18)Стандартный подход БСП подразумевает возможность создания внешних печатных форм с шаблоном WORD и OpenOffice. При этом шаблоны нужно загружать в макеты. В вашем примере шаблон тоже извлекается из макета. Как пользователи — непрограммисты будут это делать? Преимуществом обработки считаю легкое и простое управление шаблонами пользователями, в т.ч. не программистами.

    Можно, конечно использовать процедуры БСП, но выигрыш — минимален. По длине кода — будет, скорее всего, проигрыш. Задачи вывода ТЧ не было. Кроме того обработка для УНФ писалась (под заказ) после обработки для конфигураций без БСП.

    К слову, всем рекомендую мастер-класс Габеца А. по печатным формам в БСП. Очень качественное преподнесение материала и классная методичка.

    Reply
  23. iov

    (20) Я за тоже и говорю — что выкладывай свое. оценим- поспасибкаем — покачаем.

    Reply
  24. v_den_v

    (21)

    согласен, для продвинутого пользователя (непрограммиста) твоя обработка — отличный вариант, плюсанул.

    кстати, если использовать формат шаблона для замены как в БСП,

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

    спасибо за наводку на мастер-класс.

    Reply
  25. ARL

    (22)

    v_den_v пишет:

    кстати, если использовать формат шаблона для замены как в БСП,

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

    Не совсем так. БСП требует еще задание используемых полей в шаблоне и их типов в программе. Так что шаблоны все равно придется дорабатывать.

    Reply
  26. ARL

    (22) Решил разместить внешнюю печатную форму с шаблоном Word для конфигураций с БСП. ВПФ Word. Всё должно стать понятней.

    Reply
  27. Neksi

    При работе в УНФ через web-интерфейс следуюшая ошибка

    {(141,14)}:Процедура или функция с указанным именем не определена (ПолучитьИмяВременногоФайла)

    Reply
  28. ARL

    (26) Задачи использования через web-интерфейс не было, работать не будет.

    Reply
  29. espero2000

    Как сделать, что бы при открытии обработки для УНФ значение Организация заполнялось по умолчанию — основной организацией?

    Reply
  30. ARL

    (28) Для УНФ обработка выполнена в виде подключаемого отчета, при этом организация заполняется по документу, либо по организации из основного договора контрагента из справочника «Контрагенты», либо по организации договора из справочника «Договоры контрагентов». Другое заполнение нелогично, но если очень хочется — то тут два варианта: если заполнять основной организацией только в том случае, когда организация не вытянется из других объектов — тогда создать процедуру «ПриСозданииНаСервере» и в неё вставить Объект.Организация = Справочники.Организации.ОсновнаяОрганизация;

    Если создавать жестко, то в простейшем случае в процедуру «ПриОткрытии» вставить в самом конце Объект.Организация = ПредопределенноеЗначение(«Справочник.Организации.ОсновнаяОрганизация»); хотя правильней будет поправить процедуру «ЗаполнитьПоНазначенномуОбъекту()

    «. Тут лучше попросить программиста, дел максимум на 1 мин, описывать дольше.

    Reply
  31. espero2000

    Спасибо за подробное описание! Мне как раз нужно заполнять не из документов и справочников, хоть и не логично 🙂

    Reply
  32. obad

    Подскажите, при нажатии кнопки «создать договор» пишет «ошибка при вызове метода контекста(записать):недопустимое значение параметра (параметр номер «1»), что нужно сдеалть

    чтобы все сработало?

    Reply
  33. ARL

    (31) Пока не знаю 🙂

    Вариант обработки для УПП…?

    Чтобы меньше искать и предполагать необходимо полное описание ошибки, включая текст вроде » МодульОбъекта(206)}: Ошибка при вызове метода……»

    (206) — это номер строки текста модуля.

    Reply
  34. Volga1904

    Спасибо. Нам еще нужно спецификации договоров в Ворде печатать, может подскажете, есть ли такая обработка?

    Reply
  35. ARL

    (33) Для конфигураций с БСП для этого случая стоит использовать внешнюю печатную форму с использованием механизмов БСП. ВПФ для конфигураций с БСП. Для конфигураций до БСП я готовых обработок не встречал, у меня такой нет — задачи на возникало. Есть пример http://infostart.ru/public/95012/

    Reply
  36. ARL

    Для склонения должностей используются тот же алгоритм, что и для склонения ФИО. Это далеко не всегда корректно. Например: «для заместитель директора» — получаем «заместителя директоры».

    Для избежания данной конкретной ошибки в процедуре ПадежФИО после строк

    Если Пол=»М» Тогда

    // обработаем исключения

    Если Имя=»лев» Тогда Имя=»льв» КонецЕсли;

    Если Имя=»павел» Тогда Имя=»павл» КонецЕсли;

    вставляем

    Если Имя=»директора» Тогда Имя=»директор» КонецЕсли;

    Reply
  37. vacily

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

    Reply
  38. ARL

    (36)Выделите строку с нужным договором — т.е. необходимо в табличном поле с наименованиями word-овских шаблонов в нижней части формы выделить нужную строку, и только потом нажимать на кнопку «Создать договор». Шаблонов можно загрузить много, и обработке надо указать, с каким ей работать.

    Reply
  39. PaulV

    Отличная программа. Спасибо разработчику и за генерацию договоров в Word, и за склонение ФИО и должностей.

    Жаль самому нельзя изменять параметры для замены, поэтому есть пара пожеланий:

    — добавить <ПокБанкГород> или же заменять <ПокБанк> на <Банк> в <Город Банка>

    — при выводе месяца через параметр <Месяц> выводятся два лишних пробела после названия месяца(«Январь «, «Октябрь » т.д.)

    Reply
  40. ARL

    (38)Не проблема. Поправил и добавил. Перезалил. (Надеюсь, что просьба была к обработке для УПП…)

    Reply
  41. PaulV

    Спасибо, работает. Да, просьба была для УТ 10.3, но обработка одна и та же для УПП и УТ, насколько я понимаю.

    Еще один баг:

    в <ДолжностьИмяПокупателя> два пробела между должностью и ФИО(«Генерального Директора__Иванова Ивана Ивановича»)

    Reply
  42. dmla

    Доброе время суток!

    Подскажите пожалуйста, познакомиться с данной разработкой возможно только получив абонентский доступ к сайту?

    Спасибо!

    Reply
  43. ARL

    (41)Набрав 1 единицу внутренней валюты сайта. Написав свой пост, вы уже что-то набрали.

    Reply
  44. ARL

    (41)Уважаю людей, которые «выгребают» подобные баги, серьезно. Нашим менеджерам как-то всё-равно. Еще бы все сразу 🙂 Поправил, перезаливаю.

    Reply
  45. SALE40

    Отличная, нужная обработка. Облизываюсь. скачать не могу валюты нет

    Reply
  46. Kowka0011

    Для УНФ выдает ошибку «Возможно, обработка устарела или не является дополнительной. Метод объекта не обнаружен(СведенияОВнешенйОбработке)»

    Reply
  47. ARL

    (45)Не поленился, скачал обработку с сайта. Убедился, что функция СведенияОВнешенйОбработке() присутствует. Не поленился, загрузил в УНФ. Все работает.

    Возможно, плохо скачался файл. Надо скачать еще раз. Да, и проверьте, отчет должен работать и как внешний — т.е Главное меню — файл — открыть -указать обработку. Должна открыться форма обработки в которой можно вручную указать нужные организацию, контрагента и договор.

    Reply
  48. wwizard

    Спасибо, нужная весчь

    Reply
  49. galiaf1386

    Респект и + автору удобная обработка!!!

    Reply
  50. ARL

    (31)Всплыла подобная ошибка и у наших менеджеров: «ошибка при вызове метода контекста(записать):недопустимое значение параметра (параметр номер «1»)» Возникла ошибка из-за того, что в наименовании контрагента используются символы, запрещенные для имен файлов. В нашем случае — это были кавычки. Добавил исключение запрещенных символов, перезаливаю обработку.

    Reply
  51. n_lintek

    Скачала обработку. Поставила и теперь все менеджеры радуются и передают свой респект. Очень огромное спасибо автору!!! Всегда радуюсь когда есть такие работы: надежные и простые как в понимании, так и во внедрении. Еще раз спасибо 🙂

    Reply
  52. Little-ann

    Вот как вовремя появляются нужные вещи. Печать договоров — это вообще из разряда маст хэв! Надеюсь, все будут довольны.

    Reply
  53. МариМе

    (49)

    Как же здорово, что вы сообщили про ошибку («ошибка при вызове метода контекста(записать):недопустимое значение параметра (параметр номер «1»)» ) У нас та же ерунда появилась, и именно у контрагента кавычек полно было. Убрали , всё заработало. Еще раз спасибо автору за обработку и вам за комментарий к ошибке. Я правда не умею обработки править, я тупо в наименовании контрагента убрала кавычки. Менеджеры опять счастливы)))

    Reply
  54. iatr

    Обработка классная, не могу разобраться только почему не заполняет фио и должность организации и контрагента. Роли контактных лиц везде проставлены 🙁 может кто знает?

    Reply
  55. ARL

    (101)Обработка исправлена, можно скачать и не следить за наименованиями.

    (102)Для организации — проверить заполнение регистра «Список ответственных лиц организации». Должна быть запись по организации с Ответственное лицо = Руководитель.

    В контактных лицах контрагента — тщательно проверить написание роли.

    Reply
  56. iatr

    Спасибо разобрался, там у Роли контактного лица контрагента есть описание вот туда надо вписать Руководитель

    Reply
  57. elkavik

    Очень хочется попользоваться данной обработкой, но ! У меня на Товар — один шаблон договора, а на ПО — другой. Т.о. мне нужно две как минимум печатные формы цеплять. Это возможно ???

    Reply
  58. ARL

    (105) elkavik,

    Это возможно.

    Процитирую первые строчки описания:

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

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

    Подразумевалось, что раз можно загрузить, то и использовать их также можно 🙂

    На картинке №1 показана обработка, использующая два загруженных договора. Перед тем, как нажать на кнопку «Создать договор» надо в табличной части выделить строку с нужным договором.

    Reply
  59. elkavik

    (106)

    Да, спасибо, разобралась…

    С меня требуют менеджеры, чтобы и спецификация загружалась… А здесь уже требуется не только Справочник Контрагентов, но и Справочник Товара (с типом цены, количеством и т.д.). У Вас случайно нет такой обработки ?

    Reply
  60. ARL

    (107) elkavik,

    Нет, такой задачи у меня не стояло. Но переделать данную обработку под любые данные очень просто, код открыт. Вернее технически очень просто, но кропотливо.

    Reply
  61. zzz_natali

    Это только у меня шняга или где:

    если месяц договора май, то в шаблоне вместо «мая» выводит «мого»

    Спасибо.

    Reply
  62. ARL

    (109) zzz_natali, У всех, вам просто «повезло» первой с майским договором. Использовал склонение ФИО, разработанное для людей, а не месяцев. Надо ввести исключение: в модуле обработки в процедуре ЗаполнитьПараметрыЗамены ( у меня строка 125 модуля) вместо

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

    написать

    Если МесяцПрописью = «Май» Тогда

    МесяцПрописью = «мая»;

    Иначе

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

    КонецЕсли;

    Обработку поправил, заменю.

    Reply
  63. chum

    УТ10.3. Платформа 8.2. При открытии обработки внизу информационное сообщение:

    Неверная строка передана «падежу ФИО!»

    А при попытке создать договор

    {форма.форма.форма(186)}: Ошибка при вызове метода контекста (получить COM объект): ошибка получения объекта COM: класс не зарегистрирован

    Подскажите, что не так?

    Reply
  64. ARL

    (111) chum, По первому — не знаю, в процедуру ПадежФИО передается что-то вместо строки. Без базы и отладчика сказать ничего не могу. Нужно посмотреть на параметры, которые должны быть заполненными, но не заполнены.

    По второму: а WORD на компьютере установлен?

    Reply
  65. chum

    (112)

    Обработка выполняется на сервере там ворда нет, блин по ходу сам протупил…. 🙂

    Reply
  66. chum

    Да, нужная обработка, переделываю договора в шаблоны.

    А можно сделать чтобы номер договора брался из номера документа из которого создаётся, Ну или расчитывался по алгоритму, например АВ<числомесяц> ?

    Думаю было бы очень удобно для всех.

    Reply
  67. ARL

    (114) chum, Сделать легко, но пожелание специфическое, менять обработку для всех не буду. Надо вам попросить программиста 1С поправить, работы не много.

    Reply
  68. allshumilov

    (112) вот у меня такая ситуёвина уже со второй обработкой — через COM не ловиться офис, либо в пойми каком режиме.

    Стоит офис 2010 64 бита — ну и винда соответственно 7-ка 64.

    Как решить эту задачку.

    Читаю отзывы — у всех все хорошо — у меня плохо (

    спасибо

    Reply
  69. ARL

    (116)А вы шаблон загрузили в формате «doc» ? У меня то же сочетание ОС и офиса, все работает нормально. Шаблон взял из обработки, в командной панели табличного поля с договорами слева есть кнопка с подсказкой «Сохранить пример шаблона с договором», попробуйте сохранить и загрузить его.

    Reply
  70. aviaye

    Спасибо за обработку, она очень полезная!

    Скачала ее, загрузила в нашу Ут 10.3 как внешнюю обработку. Она сказала, что самозарегистрировалась для справочника контрагентов и для некоторых документов. Но я так и не нашла, как вызвать ее из этих объектов.

    Можете подсказать?

    Reply
  71. ARL

    (118) Если Вы загрузили её как дополнительную внешнюю печатную форму, (а судя по регистрации — это так), то она появится в списке печатных форм — в кнопке «Печать» соответствующих объектов. Т.е при нажатии на кнопку «Печать» у документа «Заказ покупателя» появится строка «Печать договора с покупателем».

    Reply
  72. aviaye

    Это я проглупила. Зарегистрировала как внешнюю обработку. И только написав сообщение, сообразила.

    Reply
  73. aviaye

    Маленькая ошибка в обработке — в качестве КПП покупателя заполняется КПП Организации (поставщика)

    Reply
  74. ARL

    (121)Точно, до сих пор никто не заметил 🙂 Исправил.

    Reply
  75. PaulV
    УТ10.3. Платформа 8.2. При открытии обработки внизу информационное сообщение:

    Неверная строка передана «падежу ФИО!»

    Та же ерунда была, оказалось руководитель указан, а должность его нет(Null).

    Reply
  76. ARL

    (123)Теперь с ошибкой все ясно. В модуле объекта надо строку

    Руководитель.Вставить(«Должность»,Выборка.Должность);

    заменить на

    Руководитель.Вставить(«Должность»,?(Выборка.Должность= NULL,»»,Выборка.Должность));

    Ошибку исправил, обработку меняю.

    Reply
  77. chum

    Добрый день!

    Использую для УНФ. Спасибо за хорошую обработку!

    1. Подскажите, что и куда добавить, что бы номер договора брался из документа из которого деалется?

    2. Почему то <ДолжностьПокупателя> в параметрах замены расшифровывается, а в договоре нет.

    Reply
  78. ARL

    (125) по п.1 — обработка и берет договор из документа, проверил и практически, и по коду. Как вариант, может у Вас версия обработки старая. Не помню, менял ли я что-либо в этой части. И надо иметь в виду, что договор берется из назначенного объекта, т.е если в форме поменять договор и не провести, обработка извлечет документ из формы, а не из ссылки.

    по п.2 — ошибка, пробел «затесался», исправил.

    Reply
  79. chum

    (126) вон оно чё… Получается номер договора всегда будет один и тот же.

    Очень часто приходится при каждой продаже формировать новый договор, чаще всего так хотят бюджетники. Было бы очень удобно, чтобы номер договора был таким же как и номер заказа или расходной накладной из которой сформирован. Тогда точно не будет повторений (ну по крайней мере очень маловероятно).

    Может подскажете как, а я сам попробую изменить, хотя в прораммировании не силён.

    Сформированные договоры мы сохраняем в электронном виде. Можно ли указать в обработке путь по умолчанию для сохранения сформированных договоров в общую папку? Если можно то где?

    Сейчас они по умолчанию сохраняются на сервере C:UsersUserAppDataLocalTemp2. И если при закрытии не указать новый путь, то потом его не найдут.

    Reply
  80. ARL

    (127) по п.1 требования специфические

    1) В функцию Функция ПолучитьСтруктуруРеквизитовДокумента(СсылкаНаОбъект)

    до строки Возврат СтруктураРеквизитов;

    вставить строку

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

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

    3)Процедура ОбновитьПараметрыЗамены()

    убрать строку

    ЗаменитьСтроку(«<НомерДоговора>»,СтруктураДоговора.НомерДоговора,»Номер договора»); — меня 584

    и добавить строку вне логических скобок

    ЗаменитьСтроку(«<НомерДоговора>»,Объект.НомерДоговора,»Номер договора»);

    не отлаживал

    по п.2

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

    ИмяКаталога = КаталогВременныхФайлов();

    Нужно заменить на свой путь — видимо, стоит добавить реквизит

    Reply
  81. PaulV

    Пожелание: чтобы параметры, для которых не задано значение автозамены, заменялись на последовательность нижних подчеркиваний(«______») или пробелов(» «).

    Если я правильно понимаю(кода под рукой нет), то такую проверку придется дописывать для каждого параметра автозамены?

    Reply
  82. ARL

    (129) Добавил для обработки для УТ, УПП на вкладке «Параметры замены» кнопку «Заменить отсутствующие значения подчеркиванием». Если хотите использовать без кнопки, то перенесите код из действия кнопки в самый конец процедуры «ЗаполнитьПараметрыЗамены()» в модуле обработки.

    Reply
  83. qwerty45

    УТ 10.3.18.3

    Обработка вываливается с ошибкой:

    {ВнешняяОбработка.ПечатьДоговораСПокупателем.МодульОбъекта(692)}: Ошибка при вызове метода контекста (Выполнить)

    Результат = Запрос.Выполнить();

    по причине:

    {(5, 2)}: Таблица не найдена «РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних»

    <<?>>РегистрСведений.ОтветственныеЛицаОрганизаций.СрезПоследних(

    Как поправить?

    Reply
  84. st_an

    Для склонения должностей используются тот же алгоритм, что и для склонения ФИО. Это далеко не всегда корректно. Например: «для заместитель директора» — получаем «заместителя директоры».

    Для избежания данной конкретной ошибки в процедуре ПадежФИО после строк

    Если Пол=»М» Тогда

    // обработаем исключения

    Если Имя=»лев» Тогда Имя=»льв» КонецЕсли;

    Если Имя=»павел» Тогда Имя=»павл» КонецЕсли;

    вставляем

    Если Имя=»директора» Тогда Имя=»директор» КонецЕсли;

    Reply
  85. ARL

    (131)К сожелению, у меня уже нет доступа к последним релизам УТ. Надо посмотреть в конфигураторе, не изменились ли наименование регистра и перечисления. В УТ были различия ОрганизациЙ — ОрганизациИ

    Строка 682 модуля объекта:

    Если мИДБазы = «УТ» Тогда

    ТекстЗапроса = СтрЗаменить(ТекстЗапроса,»РегистрСведений.ОтветственныеЛицаОрганизаций.»,»РегистрСведений.ОтветственныеЛицаОрганизации.»);

    ТекстЗапроса = СтрЗаменить(ТекстЗапроса,»Перечисление.ОтветственныеЛицаОрганизаций.»,»Перечисление.ОтветственныеЛицаОрганизации.»);

    КонецЕсли;

    Либо заменить на нужные наименования, либо, возможно, закомментировать эти строки.

    Reply
  86. ARL

    (131) Вчитался, скорее не сработала функция ИДКонфигурации() — строка 843 модуля объекта, не изменили ли имя метаданных? Тогда надо поправить строку 854

    ИначеЕсли МетаданныеИмя = «УправлениеТорговлей» Тогда

    Посмотрите, пожалуйста, имя всей конфигурации.

    Reply
  87. qwerty45

    Поправил в нескольких местах по тексту:

    ОтветственныеЛицаОрганизациЙ на ОтветственныеЛицаОрганизациИ. Наименования Регистра и перечисления действительно изменились. Сразу не обратил внимания.

    Кроме того Убрал строки 80-82, 301-306 касающиеся кода ОКОНХ. Думаю его использование сейчас не актуально ,т.к. действие классификатора ОКОНХ отменено с 01.01.2003 г.

    И обработка запустилась.

    Reply
  88. ARL

    (135) Проверил на УТ 10.3.19.3. Все работает. Скорее всего у Вас было изменено имя конфигурации и замена имен объектов не происходила. Можно было просто в модуле объекта в конце прописать

    мИДБазы = «УТ».

    Reply
  89. qwerty45

    можно и так. Работает.

    А для склонения ФИО и должностей обычно пользую функцию использованную в этой обработке: http://infostart.ru/public/127533/

    Функция написана не мной. Вполне корректно склоняет имена, должности. Вот только если в склоняемом выражении второе и далее слова с заглавной буквы все делает строчными

    За Вашу обработку большое спасибо!

    Reply
  90. 1cmax

    полезно

    Reply
  91. n_lintek

    Здравствуйте. А если я хочу создать новые замены. На-пример: вставить электронную почту компании — надо быть программистом ? Или как-то можно создать самостоятельно дополнительную замену, так чтоб она бралась из нужного места в программе? А программа супер ) Еще раз спасибо за хорошую работу.

    Reply
  92. ARL

    (139) Без программирования не получиться.

    Reply
  93. chum

    (128)

    Только сейчас дошли руки…

    По номеру договора всё получилось с первого раза благодаря точному руководству. CTRL+C, CTRL+V 🙂

    Работает, теперь номер договора берётся из номера документа. То, что нужно, спасибо!!!

    А вот в папкой сохранения договоров…. зачесался затылок.

    нашёл процедуру СоздатьДоговор

    нашёл строку ИмяКаталога = КаталогВременныхФайлов();

    вы советуете

    «Нужно заменить на свой путь — видимо, стоит добавить реквизит»

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

    Какой реквизит добавить? что заменить на свой путь?

    Reply
  94. gala2009

    это внешняя форма чтоле

    Reply
  95. serg0776

    (139) n_lintek,

    тогда вам сюда http://infostart.ru/public/166683/

    Reply
  96. net7wolf

    1С:Предприятие 8.2 (8.2.18.109)

    «Управление торговлей», редакция 10.3 (10.3.29.1)

    для организации (физ лицо) ИП

    не подставляет строки

    <ДолжностьИмяРуководителяОрганизации>

    <ДолжностьРуководителяОрганизации>

    <РуководительОрганизации>

    Reply
  97. net7wolf

    ДолжностьИмяПокупателя

    ДолжностьИмяРуководителяОрганизации

    ДолжностьРуководителяОрганизации

    РуководительОрганизации

    Reply
  98. 1CService

    Замечательная вещь, полезная! Хорошо сделано. Однозначно +

    Reply
  99. Cybersant

    Даже после внедрения в УНФ встроенного механизма создания договоров по шаблону, данная обработка намного удобнее и корректнее формирует договора. Спасибо автору!

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

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *