1С с {{усами}}

21.02.22

Интеграция - WEB-интеграция

Не так давно товарищ спросил, а можно ли придумать что-то, чтобы не писать одинаковые названия и описания товаров, а просто «р-р-раз!» и всё готово: чтобы из свойств товара и чего-то там ещё всё само скомпоновалось. Сразу на ум пришло слово «шаблонизатор» из мира web. Далее, что из этого получилось.

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

Наименование Файл Версия Размер
1С с {{усами}}:
.epf 7,03Kb
0
.epf 7,03Kb Скачать

Так как с самого начала хотел реализовать всё локально, то искал что-то на JavaScript, чтобы прикрутить к «ПолеHTMLДокумента». После недолгих раздумий и короткого теста в блокноте выбор пал на «Mustache». Один файл JS — для первых проб годится.

Сохранил скрипт в текстовый макет, динамически формируем html-документ и отдаём его на съедение в ПолеHTMLДокумента, всё работает, всё отображается, но как-то это всё скучно. И тут я вспомнил про облачные функции Яндекс!

Всё настроил, далее короткая инструкция, исходя из того, что регистрация выполнена и мы находимся в «Cloud Functions»:

  1. Создаём новую функцию, даём имя и выбираем среду «node.js».
  2. Из редактора всё удаляем и копируем туда исходник нашего шаблонизатора, удаляем последнюю строчку «export default mustache;».
  3. Далее пишем вызов нашей функции:
module.exports.handler = async function (event, context) {
    return {
        statusCode: 200,
        body: mustache.render(event.template, event.param),
    };
};
  1. Нажимаем «Создать версию». Готово, идём тестировать!
  2. На закладке «Тестирование» пишем:
{
    "template": "{{name}} eat {{fruit}}",
    "param": {"name": "John", "fruit": "apple"}
}
  1. Видим, что всё работает внутри Яндекса.
  2. Делаем функцию публичной, чтобы на время теста было проще обращаться.

На этом настройка облачной функции закончена и начнём пользоваться ей из 1С.

  1. На форме нам необходимо: команда («Шаблонизировать»), строка для вставки шаблона («Шаблон») и таблица значений («ПараметрыШаблона») для указания параметров шаблона. Колонка «Значение» имеет составной тип (Строка, Число, Булево).
  2. Вызываем функцию с передачей в неё шаблона и параметров, упакованных в строку JSON.
  3. Получаем ответ и наслаждаемся результатом) 

Вот весь код обработки:

&НаКлиенте
Процедура Шаблонизировать(Команда)
	
    // Необходимо указать идентификатор своей функции
    ИдентификаторФункции = "";

    Соединение = Новый HTTPСоединение("functions.yandexcloud.net",,,,,,Новый ЗащищенноеСоединениеOpenSSL());        
    Запрос = Новый HTTPЗапрос("/" + ИдентификаторФункции + "?integration=raw");
    Запрос.УстановитьТелоИзСтроки(СформироватьJSON());
    Результат = Соединение.ОтправитьДляОбработки(Запрос);
    ВыводРезультата = Результат.ПолучитьТелоКакСтроку();
	
КонецПроцедуры

&НаКлиенте
Функция СформироватьJSON()
	
	Данные = Новый Структура();
	Данные.Вставить("template", Шаблон);
	Данные.Вставить("view", ПолучитьСтруктуру());
	
	ЗаписьJSON = Новый ЗаписьJSON;			
	ЗаписьJSON.УстановитьСтроку();
	ЗаписатьJSON(ЗаписьJSON, Данные);
	
	Возврат ЗаписьJSON.Закрыть();
	
КонецФункции

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

Остаётся добавить ссылки на источники:

1. Serverless (Faas) в 1С — большая статья про serverless от Яндекс и источник кода вызова облачной функции. Спасибо автору!

2. Mustache на GitHub — исходник брать здесь.

Протестировано на версии платформы 8.3.17.1549.

P.S.

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

См. также

Модуль для обмена "1С:Предприятие 8. УАТ. ПРОФ" с FortMonitor

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ 3. Отчеты по данным загруженным в регистры сведений. 4. В версии "с функцией автозагрузки данных" предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

600 руб.

25.05.2021    11799    9    4    

8

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Данная обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.

6000 руб.

02.02.2021    14527    35    43    

19

Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС

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

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

2400 руб.

28.04.2016    85330    142    211    

297

Прайс-лист с фотографиями, выгрузкой в Excel с подсчетом суммы заказа, загрузкой заказа в Управление торговлей 11 (Россия) и Управление торговлей для Беларуси 3

Прайсы Загрузка и выгрузка в Excel Оптовая торговля WEB-интеграция Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Прайс-лист для программы 1С: Управление торговлей 11 и Управление торговлей для Беларуси 3, позволяющий: 1) Формировать прайс-лист с фотографиями; 2) Сохранить прайс-лист в Excel с формулами, подсчитывающими количество и сумму заказа; 3) Передать сформированный прайс-лист по каналу ftp на сайт; 4) Сохранить прайс-лист в формате CSV; 5) Загрузить сделанный по прайс-листу заказ обратно в программу.

6000 руб.

04.09.2014    120982    44    105    

53

Sync1C: Синхронизация 1С и OpenCart

WEB-интеграция Оптовая торговля Розничная торговля Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Внешняя обработка для обмена данными с интернет-магазином OpenCart. Позволяет быстро наполнить магазин товарами, затем обновлять цены и добавлять новые товары. Далее можно средствами OpenCart настраивать и дополнять карточки товаров как надо для магазина, при этом связь товаров с 1С не теряется.

3840 руб.

30.03.2018    41981    79    133    

82

Merlion Commander Версия 1.3.9.2 - июль 2022 г. (Интеграция с 1С: УT, редакция 11.4, 1С:Розница 2.3,1С:ERP Управление предприятием 2, УТ 10.3, редакция веб-сервиса MERLION API 3.0 от 18.08.2021)

Оптовая торговля Розничная торговля WEB-интеграция Платформа 1С v8.3 1С:Управление торговлей 11 Россия Платные (руб)

Расширении конфигурации "Управление торговлей, редакция 11" для работы с веб-сервисом Мерлион с помощью Merlion API. Расширение и набор подключаемых дополнительных обработок позволяет без изменения конфигурации получить возможность работы с API крупнейшего российского дистрибьютора http://merlion.com. Логика работы максимально приближена к работе веб-сервиса b2b. Вы сможете создать и исправить заказ, зарезервировать товар прямо из 1С, посмотреть актуальные остатки и цены, импортировать штрихкода EAN13 товаров, загружать заказ c автоматическим созданием номенклатуры в 1С и корректности создания. Можно выбирать характеристики по товарным группам и загружать товар с выбранными характеристиками, загружать изображения товара. Не требуется установки дополнительного ПО для работы с веб-сервисом. Кроссплатформенное решение для ОС Windows и Linux. Весь код модулей открыт и доступен для просмотра и внесения изменений.

8280 руб.

02.05.2017    37431    40    45    

47
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. TMV 14 21.02.22 17:55 Сейчас в теме
Кажется, в УТ11 и так отличный конструктор наименований товаров.
Оставьте свое сообщение