Новостная лента 1C: наглядное представление данных и отправка их по E-mail
Решение позволяет выделить данные 1С в хронологические события, перевести каждое событие в наглядную статическую веб-страницу с изображениями, отправить html-страницу по E-mail или опубликовать на своем веб-сервере.
Разработка основана на .Net framework 4 и .Net Bridge 4.
Пример выполнен в виде внешней обработки 8.2 на неуправляемых формах для Управление Торговлей 10.3 и совместимых конфигураций (УТ для Казахстана и т.д.)
Принцип работы
Множество документов в 1С можно разделить на события, полезные клиентам компании: свежий прайс-лист, новое поступление товаров, скидки, ожидаемые поступления, изменения цен и т.д. Если события представить хронологически, делая упор на актуальные, то можно получить новостную ленту. Если же набору данных событий придать наглядный вид, то можно делать рассылки клиентам и публиковать на веб-серверах, через RSS и в социальных сетях.
Задачу наглядной передачи информации решает предложенная разработка: позволяет через настройки отфильтровать нужные данные, вывести их в html-формат с изображениями для публикации или отправки по E-mail. Технология позволяет «на лету» изменить размер изображений и установить водяной знак.
Принцип работы аналогичен работе плана обмена или XML-обмену, когда выгружаются только последние измененные данные, что существенно сокращает объем передаваемой информации.
Преимущества разработки
- Позволяет создавать статические html-файлы на основе шаблонов,
- Пакетирует веб-контент с изображениями в zip-архивы,
- Позволяет отправлять html-письма с изображениями по E-mail,
- Изменяет «на лету» размер изображений,
- Двумя стилями устанавливает водяной знак,
- Не создает промежуточных файлов на диске,
- Исходный код открыт,
- Структура расширяемая и легко настраиваемая,
- Возможность раздельных шаблонов для веб и E-mail
Результат работы
В результате работы появляются zip-архивы со статическими веб-страницами, стилями и изображениями. В распакованном виде содержимое можно открыть в браузере. Содержимое затем можно самостоятельно отправить по FTP на свой веб-сайт. Так выглядит страница, полученная обработкой.

Еще можно отправить письма в html-формате с изображениями. Здесь представлено одно такое письмо, полученное на Yandex Почта.

Используемые технологии
Все используемые в разработке технологии предварительно отлажены на веб-сервере www.dordoi.net, где статьи публикуются в виде zip-архивов, избавляя модераторов от рутинной работы по добавлению фотографий и ссылок на них. В работе применены следующие технологии:
Elisy .Net Bridge - внешний компонент для 1C:Предприятие. Библиотека Elisy.NetBridge.dll обеспечивает бесшовную и гармоничную интеграцию с .Net Framework.
DotNetZip – бесплатная, быстрая библиотека классов для работы с zip-файлами.
Html Agility Pack – парсер html с поддержкой XPATH. Парсер толерантен к деформированным и невалидным html-файлам.
Классы System.Drawing - обеспечивают доступ к работе с графикой и GDI+ функциональности.
Работа с формой
Шаг 1 позволяет отключить ненужные события и установить параметры и отборы для выбранных событий. Параметры и отборы устанавливаются в стиле СКД.

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

В шаге 2 представлены в хронологическом порядке все события за выбранный период. Выделив нужное событие в таблице, можно справа переопределить для него заголовок и описание. Эти параметры важны для поисковых систем и часто используются в SEO.
Кнопка Просмотр данных… позволяет вывести источник данных для визуализации текущего отмеченного события.
Кнопка Сохранить в файл… позволяет сохранить выделенное событие в zip-архив по выбранному пути на диске.
Установив флажки на необходимых событиях можно перейти к шагу 3, нажав кнопку Далее внизу формы.

Шаг 3 позволяет экспортировать выбранные события в zip- файлы в каталог или отправить их по E-mail на определенный адрес.
Экспорт на товарные агрегаторы и публикация RSS в локальной сети сейчас не реализованы. В будущем есть возможность под товарные агрегаторы 1С выделить домены www.1cretail.com и www.dordoi.net. Товарные агрегаторы позволят делиться ссылками в соц.сетях на публикации без открытия своего интернет-магазина. До этого момента нужно продумать протокол работы, тарифные планы с учетом объема информации и меры по безопасности (блокировку скриптов, например).
Ограничения
В текущей версии реализованы только 2 события: новые поступления и скидки. Модульная система позволяет добавить свои виды событий и изменить визуальное представление для имеющихся событий. Источники данных для событий настраиваются на основе СКД.
В текущей версии логика получения изображений не привязана к информационной базе и изображения берутся из макетов в случайном порядке. Для реализации своей логики получения изображений необходимо переопределить метод модуля ПолучитьКартинку, где параметром выступает ссылка на Номенклатуру.
В текущей версии не выполнена публикация на товарные агрегаторы в Интернет. Это обширная тема, требующая дополнительного изучения, если технология получит распространение.
Обработка для УТ 10.3: RSS.epf (557,89 kb)