Шаблонизатор

Публикация № 1260777

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

Обработка ОП УФ Универсальная Программирование

Создание программного кода для заполнения документа по указанному шаблону.

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

Поэтому была написана данная обработка, ей указывается документ, для которого надо создать Код заполнения и в ответ в Окно сообщений или в Текстовый документ выдается программный код для программного создания и заполнения этого Документа.

Единственное, с чем не хотелось разбираться - это с Хранилищем, поэтому такие поля обработкой игнорируются.

Обратите на это внимание!

 

Сначала выдаются все реквизиты Документа ( на примере документа Авансовый отчет из УТ 10)

Объект = Документы.АвансовыйОтчет.СоздатьДокумент();
Объект.УстановитьНовыйНомер();

Объект.Дата="02.03.2019 16:11:42";
Объект.ВалютаДокумента=XMLЗначение(ИзXMLТипа("CatalogRef.Валюты",""),"0b8cc73b-1c5b-11df-8c7f-0019dbb74c8d");
Объект.Комментарий= "";
Объект.КурсДокумента=1;
Объект.КратностьДокумента=1;
Объект.Организация=XMLЗначение(ИзXMLТипа("CatalogRef.Организации",""),"0b8cc73f-1c5b-11df-8c7f-0019dbb74c8d");
Объект.ОтражатьВУправленческомУчете=true;
Объект.ОтражатьВБухгалтерскомУчете=true;
Объект.ОтражатьВНалоговомУчете=true;
Объект.Подразделение= "";
Объект.СкладОрдер=XMLЗначение(ИзXMLТипа("CatalogRef.Склады",""),"6697310c-1c5d-11df-8c7f-0019dbb74c8d");
Объект.СуммаВключаетНДС=true;
Объект.СуммаДокумента=9994.98;
Объект.ТипЦен= "";


Потом для каждой Табличной части выполняется следующее:

подготавливается Таблица Значений с нужными Типами в колонках

ТЗ = Новый ТаблицаЗначений;
Массив = Новый Массив;
Массив.Добавить(ИзXMLТипа("string",""));
ТипВидДокВходящий=Новый ОписаниеТипов(Массив,,,);
ТЗ.Колонки.Добавить("ВидДокВходящий",ТипВидДокВходящий);

...

в том числе и с составными типами

Массив = Новый Массив;
Массив.Добавить(ИзXMLТипа("DocumentRef.ВозвратТоваровПоставщикуИзНТТ",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.ВозвратТоваровОтПокупателя",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.ЗаказПокупателя",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.ПриходныйКассовыйОрдер",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.ИнкассовоеПоручениеПолученное",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.ПлатежноеПоручениеИсходящее",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.ПоступлениеДопРасходов",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.РасходныйКассовыйОрдер",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.ПлатежноеТребованиеВыставленное",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.ЗаказПоставщику",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.АккредитивПереданный",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.ПоступлениеТоваровУслугВНТТ",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.ОтчетКомитентуОПродажах",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.ИнкассовоеПоручениеПереданное",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.КорректировкаДолгаПоВозвратнойТаре",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.ПлатежныйОрдерСписаниеДенежныхСредств",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.ВозвратТоваровПоставщику",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.ПлатежноеПоручениеВходящее",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.АккредитивПолученный",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.ПоступлениеТоваровУслуг",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.ПлатежноеТребованиеПолученное",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.ОтчетКомиссионераОПродажах",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.РеализацияТоваровУслуг",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.АвансовыйОтчет",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.СчетНаОплатуПоставщика",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.ПлатежныйОрдерПоступлениеДенежныхСредств",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.СчетНаОплатуПокупателю",""));
Массив.Добавить(ИзXMLТипа("DocumentRef.КорректировкаДолга",""));
ТипСделка=Новый ОписаниеТипов(Массив,,,);
ТЗ.Колонки.Добавить("Сделка",ТипСделка);

Далее заполняется эта Таблица Значений данными из документа-шаблона:

НоваяСтрока = ТЗ.Добавить();
НоваяСтрока.ДатаВходящегоДокумента=XMLЗначение(Тип("Дата"),"2019-02-05T00:00:00");
НоваяСтрока.Сумма=105;
НоваяСтрока.Контрагент=XMLЗначение(ИзXMLТипа("CatalogRef.Контрагенты",""),"e92ffee7-50be-11e2-b8ab-5404a6efe539");
НоваяСтрока.ДоговорКонтрагента=XMLЗначение(ИзXMLТипа("CatalogRef.ДоговорыКонтрагентов",""),"e2e49b78-0438-11e5-a57b-1c6f6523ee30");
НоваяСтрока.Содержание="Выезд на место";
НоваяСтрока.СуммаВзаиморасчетов=105;
НоваяСтрока.КурсВзаиморасчетов=1;
НоваяСтрока.КратностьВзаиморасчетов=1;

