Печать почтовых конвертов из документов и справочников.



Долго искал что-то подобное, но не нашел!
Печать почтовых конвертов из документов и справочников!

Обновление от 03.11.2011

Вложил в архив файл шрифта.

Часто возникающая ошибка:

Ошибка при проверке файла КаталогВременныхФайлов()+»temp.tmp»

Решение

Изменен алгоритм проверки файла шрифта — без записи временных файлов.

Обновление от 29.10.2011

Добавлена поддержка конфигурации Управление Торговлей ред.10.3

Обновление от 28.10.2011

Добавлена поддержка конфигурации Комплексная Автоматизация. Из-за того, что в конфигурации нет документа «Оказание услуг», этит тип документа был исключен из авторегистрации и теперь его надо добавить вручную. В противном случае в КА в хранилище не загружается сама обработка печати!

Исправлены найденные ошибки и недочеты.

В планах: включить поддержку УТ 10.3. Возможно включить УНФ и УТ 11.

Обновление от 25.10.2011

Форматирование адреса по рекомендованным правилам написания адреса на конвертах.

Увеличил размер шрифта написания адресов и корреспондентов.

Исправление мелких ошибок и недочетов.

Обновление от 17.10.2011

Исправлены выявленные ошибки

Выпуск от 16.10.2011

Печатная форма предназначены для печати конвертов прямо из документов БП.2.0

Поддерживаемые документы и справочники:

  • Реализация товаров и услуг
  • Поступление товаров и услуг
  • Оказание услуг (в конфигурации Бухгалтерия предприятия 2.0 документ необходимо добавить вручную из-зи особенности с интеграцией с другими конфигурацими)
  • Справочник: Контрагенты
  • Справочник: Физические лица

В обработке есть бинарный макет с файлом штрифта Индекса как на обычных конвертах, при первом запуске обрабокта делает проверку наличия этого шрифта в системном каталоге шрифтов. Если файл не находится — в каталог шрифтов копируется сам шрифт. На системах Windows Vista/7 или с органиченным доступов — необходимо в первый раз запустить под полными правами системы!

Обработка уже имеет перечень самых распространенных размеров конвертов

 

  • Конверт DL (11см х 22см)
  • Конверт C5 (16,2см х 22,9см)
  • Конверт B6 (17,6см х 25см)
  • Конверт Monarch (9,84 х 19,5см)
  • Конверт N10 (10,48см х 24,13см)

Рекоменду для работы с этой печатной формой использовать конверты без нанесенной типографской информации!

Так же можно использовать дополнительные параметры печатной формы

Допустимые имена параметром  и значени

  • ПроверятьШрифт (Булево) Да — будет каждый раз проверять наличие шрифта, Нет — работает без проверки
  • ИмяМакета (Строка) — переменная в которой будет содержаться имя макета коверта чтобы каждый раз не выбирать
    • Возможные значения
      • КонвертDL
      • КонвертC5
      • КонвертB6
      • КонвертMonarch
      • КонвертN10

Так же можно настраивать отборы и соответствующие макеты стандартными средствами конфигурации!

Если организация — индивидуальный предприниматель, в этом случае берется адрес информаирования физического лица предпринимателя

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

Для контрагентов —  фактический адрес

Для физических лиц — адрес информирования.

 

