Пример настройки шаблонов и реализации печати отчетов в документ MS Word используя функциональную часть "Библиотеки Стандартных Подсистем 1С" (БСП)

23.04.19

Разработка - БСП (Библиотека стандартных подсистем)

В конфигурации выбраны и использованы только необходимые объекты библиотеки стандартных подсистем для реализации вывода отчёта, с табличными частями, в документ MS Word. Показан пример создания необходимых областей в шаблоне для вывода параметров в отчёт.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Пример настройки шаблонов и реализации печати отчётов в документ MS Word используя функциональную часть «Библиотеки Стандартных Подсистем 1С» (БСП):
.dt 117,60Kb
43
43 Скачать (1 SM) Купить за 1 850 руб.

 

1.   Подготовка шаблона в документе Word для вывода параметров в отчёт.

Определение полей и таблиц отчёта для вывода данных из документа информационной базы.

Разбить таблицу на 2 части:

Шапка табличной части и строки табличной части.

Необходимо в документе Word - выделить строку и разделить таблицу.

В итоге должно получиться как:

2.   Сформировать области печатной формы определённым образом.

Области

Начало области имеет формат - {v8 Область.<НаименованиеОбласти>}

Конец области - {/v8 Область.<НаименованиеОбласти>}

Поля

{v8 <НаименованиеПоля>}

 

3.   Перенос общих модулей из конфигурации БСП в свою конфигурацию.

В конфигурации уже имеются общие модули - перенесенные из конфигурации 1С "Билиотека Стандартных Подсистем".

Перечень общих модулей:

 

 

4.   Создание документа

В документе созданы реквизиты и табличные части.

Макет отчёта - ПФ_DOC_МакетОтчета ("ПФ_DOC_" - это обязательный префикс в названии отчёта)

 

Создание макета документа с типом двоичные данные в который помещается документ Word (созданный ранее шаблон).

 

 

5.   Создать команду печати отчёта.

 

Настройка модулей для печати отчёта.

В процедуре "ВыполнитьПечатьВWord" модуля печати - указываются области и вывод областей в документ Word.

 

В модуле менеджера документа в процедуре "ПолучитьОписаниеОбластейМакетаОфисногоДокумента" создается структура с описанием имен и типов областей и полей отчёта.

 

В этом же модуле происходить заполнение полей отчёта данными.

Создается запрос

 

и заполняются данные параметров отчёта.

 

В итоге должен сформироваться отчёт в документе MS Word.

 

word отчет шаблон выгрузить

См. также

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Бесплатно (free)

В статье описан алгоритм для включения документа или справочника в систему БСП. Будет полезно программистам 1С, начинающим работать с БСП.

24.10.2024    1088    PROSTO-1C    0    

12

БСП (Библиотека стандартных подсистем) Работа с интерфейсом Программист Платформа 1С v8.3 Бесплатно (free)

В материале описан универсальный механизм работы с добавленными элементами на общую форму «ФормаОтчета». Думаю, облегчит работу многим разработчикам.

08.10.2024    978    PROSTO-1C    4    

10

БСП (Библиотека стандартных подсистем) Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В статье рассмотрим пошаговую инструкцию создания дополнительного отчета с фоновым формированием результата.

04.10.2024    1829    MadRave    11    

24

БСП (Библиотека стандартных подсистем) Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример отслеживания прогресса фонового выполнения дополнительной обработки с использованием программного интерфейса длительных операций БСП.

10.09.2024    1816    MadRave    1    

17

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

А что, если долгожданная реализация Паузы в 1С смутно напоминает старую, проверенную? А?!

06.09.2024    1254    n_mezentsev    10    

8

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Добавим дополнительные свойства в новый документ средствами БСП

02.09.2024    4105    John_d    10    

52

БСП (Библиотека стандартных подсистем) Программист Платформа 1С v8.3 Бесплатно (free)

Всё больше организаций выбирает для серверов под 1С операционные системы Linux. Одним из отличий систем Windows и Linux является отсутствие COM объектов, которые зачастую использовались для формирования печатных форм офисных документов (Word). Конечно, можно выполнять печать и на клиенте, но есть риск импортозамещения. В работе у меня случались проблемы с зависанием процесса Word, поэтому я не люблю его использовать.

29.07.2024    5354    PROSTO-1C    12    