...

И, наконец, по данным этой Таблицы значений заполняется сама Табличная часть

Для каждого Элем Из ТЗ Цикл
    НоваяСтрока = Объект.ОплатаПоставщикам.Добавить();
    НоваяСтрока.ВидДокВходящий= Элем.ВидДокВходящий;
    НоваяСтрока.ДатаВходящегоДокумента= Элем.ДатаВходящегоДокумента;
    НоваяСтрока.НомерВходящегоДокумента= Элем.НомерВходящегоДокумента;
    НоваяСтрока.Сумма= Элем.Сумма;
    НоваяСтрока.Контрагент= Элем.Контрагент;
    НоваяСтрока.ДоговорКонтрагента= Элем.ДоговорКонтрагента;
    НоваяСтрока.Сделка= Элем.Сделка;
    НоваяСтрока.Содержание= Элем.Содержание;
    НоваяСтрока.СуммаВзаиморасчетов= Элем.СуммаВзаиморасчетов;
    НоваяСтрока.КурсВзаиморасчетов= Элем.КурсВзаиморасчетов;
    НоваяСтрока.КратностьВзаиморасчетов= Элем.КратностьВзаиморасчетов;
    НоваяСтрока.ДокументРасчетовСКонтрагентом= Элем.ДокументРасчетовСКонтрагентом;
    НоваяСтрока.Проект= Элем.Проект;
КонецЦикла;

Так сделано специально, чтобы, если у программиста уже есть данные, по которым надо заполнять Документ, то можно удалить из полученного текста код, связанный с созданием и заполнением Таблицы значений, и поменять только конечный цикл на работу со своими данными.

Разработка сделана универсальной, работает и для Обычного приложения и в Управляемых формах.

Работа обработки проверена в УТ 10.3.10.4 и в ЗУП Базовая 3.1.11.133, а также в демо-базе УНФ от 1С: https://unf.demo.1c.ru/unf/

Скачать файлы

Наименование Файл Версия Размер
Шаблонизатор:

.epf 11,89Kb
06.07.20
2
.epf 11,89Kb 2 Скачать

Специальные предложения

Оставьте свое сообщение

См. также

Просмотр структуры базы в СУБД, в том числе расширений

Структура метаданных Расширения Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Структура таблиц базы данных с учётом расширений.

1 стартмани

29.09.2020    2435    19    Yashazz    4    

Генератор внешних печатных форм

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Консоль запросов Прочие инструменты разработчика Универсальные печатные формы v8 1cv8.cf Абонемент ($m)

Генератор печатных форм - инструмент для создания внешних печатных форм в режиме предприятия с минимальным написанием кода

3 стартмани

18.09.2020    1416    10    andy_zhav    7    

Отладка расчета себестоимости в ERP - просмотр изменений временных таблиц

Практика программирования Закрытие периода Прочие инструменты разработчика v8::БУ ERP2 БУ Абонемент ($m)

Как уследить за изменениями в сотне временных таблиц на различных этапах выполнения расчета себестоимости. Тестировалось на 1С:ERP Агропромышленный комплекс 2 (2.4.12.75)

1 стартмани

09.09.2020    1701    6    doom2good    0    

Разбор печатной формы. Обработка

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Назначение обработки - помочь програмистам при создании печатных форм и отчетов на базе табличного документа 1С

1 стартмани

05.09.2020    1436    6    Ivon    0    

Тестирование проводок в ЕРП

Прочие инструменты разработчика v8 ERP2 Россия БУ Абонемент ($m)

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

1 стартмани

02.09.2020    1092    4    JohnConnor    3    

CSV парсинг на 1С8, допускающий включение кавычек и символа переноса строки в полях

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Чтение файла происходит блоками, а не посимвольно, что ускоряет процесс. Конец строки это символ возврата каретки (13), символ переноса строки (10) игнорируется и может быть включен в текстовое поле. Также парные кавычки "" внутри поля воспринимаются как одиночный символ кавычек.

1 стартмани

31.08.2020    878    0    e-rogov    0    

Визуальный html WYSIWYG редактор без сторонних библиотек на управляемых формах

Прочие инструменты разработчика Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

