Вывод на печать табличной части заказа и своих параметров в УНФ 1.6 с помощью встроенного механизма шаблонов КП и договоров

22.06.21

Разработка - Инструментарий разработчика

Фирма 1С предоставила нам в конфигурации УНФ удобный механизм печати шаблонов договоров и коммерческих предложений в форматах docx и odt. Достаточно указать нужный Word документ в настройках шаблонов раздела CRM, отметить необходимые реквизиты для подстановки их значений в Ваш договор, и пользоваться печатью. НО... мы не нашли возможности вывода в шаблон содержимого табличных частей документов, а также произвольных реквизитов, значения которых являются переменными, и наряду с типовыми реквизитами заданных документов (заказа покупателя, счета на оплаты, заказ наряда), также могут потребовать своего вывода.

Файлы

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

Наименование Скачано Купить файл
(только для физ. лиц)
Шаблон печати с произвольными параметрами
.cfe 10,00Kb
17 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Напомню вкратце стандартный механизм работы с шаблоном MS Word в УНФ. Перейдя из раздела CRM в "Шаблоны КП и договоров", увидим рабочую область, как на рис. "Стандартный механизм". После выбора необходимых стандартных реквизитов из п.3 "Выбор параметров для добавления в файл" есть возможность распечатать КП (либо договор) с расставленными в нем по кнопке "Редактировать" параметрами. Шаблон будет распечатан с необходимым наполнением.

Обработку же произвольных полей, если таковые имеются в Вашем случае, необходимо прописать в программном коде расширения или в основной конфигурации(если Вы, также как и я, не знаете другого способа вывода таких полей)

Точка входа в добавление своего алгоритма обработки произвольных параметров на момент создания этого функционала находилась в Общем модуле ШаблоныПечатиОфисныхДокументов в функции ПолучитьЗначенияНайденныхПараметров(). Чем более свежий релиз Вашей УНФ 1.6, тем более вероятность того, что точку входа в область описания параметров могли поменять разработчики ПП. 

В нашем случае необходимо было выводить в шаблон печати заказа реквизиты табличной части и несколько произвольных реквизитов(рис. Доп параметры шаблона), для получения значения каждого из которых были разработаны функции. К примеру, нужно было вывести сумму предоплаты под табличной частью. Для этого была описана функция, в которой запросом вытягивались нужные данные по оборотам регистра "РасчетыСПокупателями".

 
 Фрагмент программного кода по обработке произвольных параметров

Функция ОписаниеПараметра_дс_запрос(ДополнительныеПараметры, ПараметрДокумента)
	
	ОписаниеНовогоПараметра = Неопределено;
	
	КоличествоСтрокВЗаказе = ДополнительныеПараметры.ЗаказПокупателя.Запасы.Количество();
	
	ТЗ_Запасы = ДополнительныеПараметры.ЗаказПокупателя.Запасы.Выгрузить();

	Если ПараметрДокумента = "дс_Запрос_ЗаказПокупателя_Предоплата" Тогда
		ОписаниеНовогоПараметра = ОписаниеПараметра_дс_Запрос_ЗаказПокупателя_Предоплата(ДополнительныеПараметры, ПараметрДокумента);
	ИначеЕсли ПараметрДокумента = "дс_Запрос_ЗаказПокупателя_ПредоплатаПрописью" Тогда
		ОписаниеНовогоПараметра = ОписаниеПараметра_дс_Запрос_ЗаказПокупателя_ПредоплатаПрописью(ДополнительныеПараметры, ПараметрДокумента);		

    //реквизиты табличной части обработаны по принципу ниже..
	ИначеЕсли Найти(ПараметрДокумента, "дс_тч_Номенклатура") Тогда	   		
		инд = Число(Сред(ПараметрДокумента, 19));
        Для индекс = инд по КоличествоСтрокВЗаказе цикл
	        инд = инд-1;
	        ОписаниеНовогоПараметра = ОписаниеПараметра_дс_Запрос_ЗаказПокупателя_ПараметрыТЧ_Запасы(инд, ТЗ_Запасы, ПараметрДокумента, "Номенклатура");                
	        Прервать;
		КонецЦикла;

    //. . .

 

По данной задаче есть нерешенная "проблема". Дело в том, что в шаблоне Word может не хватить строк для позиций заказа, а динамическое добавление строк в шаблоне не предусмотрено. 

Тестировалось на платформе 8.3.16 в феврале 2020г, на релизе УНФ (1.6.19.203).

Вступайте в нашу телеграмм-группу Инфостарт

шаблон договора печать унф

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    202456    1116    410    

1021

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    35589    206    104    

195

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    23974    62    26    

92

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

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

16000 руб.

10.11.2023    16461    69    39    

88

Инструментарий разработчика Программист 1С v8.3 Платные (руб)

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

9360 руб.

17.05.2024    34665    123    53    

165

SALE! 30%

Инструментарий разработчика WEB-интеграция 1С v8.3 1C v8.2 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Инструмент для генерации OpenApi (Swagger) спецификаций на основании файлов конфигураций 1С. Это консольное и десктопное приложение на языке Rust с полноценным редактором кода, содержащим автозамену и подсвечивание ошибок для быстрого и безошибочного написания документирующего комментария.

18000 12600 руб.

22.11.2024    1722    1    0    

8

Инструментарий разработчика Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

6000 руб.

07.02.2018    107153    249    100    

313

Инструментарий разработчика 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    2864    6    0    

11
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. malikov_pro 1345 26.03.21 07:35 Сейчас в теме
Посмотрите предыдущую версию механизма работы с Word в УТ11 например, они областями пользуются.
Описание https://infostart.ru/1c/articles/1388478/

Возможно будет полезно
https://infostart.ru/1c/articles/1283766/
2. Skyvvs 24.11.22 09:41 Сейчас в теме
Управление сервисным центром, редакция 1.6 (1.6.22.48) на УНФ
Ошибка применения расширения Конфигурации: Значение контролируемого свойства КлиентОбычноеПриложение у объекта ОбщийМодуль.ШаблоныПечатиОфисныхДокументов не совпадает со значение в расширяемой конфигурации.
Подскажите как поправить?. Спасибо!
3. Rabin 53 24.11.22 10:00 Сейчас в теме
4. Skyvvs 24.11.22 10:17 Сейчас в теме
Расширение закрыто для редактирования....
5. Rabin 53 24.11.22 10:27 Сейчас в теме
(4) покажите фото сообщения об ошибке
6. Skyvvs 24.11.22 10:32 Сейчас в теме
прикрепил
Прикрепленные файлы:
7. Rabin 53 24.11.22 10:34 Сейчас в теме
(6)об этом вы уже писали. Я про это: "Расширение закрыто для редактирования...."
8. Skyvvs 24.11.22 10:38 Сейчас в теме
конфигурация доступна только для чтения
Прикрепленные файлы:
9. Rabin 53 24.11.22 10:49 Сейчас в теме
(8) Попробуйте так:

1) Конфигурация - Расширения конфигурации
2) Создаете новое расширение через "зеленый круг с плюсом"
3) Далее загружаете скачанное здесь расширение поверх созданного в п.2 пустого (см.рис.)
Прикрепленные файлы:
10. Skyvvs 24.11.22 10:57 Сейчас в теме
спасибо все получилось...
Оставьте свое сообщение