Создание обработки для печати данных из 1С в WORD за несколько шагов.
Дополнительная обработка для конфигураций на управляемых формах (УТ 11, УНФ, Розница, БП и прочие около БСП).
При подключении прописывает две команды для запуска ВОРД с заменой параметров и для вызова диалога редактирования шаблона.
Возможности:
- Легкость оформления табличных частей шаблона (без мороки с областями)
- Автоматический подхват дополнительных свойств объекта
- Справочная информации о местонахождении данных параметра
- Хранение шаблона в информационной базе (действует для всех пользователей)
- Подсветка незаполненных параметров
- Безграничное создание печатных форм с разными шаблонами
Регламент создания экземпляра:
- Переименовать Имя и Синоним обработки
- Загрузить первоначальный шаблон в макет «ПФ_DOC_Шаблон»
- Изменить тип реквизита формы «ВыбДокумент» на тип объекта к которму будет цепляться обработка
- В модуле объекта, в функции «СведенияОВнешнейОбработке», отредактировать массив назначений
- В модуле объекта, в функции «ДанныеДляПечати» изменить запрос
- Прописать дополнительные параметры, установить форматы
- Заполнить пояснения к параметрам, если требуются (Модуль объекта, функция «ОписаниеПараметров»)
Как редактировать и сохранять шаблон:
Для редактирования шаблона, необходимо в диалоге выбрать команду «Редактировать». После этого выведится диалоговое окно с запросом о запуске WORD. После нажатия на кнопку «Продолжить», запускается ВОДР с шаблоном. Если происходит первый запуск, то шаблон берётся из макета обработки. Если шаблон уже редактировался в пользовательском режиме, то запускается последняя редакция шаблона.
После окончания редактирования, документ WORD следует закрыть, подтвердив изменения. В 1С в диалоговом окне нажать кнопку «Завершить редактирование». После этого отредактированный шаблон сохранится в базе 1С.
Требование к оформлению шаблона:
- Параметр для замены должен обозначаться в виде имени параметра, без пробелов, в квадратных скобках. Например: [ИмяПараметра]
- В тексте шаблона должны отсутствовать квадратный скобки «[» и «]». За исключением случаев обозначения параметра.
- Параметры, применяемые в табличной части, должны быть указаны только в строке таблице. Самостоятельное их использование не допускается.
Техническая информация
Где хранится шаблон: Отредактированный шаблон сохраняется в регистре сведений «ПользовательскиеМакетыПечати». Ключ записи зависит от имени обработки, поэтому что бы создать независимый экземпляр обработки, со своим уникальным шаблоном, нужно изменить имя обработки на новое. В пользовательском режиме, эти «служебные записи» в пользовательских макетах не видны.
Как происходит замена параметров: В общем смысле, в шаблоне ВОРД последовательно ищутся слова в квадратных скобках, если найденному слову есть соответсвущий параметр, то подставляется этот параметр, если параметра нет, то слово обрамляется в три символа решётки с каждой стороны и поиск происходит дальше.
Как-то очень «куцо» описано… Так и не понятно, как именно надо создавать шаблон.
Ну а платить 10 sm за кота в мешке как-то не очень хочется.
(1) CyberCerber, процесс редактирования шаблона WORD в пользовательском режиме интересует? В чём вопрос?
(2) да. Так а вообще, в каком режиме это следует делать? На кого ориентирована обработка?
(3) CyberCerber, добавил описание процесса редактирования шаблона. Обработка предназначена для пользователей. После того как программист подкорректирует под конкретные требования. В дальнейшем выложу демки для типовых конфигураций для реального использования.
В текущей поставке обработка запускаться в любых типовых конфигурациях. Тестовые данные также не привязаны к конфигурации. Так что можно смотреть пример запроса в исходнике.
Еще пара вопросов:
1. Как происходит распознавание и печать таб. частей? Что, если на печать надо вывести несколько?
2. Где шаблоны хранятся в базе?
(5) CyberCerber, в данной реализации реализована печать только одной табличной части, как правило этого достаточно.
Шаблоны хранятся в регистре сведений «Пользовательские макеты печати», визуально их не видно. В качестве ключа используется идентификатор обработки (имя).
Замена в водре происходит хитрым образом )) — последовательный поиск параметра. При такой схеме стало возможно распознать строку. Если имя параметра не нашёлся в основных параметрах, он ищется в табличных. Если нашёлся в табличных — значит строка таблицы. Клонируем её и заполняем.
Думаю это стоит 10 sm и звезды. Технология уникальна )). Нет аналогов на IS!
(7)
как это!
http://infostart.ru/public/22106/
а поискать?
(8) spy-83, и что я вижу — там использование областей. Для обозначения строки таблицы в том числе.
(7) вот тоже не могу удержаться ))
но лучше
(10) K_A_O, так ведь и у вас области используются! Шапка таблицы, подвал, детали. Не так ли?! А модель заполнения таблицы без области где?
Зачем объяснять пользователю что такое области и для чего они нужны, когда можно обойтись без них?!
(11) области используются как раз для того, чтобы ускорить заполнение документа, последовательный поиск параметров очень долгий, а по поводу уникальности метода, такое уже реализовано в конфигурации Crm УТ:Рарус,
(12) karpik666, имел в виду не перебор всех имеющихся предопределённых параметров, а поиск в самом документе ВОРД — ищется слово обрамлённое в квадратные скобки. Только после нахождения в ворде, ищется его значение для подстановки. Что-то типа поиска в ворде по маске «[» + ЛюбоеСловоБезПробелов + «]».
Поэтому количество предопределенных параметров в 1С, скорость замены в ворде не зависит. Хоть 1000 параметров помещайте.
(11) Признаю, что здесь сделано много красивого для пользователя.
У меня просто быстрое создание отчета, полученного конструктором выходной формы.
Но хочу сказать, что области не нужны, если есть только шапка. Работает примерно так же как у вас.
Для табличных частей области нужны обязательно, но зато можно вывести несколько табличных частей.
В случае сложных макетов, программисту достаточно один раз подготовить.
Мне кажется цену надо повысить до 1000 $m, чтобы был стимул взять именно эту обработку, а скажем не вот эту…
Документы в Word без конфигуратора
А как обстоят дела с OpenOffice? Только MS Word?
(16) Aquashop, не поддерживается. В обработаке задействованы скрипты (в офисе).
Немного из истории вопроса, поиск и замена в вордятине работают не очень стабильно, гораздо выгодней использовать параметры ворд, это значительно быстрее. Кстати у поиска и замены есть ограничения на количество символов, которые можно соответственно искать и потом заменят.
*заменять. Неудобство в том, что длинные строки, как то к примеру наименование организации (есть такие у которых наименование строк на 8), многострочне вещи сделанные через символы.пс с заменой не очень дружат и работают не стабильно, тут работаю, там не работаю. Поэтому поиск и замену в ворд (это лично мое мнение) считаю тупиковым направлением.
прощу прощения за орфографию и пунктуацию, меня отвлекли раз 30 пока писал.