Простой и удобный html редактор без сторонних библиотек.

1 стартмани

31.08.2020    3053    7    ivanov660    10    

Генератор кода COM-обмена

Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Обработка предназначена для автоматического создания кода для загрузки данных из другой базы 1С через COM-соединение.

1 стартмани

20.08.2020    1395    7    ManyakRus    4    

Проверка ведения учета (универсальная)

Анализ учета Прочие инструменты разработчика v8 v8::Запросы Россия Абонемент ($m)

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

2 стартмани

11.08.2020    1370    8    vozhd    2    

Внешняя компонента на C# для парсинга страниц через Phantom JS на сервере 1С х32,х64

Прочие инструменты разработчика WEB v8 1cv8.cf Абонемент ($m)

PhantomJS - это браузер без окна, используемый для автоматизации взаимодействия с веб-страницами. PhantomJS предоставляет JavaScript API, обеспечивающий автоматическую навигацию, снимки страницы, эмуляции поведение пользователя, что делает его распространенным инструментом, используемым для запуска модульных тестов на основе браузера в автономной системе, такой как среда непрерывной интеграции . PhantomJS основан на WebKit, что делает его похожей на Safari и Google Chrome средой просмотра. Это программное обеспечение с открытым исходным кодом, выпущенное под лицензией BSD.

1 стартмани

06.08.2020    2060    2    DrZombi    7    

Сужающийся поиск различий между базами

Поиск данных Универсальные обработки Прочие инструменты разработчика v8 v8::СКД 1cv8.cf Абонемент ($m)

Автоматизированный поиск различий в данных, сужающийся по времени.

1 стартмани

30.07.2020    1519    1    Yashazz    0    

Подготовка текста кода 1С для регистрации программы ЭВМ

Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Данная обработка предназначена для подготовки текста кода форм, модулей менеджера, объектов из выгруженных файлов.

1 стартмани

21.07.2020    1967    0    uribur    3    

Консоль кода для управляемых форм

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

17.07.2020    12026    194    salexdv    205    

Обозреватель данных подсистем

Администрирование данных 1С БСП (Библиотека стандартных подсистем) Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

15.07.2020    2186    2    sergbsv    1    

Сравнение результатов глобального поиска по текстам

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Обработка позволяет сравнить между собой результаты двух глобальных поисков по текстам.

3 стартмани

15.07.2020    1888    0    Hitcher    2    

Шаблон отчета с обработкой данных

Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Отчет с кнопкой программного вывода результата в таблицу значений (дерево значений).

1 стартмани

14.07.2020    1810    0    user1209971    0    

Консоль выполнения кода в 1С (обычные и управляемые формы)

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Иногда возникает необходимость выполнить некоторые действия в 1С, ради которых не хочется писать внешнюю обработку на пару строк кода. Для таких действия предназначена "Консоль выполнения кода в 1С".

1 стартмани

19.06.2020    7695    58    Denr83    0    

Отчёт по содержимому КД 2.0

Обмен данными 1С Обмен через XML Перенос данных из 1C8 в 1C8 Конфигурирование 1С Прочие инструменты разработчика v8 КД Абонемент ($m)

Просто отчёт по правилам конвертации - всё, что в них есть.

1 стартмани

05.06.2020    2264    6    Yashazz    4    

Тестирование отчетов

Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Обработка "Тестирование отчетов" предназначена для тестирования списка отчетов путем их сравнения в модифицируемой базе и эталонной. Для сравнения используется механизм платформы 1С "Сравнить файлы". Отличие предлагаемого решения в удобстве использования для списка отчетов.

1 стартмани

29.05.2020    1774    0    keifaya    0    

Конструктор сравнения таблиц значения, в том числе из внешней базы

Прочие инструменты разработчика v8::СКД 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

28.05.2020    2251    5    pavley2002    2    

PDF Extractor - извлекаем информацию из PDF с помощью Poppler

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

«Класс» - обёртка для упрощения использования возможностей Poppler из 1С. Позволяет просто извлекать информацию из PDF-файлов в виде изображений и текста.

1 стартмани

26.05.2020    3511    6    salexdv    7    

Спасение рядового Райана

Обработка документов Универсальные обработки Обработка справочников Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Бывало, что потратишь полчаса, набьёшь в документ кучу данных, а его потом не записать? И вся работа насмарку? Тогда прошу под кат.

1 стартмани

22.05.2020    3056    4    the1    3    

Шаблоны внешних отчетов и обработок для обычных и управляемых форм

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