52
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ВикторП 350 24.04.19 12:32 Сейчас в теме
области в макете - это просто текстовая строка ? А то написано в круглых скобках- но это не поле Word
8. olegpkc 95 26.12.19 02:16 Сейчас в теме
Добрый день.

По поводу ошибки в Общем модуле «УправлениеПечатьюСлужебный».
Такого модуля, в моём примере конфигурации, нет, как и процедуры с именем «ЗаписатьЭлементXML».

Вероятнее всего при записи файла во временной директории, по каким-то причинам, недоступна.
Хочу обратить внимание на строку № 127 модуля «УправлениеПечатьюСлужебный». При возникновении исключения во время отключения макроса Word и попытки открыть документ.
Попытка
COMОбъект.WordBasic.DisableAutoMacros(1);
COMОбъект.Documents.Open(ИмяВременногоФайла);
Исключение
COMОбъект.Quit(0);
COMОбъект = 0;
УдалитьФайлы(ИмяВременногоФайла);
Прикрепленные файлы:
2. olegpkc 95 24.04.19 20:38 Сейчас в теме
Да - это просто тестовая строка специального формата для идентификации области в функции БСП.


Функция ПолучитьПозициюНачалаОбласти(Знач COMСоединение, Знач ИдентификаторОбласти)
	
	ИдентификаторОбласти = "{v8 Область." + ИдентификаторОбласти + "}";
	
	ВесьДокумент = COMСоединение.ActiveDocument.Content;
	ВесьДокумент.Select();
	
	Поиск = COMСоединение.Selection.Find;
	Поиск.Text = ИдентификаторОбласти;
	Поиск.ClearFormatting();
	Поиск.Forward = Истина;
	Поиск.execute();
	
	Если Поиск.Found Тогда
		Возврат COMСоединение.Selection.End;
	КонецЕсли;
	
	Возврат -1;
	
КонецФункции
Показать
3. ВикторП 350 18.05.19 10:45 Сейчас в теме
Да, спасибо, правда, я уже и сам разобрался.
Плохо, что об ответе на вопрос можно увидеть только если сам зайдешь в публикацию
4. user663472_1991artem 22.07.19 12:22 Сейчас в теме
Ошибка при попытке вывести область "имяОбласти", из макета
5. olegpkc 95 29.07.19 11:29 Сейчас в теме
(4) Вероятно, что само имя области указано неверно.
6. user663472_1991artem 29.07.19 17:54 Сейчас в теме
7. user1118625 12 20.12.19 13:25 Сейчас в теме
Добрый день. При попытке печати выходит ошибка: Не найден файл который требуется открыть:

Ошибочный порядок записи XML
(Рис.2)


При разборе через конфигуратор.(см.рис.1,Рис.3) нашел что не правильно "собирается" документ *.docx. Подскажите что не так делаю?

И еще вопрос, правильно ли я понял, что в безопасном режиме не получится через расширение реализовать печать макета Ворда, т.к. требуется доступ к записи файла на диск (временный файл XML из которого собирается потом документ *.Docx)?
Прикрепленные файлы:
9. Фотиния 02.04.20 10:25 Сейчас в теме
Добрый день! Огроменное спасибо за статью! Я до большей части дошла сама, но нигде не было описано некоторых моментов, так как описано здесь.
10. user1135816 4 29.05.20 18:23 Сейчас в теме
Здравствуйте, кто-нибудь сталкивался с тем, что не сохраняется форматирование документа Word? То есть в документе все заполняется как надо, во всем документе 1 шрифт. но при выводе где-то скачет междустрочный интервал, где-то скачет шрифт на 1 единицу (с 11 до 12)? как исправить?
11. olegpkc 95 01.06.20 16:49 Сейчас в теме
Скорее всего - это проблема при форматировании самого шаблона документа Word. Нужно в документе шаблона, в меню включить видимость скрытых символов (Отобразить все знаки Ctrl+*) и отредактировать шаблон. Так же, в получаемых данных могут присутствовать лишние символы.
12. gucci76 366 30.11.22 16:48 Сейчас в теме
Зачем было картинками вставлять тексты коды?
13. olegpkc 95 04.12.22 15:07 Сейчас в теме
Так было быстрее и проще сформировать публикацию.
14. evgeni-red 94 14.09.23 10:18 Сейчас в теме
В ЗУП и ДО можно все это подсмотреть на примере СогласиеНаОбработкуПерсональныхДанных
Оставьте свое сообщение