Шаблон ВПФ (внешней печатной формы) для вывода в Word

10.10.20

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

Шаблон для разработки ВПФ для БСП версии 3.1. Основные возможности: 1. Описание требуемых для вывода данных при помощи СКД. 2. Вывод в документ средствами БСП (не используется COM-соединение с word) 3. Реализована форма для тестирования без подключения обработки к БСП и без помещения документа-макета в обработку.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Шаблон ВПФ (внешней печатной формы) для вывода в Word:
.epf 27,96Kb
24
24 Скачать (1 SM) Купить за 1 850 руб.

В новых типовых конфигурациях прослеживаются следующие тенденции:

  1. Наборы данных описываются при помощи СКД.
  2. Алгоритмы вывода данных не привязаны к отдельным параметрам выходных форм.

Это позволяет отделить слой чтения и подготовки данных от слоя вывода данных.
Кроме того использование СКД позволяет сократить время на внесение изменений в печатную форму.

Во вложении шаблон который предоставляет следующие возможности:

1. Разработка внешней печатной формы:

Описание обработки:

  • Имя - уникальный идентификатор печатной формы.
  • Синоним - представление для пользователя.
  • Тип реквизита "ОбъектДляТестирования" определяет к каким объектам должна быть подключена ВПФ.

Простой запрос:

Вычисляемые данные описываются при помощи выражений:

 

Итоги по табличной части описываются в ресурсах:

Поля, которые надо вывести в печатную форму детализируются до примитивных типов в настройках:

Шаблон печатной формы разрабатывается в текстовом редакторе:

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

2. Форма для тестирования:

Позволяет тестировать обработку без подключения к БСП и без загрузки макета в обработку.
Это позволяет существенно быстрее подгонять СКД и макет к единым именам полей и сразу же проверять корректность внесенных изменений.

Проверено на базе данных: Демонстрационная конфигурация "Библиотека стандартных подсистем", редакция 3.1 (3.1.3.289) 

ВПФ внешняя word БСП СКД

См. также

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

Синтакс-помощник БСП - cправочник по библиотекам стандартных подсистем и электронных документов. В состав справочника входит описание экспортных процедур и функций, размещенных в областях кода ПрограммныйИнтерфейс БСП и БЭД.

1800 руб.

21.11.2024    3907    16    15    

19

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

Расскажу, как использовать полезный функционал - инструментарий разработчика «1С:Библиотека стандартных подсистем» (БСП) в своих объектах метаданных. Статья будет полезна как шпаргалка при написании собственных объектов метаданных.

27.12.2024    3864    PROSTO-1C    15    

44

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

Синтакс-помощник БСП - справочник по Библиотеке Стандартных Подсистем, профессиональный инструмент разработчика с интуитивно понятным интерфейсом. Читайте в статье как использовать все возможности справочника и сделать работу с БСП более комфортной и эффективной.

11.12.2024    4085    gorenski    0    

8

БСП (Библиотека стандартных подсистем) Менеджеры внешних отчетов Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление холдингом Абонемент ($m)

За последние лет 5 несколько раз сталкиваюсь с проблемой на разных проектах (в конфигурациях 1С:ERP, 1С:ERP УХ и многих других, основанных на БСП), когда много пользователей (около 30 тысяч) в информационной базе, время добавления доступа для пользователей занимает значительное время. Открытие списка занимает от 10 до 15 секунд, и каждое изменение списка еще примерно столько же.

1 стартмани

10.12.2024    1094    Iaskeliainen    2    

7

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

Некоторые нюансы, если вы захотите создавать свои расширения. Доработка отчета "Связанные документы" для отражения документов расширения. Печатные формы с шаблоном Word.

20.11.2024    3558    milkers    3    

12

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

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

24.10.2024    1839    PROSTO-1C    0    

19

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

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

08.10.2024    1434    PROSTO-1C    4    

14
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. malikov_pro 1327 10.10.20 16:27 Сейчас в теме
"Вывод в документ средствами БСП (не используется COM-соединение с word)" - предположу что DOCX с использованием разбора XML.