Если будите сохранять бинарный макет шрифта вручную — имя шрифта «ZIPcode.ttf». Брал в интернете (где точно уже не помню — на авторство и права не претендую! Автору шрифта — большое спасибо

59 Comments

  1. Georgsius

    Спасибо, буду теперь встраивать в свою конфигурацию.

    Reply ↓
  2. e-katerina

    Открыла обработку, как внешний файл.

    Выбрала контрагента из справочника -> выполнить и появляется вот такая ошибка:

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

    Если ДополнительныеПараметры.Свойство(«ПроверятьШрифт») Тогда

    Хорошо бы добавить проверку:

    Если ТипЗнч(ДополнительныеПараметры) = Тип(«Структура») Тогда
    Если ДополнительныеПараметры.Свойство(«ПроверятьШрифт») Тогда

    —————-

    Функция ВыбратьОрганизацию() опечатка 🙂

    ВыборанныйЭлемент = СписокОрганизаций.ВыборатьЭлемент(«Выберете организацию-отправителя»);

    —————-

    Процедура КнопкаВыполнитьНажатие(Кнопка)
    Печать().Показать();

    Не корректно, если функция Печать() возвращает Неопределено, лучше бы как-то так:

     ТабДок = Печать();
    Если ТабДок<>Неопределено Тогда
    ТабДок.Показать();
    КонецЕсли;
    

    А в целом +!

    Reply ↓
  3. den_vladimir

    (2) Спасибо за комментарии — поправлю!

    На счет выбора Организации — у меня всегда указана фирма по-умолчанию, вот и не проверил!

    Reply ↓
  4. gutentag

    ошибка в бух-2.0:

    Не удалось сформировать внешнюю печатную форму!

    Ошибка при вызове метода контекста (Прочитать): Файл не обнаружен ‘C:Documents and SettingsadmLocal SettingsTemp emp.tmp’

    Reply ↓
  5. den_vladimir

    тут либо доступа нет (хотя используется каталог временных файлов), либо антивирь сразу чистит, либо я хз! у меня 7-ка проф — работает, как часы!

    Reply ↓
  6. galyausik1

    Полезная штука.

    Reply ↓
  7. bazcom

    Спасибо за публикацию. Уже пару раз пригодилась!

    Reply ↓
  8. kng67

    Помогите, пожалуйста, разобраться.

    1С 8.2 Комплексная автоматизация.

    Добавила обработку, как дополнительную внешнюю печатную форму.

    Установила ч/з Изменить параметры: ПроверитьШрифт=Нет, ИмяМакета=КонвертDL

    Выдает ошибку: Поле объекта не обнаружено (ОСНОВНАЯОРГАНИЗАЦИЯ)

    Если: ПроверитьШрифт=Да, то выдает другую ошибку: Ошибка при вызове метода контекста (Прочитать): Файл не обнаружен ‘D:Documents and SettingsadminLocal SettingsTemp emp.tmp’

    Такая обработка очень нужна! Руководитель добивается, чтобы секретарь не подписывала конверты ручкой, а печатала из 1С на принтере.

    Автору разработки и всем протянувшим руку помощи заранее благодарна!

    Reply ↓
  9. napan

    Великолепная обработка, еще бы марки вставлял ))))) Шутка….Понравилась, очень приятная, Автору огромное спасибо!!!

    Reply ↓
  10. den_vladimir

    (8) написал в личку

    (9) Спасибо за отзыв!

    Я постараюсь адаптировать обработку для наиболее частых и популярных конфигураций.

    Reply ↓
  11. NMankina

    Запускаю обработку, и выдает ошибку:

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

    Текст.Прочитать(КаталогВременныхФайлов()+»temp.tmp»);

    по причине:

    по причине:

    Файл не обнаружен ‘C:Documents and Settings…Local SettingsTemp1 emp.tmp’

    в чем причина? Может, что не так делаю?

    работаем в терминальном режиме, конфигурация Бухгалтерия предприятия, редакция 2.0 (2.0.27.10)

    Reply ↓
  12. den_vladimir

    возможно антивирь блочит, может с правами траблы… у меня вын 7 проф с включенным UAC и файерволом. все работает!

    Reply ↓
  13. kng67

    Автору большое спасибо!

    В дополнительных параметрах обработки поставила ПроверятьШрифт=Нет. Печать пошла. Ура!!!

    Reply ↓
  14. den_vladimir

    (13) Очень рад за Вас!

    Принимаю пожелания!

    Reply ↓
  15. olesechka

    Ошибка при вызове метода контекста (Прочитать): Файл не обнаружен ‘C:Documents and Settings…Local SettingsTemp emp.tmp

    Что делать?

    У меня 1С:Предприятие 8.2 (8.2.14.532)

    Помогите пожалуйста…

    Reply ↓
  16. kng67

    (15)Была таже ошибка. В дополнительных параметрах обработки поставила ПроверятьШрифт=Нет. Ошибка исчезла.

    Reply ↓
  17. den_vladimir

    Постараюсь найти способ как-то обойти эту ошибку — там у меня команда обнаружения системного каталога винды, и помещается она в этот temp файл. видимо системы у людей неадекватно реагируют на него…

    А пока выложу просто файл шрифта. Я хотел, чтоб шрифт сам записывался в системе…

    Reply ↓
  18. Makushimo

    Вот это не понятно:

    «Добавлена поддержка конфигурации Комплексная Автоматизация. Из-за того, что в конфигурации нет документа «Оказание услуг», этит тип документа был исключен из авторегистрации и теперь его надо добавить вручную. В противном случае в КА в хранилище не загружается сама обработка печати!»

    что нужно добавить и куда «вручную» чтобы на КА8 не проверял документ ОказаниеУслуг.

    пока что я просто закоментировал две строки кода в функции Печать где идет обращение к документу ОказаниеУслуг

    Далее при печати из справочника Контрагенты пишет «У организации не указан индекс»

    хотя в справочнике организхации у всех «Почтовый адрес» заполнен с индексами.

    В общем работает только из документа «РеализацияТоваровИУслуг».

    Идея на 5+. только подшлифовать чутка.

    И подскажи как доделать чтобы на КА 8 работало?

    Reply ↓
  19. den_vladimir

    (18)

    Makushimo пишет:

    что нужно добавить и куда «вручную» чтобы на КА8 не проверял документ ОказаниеУслуг.

    пока что я просто закоментировал две строки кода в функции Печать где идет обращение к документу ОказаниеУслуг

    Ничего не надо комментировать — обработка и так работает нормально. Я проверял со всеми объектами конфигурации, с которыми заявлен функционал.

    Makushimo пишет:

    Далее при печати из справочника Контрагенты пишет «У организации не указан индекс»

    хотя в справочнике организхации у всех «Почтовый адрес» заполнен с индексами.

    Адрес должен быть забит не произвольным способом! В идеале из КЛАДРа! В обработке идет проверка поля индекса из РегистраСведений.КонтактнаяИнформация. Там Поле0, вроде, это индекс! Если у Вас адрес забит произвольным способом — обработка работать не будет! Если адрес заполнен по правилам — пришлите плз скрин окна адресной информации (важные моменты, если хотите, можно заштриховать) или скрин окна регистра сведений — я постараюсь разобраться с стуацией

    Reply ↓
  20. МариМе

    У нас тоже при печати пишет «У организации не задан индекс» Заполнено все из КЛАДР. Может я обработку не верно подцепила? Какой порядок действий должен быть?

    Reply ↓
  21. den_vladimir

    (20) Какая конфигурация?

    Reply ↓
  22. МариМе

    УТ 10.3 релиз (10.3.12.3) платформа 8.2

    Reply ↓
  23. den_vladimir

    (22) Я тестировал на версии 10.3.13. там все нормально проходило!

    Reply ↓
  24. greyboy666

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

    Reply ↓
  25. АлексейН

    Обалденная обработка, отдам бухгалтеру, а то ей корреспонденцию (конверты) руками подписывает.

    Огромное спасибо.

    Reply ↓
  26. Tangram

    Отличная обработка! Спасибо!

    Reply ↓
  27. gutentag

    В типовой бух-2.0 форма не выводит на печать поле «Населенный пункт» получателя.(у отправителя не проверял)

    ——

    Имхо лучше бы добавить возможность вывода адреса как он представлен/виден в поле «почтовый адрес» — пусть не корректно, зато всем понятно.Имхо.

    Reply ↓
  28. gutentag

    В остальном — Спасибо — вещь полезная ! 🙂

    Reply ↓
  29. dtitov

    Большое спасибо за обработку. Очень помогла. С удовольствием плюсую!!!

    Reply ↓
  30. gutentag

    (0) Афтор-р-р у Вас ОшиПки В Обработк-е-е-е-е-е-е-е-е-е-е-е-е-е-е:

    строку 381 заменить на

    ПредставлениеАдресаОрганизации2 = СокрЛП(КонтактныеДанныеОраганизации.Поле4+

    ПредставлениеАдресаОрганизации2 = СокрЛП(КонтактныеДанныеОраганизации.Поле5+», «+КонтактныеДанныеОраганизации.Поле4+

    строку 425 заменить на

    ПредставлениеАдресаКонтрагента2 = КонтактныеДанныеКонтрагента.Поле4+

    ПредставлениеАдресаКонтрагента2 = КонтактныеДанныеКонтрагента.Поле5+», «+КонтактныеДанныеКонтрагента.Поле4+

    // и тогда исчезнут ошибки указанные в посте (27) для Бух-2.0. Ну вовсяком случае у меня исправилось 🙂

    Reply ↓
  31. MaxS

    Перед большим индексом должны быть черточки, т.е. код нужно поправить:

    ОбластьМакетаКонверт.Параметры.ИндексПолучательБольшой = «-» + ИндексКому;

    Макет КонвертC5 пришлось подогнать к состоянию, похожему на оригинал.

    А в целом, спасибо за обработку. Пользуюсь 😉

    Reply ↓
  32. MaxS

    Даже не знаю где спросить. 😉 24 листа формата А4. В каком конверте отправить, чтобы не нарушить почтовые правила? И сколько нужно конвертов? Вес получился примерно 125 грамм.

    Reply ↓
  33. den_vladimir

    (31) MaxS, большое спасибо! Вставлю!

    Reply ↓
  34. den_vladimir

    (30) gutentag, спасибо, учту!

    Reply ↓
  35. АлексейН

    Автору огромное СПАСИБО.

    Reply ↓
  36. Cbr

    Очень полезно, спасибо автору.

    Reply ↓
  37. 'njz

    Уважаемый автор!

    У меня Предприятие 8.2. Бухгалтерия для Украины 1.2.

    Ваща обработка не хочет работать , выдает такое сообщение:

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

    Если Организация.Пустая() Тогда

    Посоветуйте, пожалуйста, что можно сделать.

    belousovata@yandex.ru

    Заранее благодарна.

    Reply ↓
  38. den_vladimir

    (37) Мне необходим хотя бы образец конфигурации… под конфу для Украины я не затачивал…

    Reply ↓
  39. nataon

    Плюс автору, полезная обработка

    Reply ↓
  40. SALE40

    Помогите пожалуйста УТ 10,3 выдает ошибку

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

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

    по причине:

    по причине:

    {(13, 23)}: Поле не найдено «КонтактнаяИнформация.ТипДома»

    КонтактнаяИнформация.<<?>>ТипДома,

    Reply ↓
  41. ivdic

    Как насчет управляемых форм.. Оч. нужно для документооборота

    Reply ↓
  42. kanalex

    Выдает ошибку в конфигурации Бух. КОРП 2.0

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

    Если Организация.Пустая() Тогда

    Reply ↓
  43. mms76

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

    Reply ↓
  44. mms76

    Заменил код в модуле обработки:

    ПредставлениеАдресаКонтрагента2 = ?(НЕ ПустаяСтрока(КонтактныеДанныеКонтрагента.Поле4),», «+КонтактныеДанныеКонтрагента.Поле4,»»)+
    ?(НЕ ПустаяСтрока(КонтактныеДанныеКонтрагента.Поле5),», «+КонтактныеДанныеКонтрагента.Поле5,»»)+
    ?(НЕ ПустаяСтрока(КонтактныеДанныеКонтрагента.Поле3),», «+КонтактныеДанныеКонтрагента.Поле3,»»)+
    ?(НЕ ПустаяСтрока(КонтактныеДанныеКонтрагента.Поле2),», «+КонтактныеДанныеКонтрагента.Поле2,»»);
    
    Reply ↓
  45. ben_art

    А для ЗУПа работать будет ?

    Reply ↓
  46. tadem

    вобщем у меня в комлексной говорит что не видит индекса. Хотя точно занесен через КЛАДр. Что делать?

    Reply ↓
  47. pzu

    УТ 10.3

    при формировании конверта ошибка

    ————

    {ВнешняяОбработка.ПечатьКонверта.МодульОбъекта(297)}: Поле объекта не обнаружено (ИндивидуальныйПредприниматель)

    ОбъектКонтактнойИнформации = Объект.ИндивидуальныйПредприниматель;

    ——

    нет такого поля в справочнике на самом деле. Что имелось ввиду?

    Reply ↓
  48. makas

    Обработка перестала работать в последних релизах БП 2.0(когда 1С сменила наименование адресных полей) — пишет, что

    не указан адрес
    Reply ↓
  49. den_vladimir

    Уже давно не обновлял обработку. Постараюсь подправить под текущие реалии

    Reply ↓
  50. makas

    (49)

    я исправил глюк в свей программе(из-за неправильного обмена БП-УТ контактная информация былв доступна/видима только под пляски бубна) Обработка заработала — ОК!

    Reply ↓
  51. s_uu

    Добрый день, для УТ-11 заработала??

    Reply ↓
  52. tazmag

    Прикольная штука, надо попробовать!

    Reply ↓
  53. marat10

    под УТ 11.1 8.3 обработку нет ли в планах выпустить?

    Reply ↓
  54. den_vladimir

    В данный момент занимаюсь разработкой аналогичной обработки для БП 3.0, если большой разницы работы с адресами в БП и УТ нет — значит и под УТ будет =)

    Reply ↓
  55. max_vorzhev

    Под УПП 1.3 пишет что обработка будет работать не корректно. Предлагает обратиться к разработчику)

    Reply ↓
  56. Solo1

    А можно сделать так, чтобы распознавался произвольным образом забитый адрес? Зачем нужно обязательно его из КЛАДРа забивать?

    Reply ↓
  57. den_vladimir

    (56) Solo1, произвольный адрес на то и произвольный, что его невозможно универсально распознать. Кто-то напишет его одним образом, другой другим…

    Reply ↓
  58. den_vladimir

    Давно не занимался этой обработкой. Спасибо всем, кто комментировал, находил ошибки и использует эту обработку.

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

    На счет изменения наименований реквизитов адресного регистра — постараюсь все таки исправить и выложить.

    Reply ↓
  59. den_vladimir

    Разработка остановилась на полпути.

    В версии БП 3.0 (3.0.44.94) появилась своя обработка печати почтовых конвертов.

    Я попробую дописать свою с каруселями и официантками, но не прошу ждать чудес — работы валом, а эта разработка ведется в свободное от работы время.

    Reply ↓

Leave a Comment

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