15 шаблонов внешних отчетов и обработок для обычных и управляемых форм.

1 стартмани

15.05.2020    2904    49    DNN13    0    

Фильтр объектов на базе СКД

Прочие инструменты разработчика v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

Универсальный фильтр объектов на базе СКД. Может применяться как в чистом виде, например, при организации выборочного обмена данными, так и в качестве каркаса для создания сложных механизмов, позволяющих осуществлять обработку документов в зависимости от их содержания.

1 стартмани

13.05.2020    2127    4    olegarch    2    

Метод восстановления битых ссылок в настройках СКД при консольно-конфигураторной разработке отчетов

Практика программирования Прочие инструменты разработчика v8 v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

30.04.2020    3910    0    zaxarovsky    4    

Редактирование JSON в виде дерева

Прочие инструменты разработчика v8 Абонемент ($m)

Удобная обработка на 1с для редактирования и просмотра JSON. Замена онлайн сервисам просмотра и редактирования JSON. Релиз 1С, на котором выполнялось тестирование 8.3.15, но думаю будет работать и под более ранними.

1 стартмани

28.04.2020    4004    27    vladnet    12    

Контроль доработок конфигураций

Прочие инструменты разработчика v8 Абонемент ($m)

Конфигурация для отслеживания доработок типовых конфигураций, позволяет ускорить обновление модулей типовых релизов и находить потерянные при обновлении доработки. Имеет ряд уникальных функций, которые не предоставляет конфигуратор 1С.

5 стартмани

27.04.2020    3877    10    Serge R    12    

Подсистема "Редактор Markdown 1C"

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Подсистема для быстрого встраивания в форму редактора языка разметки markdown

2 стартмани

19.04.2020    4697    6    cprit    11    

Создание описания, добавления и чтения таблицы значений

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Иногда приходится создавать Таблицу значения (ТЗ) с большим количеством полей, описывать ТЗ вручную достаточно долго. Для автоматизации этого процесса и написана данная обработка. Данная обработка нужна только программистам.

1 стартмани

16.04.2020    2484    1    Dmitry77    4    

Отладка обработки заполнения

Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Внешняя обработка, позволяющая отладить любую написанную вами обработку заполнения.

1 стартмани

12.04.2020    2511    6    ah7777777    0    

Быстрая функция поиска ссылки по УИД(GUID)

Поиск данных Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Простая, а самое главное быстрая функция поиска ссылки на объект в информационной базе по УИД(GUID) через запрос.

1 стартмани

11.04.2020    8455    36    Kondratenko.as    27    

http сервис, возвращающий печатную форму

Печатные формы документов Прочие инструменты разработчика v8 УТ11 Россия Абонемент ($m)

Расширение, которое по get запросу в виде: http:///hs/WSPrint/Download/?UUID=&IDPF=&format= возвращает указанную печатную форму.

1 стартмани

09.04.2020    3131    5    user1350020    0    

Валидация данных

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

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

1 стартмани

01.04.2020    5498    3    relines    8    

Отладка шаблонов ограничений

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

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

1 стартмани

26.03.2020    4608    33    vadim1980    3    

Имена таблиц на сервере

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка позволяющая удобно определить, в какой таблице на сервере баз данных находится той или иной объект 1С. Только для управляемого приложения! Тестировалось на платформе 1с 8.3.15.1565.

1 стартмани

19.03.2020    2930    1    alexyur    2    

Подготовка (исправление) XML схем

Прочие инструменты разработчика v8 Абонемент ($m)

Иногда, XML схемы не соответствуют стандарту w3.org и это грустно :-( . Скрипт публикации исправляет ошибки XML схем в автоматическом режиме.

1 стартмани

10.03.2020    3189    0    infosoft-v    3    

Внешний регламент для 1С

Прочие инструменты разработчика v8 Россия Абонемент ($m)

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

1 стартмани

05.03.2020    3604    7    moolex    6    

Пишем код в режиме предприятия на УФ

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Тестирование кода прямо в режиме предприятия. Изменение документов и справочников. Управляемые формы. Сохранение и форматирование кода.

1 стартмани

27.02.2020    3319    1    HAMAZ    9    

Выполнение произвольного кода 1С на управляемых формах

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Часто при работе в режиме предприятия необходимо выполнить какой-либо код. Для этого необходимо написать внешнюю обработку, а можно воспользоваться нашей обработкой для выполнения произвольного кода в режиме предприятия.

2 стартмани

18.02.2020    4158    17    seregapolygon    9