Печать по шаблону Excel
Учетные задачи - Печатные формы
Бесплатные
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО
Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Внимание, возможен жесткий боянъ!
Есть множество инструментов, в том числе и на Инфостарте, позволяющих формировать печатные формы на основе шаблона MS Word, в составе БСП даже есть особый общий модуль для этого дела - УправлениеПечатьюMSWordКлиент. Но для таких же целей, но на основе Excel почему-то не густо, или я плохо искал ¯\_( °__°)_/¯. Тем временем Excel гораздо лучше подходит для формирования табличных документов, т.к. имеет схожую структуру с одноименным объектом 1С. Наряду с этим книгу Excel гораздо легче размечать параметрами и областями под вывод из 1С.
Суть идеи лежит на поверхности и состоит в том, чтобы прочитать средствами 1С книгу Excel в табличный документ, определить наличие областей и параметров на основании пользовательской разметки, и вывести печатную форму как обычный табличный документ.
В приложенной обработке в макете зашит образец книги Excel и реализован вывод печатной формы в табличный документ на основании образца данных. В текущем примере печатная форма имеет 3 области: Шапка, Строка и Подвал, однако с помощью пользовательской разметки шаблона можно выводить практически неограниченное количество областей. Для себя я определил, что параметры в книге выделяются квадратными скобками, например [Организация], [Номенклатура] и т.д., а области маркируются специальным текстом вида {Начало<ИмяОбласти>} и {Конец<ИмяОбласти>}, что, конечно же, можно безболезненно изменить под свои нужды. Именование параметров и областей необходимо производить с учетом правил образования имен переменных, а источник данных для вывода печатной формы следует формировать так, чтобы имена реквизитов источника совпадали с именами параметров.
Все операции по чтению книги Excel и заполнению табличного документа производятся в серверном контексте. Работает довольно шустро, если сравнивать с распаковкой, чтением и записью XML-файла Word аналогичного размера.
Из плюсов подхода: чистый 1С безо всяких примесей, легкость реализации произвольной сложной структуры печатной формы на стороне пользователя, сохранение форматирования исходной книги. Из недостатков могу отметить необходимость сплошного перебора ячеек табличного документа на предмет выявления параметров, но, как я уже сказал, субъективно работает всё очень быстро.
Обработка универсальна для всех конфигураций на управляемых формах на основе БСП 3.1, тестирование проводил на платформе 8.3.23 в ЗУП 3.1.27 в файловом режиме работы. Под доп. обработки не адаптировал, так что используем через Файл -> Открыть.
Продолжение публикации: Печать по шаблону Excel с несколькими листами
Всем удачного кодинга!
Вступайте в нашу телеграмм-группу Инфостарт