Заготовка для вывода данных из 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 не будет опубликован. Обязательные поля помечены *