Заготовка для вывода данных из 1С в WORD






Создание обработки для печати данных из 1С в WORD за несколько шагов.

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

При подключении прописывает две команды для запуска ВОРД с заменой параметров и для вызова диалога редактирования шаблона.

Возможности:

  • Легкость оформления табличных частей шаблона (без мороки с областями)
  • Автоматический подхват дополнительных свойств объекта
  • Справочная информации о местонахождении данных параметра
  • Хранение шаблона в информационной базе (действует для всех пользователей)
  • Подсветка незаполненных параметров
  • Безграничное создание печатных форм с разными шаблонами

Регламент создания экземпляра:

  1. Переименовать Имя и Синоним обработки
  2. Загрузить первоначальный шаблон в макет «ПФ_DOC_Шаблон»
  3. Изменить тип реквизита формы «ВыбДокумент» на тип объекта к которму будет цепляться обработка
  4. В модуле объекта, в функции «СведенияОВнешнейОбработке», отредактировать массив назначений
  5. В модуле объекта, в функции «ДанныеДляПечати» изменить запрос
  6. Прописать дополнительные параметры, установить форматы
  7. Заполнить пояснения к параметрам, если требуются (Модуль объекта, функция «ОписаниеПараметров»)
Как редактировать и сохранять шаблон:
 Для редактирования шаблона, необходимо в диалоге выбрать команду «Редактировать». После этого выведится диалоговое окно с запросом о запуске WORD. После нажатия на кнопку «Продолжить», запускается ВОДР с шаблоном. Если происходит первый запуск, то шаблон берётся из макета обработки. Если шаблон уже редактировался в пользовательском режиме, то запускается последняя редакция шаблона.
После окончания редактирования, документ WORD следует закрыть, подтвердив изменения. В 1С в диалоговом окне нажать кнопку «Завершить редактирование». После этого отредактированный шаблон сохранится в базе 1С.
 

Требование к оформлению шаблона:

  • Параметр для замены должен обозначаться в виде имени параметра, без пробелов, в квадратных скобках. Например: [ИмяПараметра]
  • В тексте шаблона должны отсутствовать квадратный скобки «[» и «]». За исключением случаев обозначения параметра.
  • Параметры, применяемые в табличной части, должны быть указаны только в строке таблице. Самостоятельное их использование не допускается.
Техническая информация
Где хранится шаблон: Отредактированный шаблон сохраняется в регистре сведений «ПользовательскиеМакетыПечати». Ключ записи зависит от имени обработки, поэтому что бы создать независимый экземпляр обработки, со своим уникальным шаблоном, нужно изменить имя обработки на новое. В пользовательском режиме, эти «служебные записи» в пользовательских макетах не видны.
Как происходит замена параметров: В общем смысле, в шаблоне ВОРД последовательно ищутся слова в квадратных скобках, если найденному слову есть соответсвущий параметр, то подставляется этот параметр, если параметра нет, то слово обрамляется в три символа решётки с каждой стороны и поиск происходит дальше.  



19 Comments

  1. CyberCerber

    Как-то очень «куцо» описано… Так и не понятно, как именно надо создавать шаблон.

    Ну а платить 10 sm за кота в мешке как-то не очень хочется.

    Reply
  2. binex

    (1) CyberCerber, процесс редактирования шаблона WORD в пользовательском режиме интересует? В чём вопрос?

    Reply
  3. CyberCerber

    (2) да. Так а вообще, в каком режиме это следует делать? На кого ориентирована обработка?

    Reply
  4. binex

    (3) CyberCerber, добавил описание процесса редактирования шаблона. Обработка предназначена для пользователей. После того как программист подкорректирует под конкретные требования. В дальнейшем выложу демки для типовых конфигураций для реального использования.

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

    Reply
  5. CyberCerber

    Еще пара вопросов:

    1. Как происходит распознавание и печать таб. частей? Что, если на печать надо вывести несколько?

    2. Где шаблоны хранятся в базе?

    Reply
  6. binex

    (5) CyberCerber, в данной реализации реализована печать только одной табличной части, как правило этого достаточно.

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

    Замена в водре происходит хитрым образом )) — последовательный поиск параметра. При такой схеме стало возможно распознать строку. Если имя параметра не нашёлся в основных параметрах, он ищется в табличных. Если нашёлся в табличных — значит строка таблицы. Клонируем её и заполняем.

    Reply
  7. binex

    Думаю это стоит 10 sm и звезды. Технология уникальна )). Нет аналогов на IS!

    Reply
  8. spy-83

    (7)

    Нет аналогов на IS!

    как это!

    а поискать?

    http://infostart.ru/public/22106/

    Reply
  9. binex

    (8) spy-83, и что я вижу — там использование областей. Для обозначения строки таблицы в том числе.

    Reply
  10. K_A_O

    (7) вот тоже не могу удержаться ))

    http://infostart.ru/public/18940/

    но лучше

    http://infostart.ru/public/71345/

    Reply
  11. binex

    (10) K_A_O, так ведь и у вас области используются! Шапка таблицы, подвал, детали. Не так ли?! А модель заполнения таблицы без области где?

    Зачем объяснять пользователю что такое области и для чего они нужны, когда можно обойтись без них?!

    Reply
  12. karpik666

    (11) области используются как раз для того, чтобы ускорить заполнение документа, последовательный поиск параметров очень долгий, а по поводу уникальности метода, такое уже реализовано в конфигурации Crm УТ:Рарус,

    Reply
  13. binex

    (12) karpik666, имел в виду не перебор всех имеющихся предопределённых параметров, а поиск в самом документе ВОРД — ищется слово обрамлённое в квадратные скобки. Только после нахождения в ворде, ищется его значение для подстановки. Что-то типа поиска в ворде по маске «[» + ЛюбоеСловоБезПробелов + «]».

    Поэтому количество предопределенных параметров в 1С, скорость замены в ворде не зависит. Хоть 1000 параметров помещайте.

    Reply
  14. K_A_O

    (11) Признаю, что здесь сделано много красивого для пользователя.

    У меня просто быстрое создание отчета, полученного конструктором выходной формы.

    Но хочу сказать, что области не нужны, если есть только шапка. Работает примерно так же как у вас.

    Для табличных частей области нужны обязательно, но зато можно вывести несколько табличных частей.

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

    Reply
  15. alex_4x

    Мне кажется цену надо повысить до 1000 $m, чтобы был стимул взять именно эту обработку, а скажем не вот эту…

    Документы в Word без конфигуратора

    Reply
  16. Aquashop

    А как обстоят дела с OpenOffice? Только MS Word?

    Reply
  17. binex

    (16) Aquashop, не поддерживается. В обработаке задействованы скрипты (в офисе).

    Reply
  18. vx_gas

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

    Reply
  19. vx_gas

    *заменять. Неудобство в том, что длинные строки, как то к примеру наименование организации (есть такие у которых наименование строк на 8), многострочне вещи сделанные через символы.пс с заменой не очень дружат и работают не стабильно, тут работаю, там не работаю. Поэтому поиск и замену в ворд (это лично мое мнение) считаю тупиковым направлением.

    прощу прощения за орфографию и пунктуацию, меня отвлекли раз 30 пока писал.

    Reply

Leave a Comment

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