Не понял как состыковывается запрос с "Область".

Недавно вышла подобная более широкая обработка от FatPanzer https://infostart.ru/public/1293794/ и есть мои наработки для google doc с тем же подходом с областями https://infostart.ru/1c/articles/1283766/, можно организовать "комбайн" с открытым исходным кодом добавив работу с LibreOffice и когда руки дойдут с ONLYOFFICE.
2. Gladkov_Anton 349 10.10.20 20:54 Сейчас в теме
(1) 1. БСП действительно работает с XML.

2. Никакой "магии" в стыковке областей нет. Есть процедура вывода данных в документ.
Кратко алгоритм такой:
ДеревоЗначений = СКД_в_ДеревоЗначений(...)
Для Каждого СтрокаДокумент Из ДеревоЗначений.Строки Цкил
     ВывестиШапку(...)
     Для Каждого СтрокаТовары Из СтрокаДокумент.Строки Цикл
          ВывестиСтроку(...)
     КонецЦикла
КонецЦикла
Показать

3. Обработка не предлагает оригинальных подходов.
Цель прямо противоположная - использовать стандартные механизмы, понятные различным разработчикам:
* Читаем при помощи СКД
* Выводим при помощи БСП
3. malikov_pro 1327 10.10.20 21:20 Сейчас в теме
(2) "использовать стандартные механизмы, понятные различным разработчикам" - поддерживаю переиспользование типовых с объяснением как работает, многим не хватает сил/умения нормально разобраться.

"Есть процедура вывода данных в документ." - предположил что все за счет имен запросов СКД.

Посмотрите как сделано в УНФ, они через переменные пошли, сильно не копал т.к. в приоритете была реализация через google.
4. malikov_pro 1327 10.10.20 21:26 Сейчас в теме
(2) Для word не нашел нормальной работы с картинками, с колонтитулами было, но не на поверхности + в типовой реализации был некорректный флаг состыковки таблиц, возможно поправили.

Общая мысль сделать заготовку из которой на выбор (используя адаптеры) можно печатать в word/libre/google.

Рядом задачи
* как фиксировать в версиях прикрепленных к документу файлов сформированные документы для дальнейшего использования в исходящих почтовых сообщениях.
* как написать обработку чтобы без ошибок отрабатывала печать с отправкой на почту из документа.
5. unknown181538 159 02.04.24 12:31 Сейчас в теме
Я выпилил СКД, подрихтовал, и мне очень помогло в разработке формы.
Но к сожалению, работает из дополнительных обработок только если пользователь сначала открыл файл интерактивно.
Пока не получается пофиксить. Но, возможно, дело в том, что я уже что-то допилил.
6. unknown181538 159 02.04.24 12:36 Сейчас в теме
(5) ну вот... стоило написать, и все получилось.
Может, у кого такая же будет проблема:

// ++ Азов 02.04.2024
&НаСервере
Процедура ЗаполнитьПФНаСервере()
		ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
		ТаблицаПечатныхФорм = ОбработкаОбъект.ПолучитьТаблицуПечатныхФорм();
		ПечатныеФормы.Добавить(ТаблицаПечатныхФорм[0].Идентификатор, ТаблицаПечатныхФорм[0].Представление, Истина);
КонецПроцедуры     
// --

&НаКлиенте
Процедура ВывестиПечатнуюФорму(МассивОбъектов, ИменаМакетов, ДвоичныеДанныеМакета = Неопределено)
	// ++ Азов 02.04.2024
	Если ПечатныеФормы.Количество() = 0 Тогда 
		ЗаполнитьПФНаСервере();  
		ИменаМакетов = ПечатныеФормы.ВыгрузитьЗначения();
	КонецЕсли;           
	// --
	Результат = ПечатьНаСервере(МассивОбъектов, ИменаМакетов, ДвоичныеДанныеМакета);
	УправлениеПечатьюКлиент.ПечатьДокументов(Результат.КоллекцияПечатныхФорм, Результат.ОбъектыПечати);
	
КонецПроцедуры
Показать
Оставьте свое сообщение