|
Особенности формирования и передачи изображений. Передача изображений в СЭК – это задача, имеющая ряд особенностей, связанных со способом хранения изображений в 1С и WEB-сервере. Перед тем, как приступать к решению этой задачи, необходимо ответить на следующие вопросы:
Каким образом организовано хранение изображений номенклатуры в 1С? На практике существует несколько вариантов хранения изображений:
- В виде реквизита номенклатуры типа «Хранилище значений», в котором хранится бинарные данные графического файла с изображением;
- В виде табличной части справочника «Номенклатура», реквизитом которой является бинарное содержимое графического файла с изображением;
- В виде строкового реквизита, содержащего ссылку на месторасположение изображения в локальной сети или в Интернете;
- В виде справочника, подчиненного справочнику «Номенклатура». Элементы данного подчиненного справочника в своих реквизитах хранят либо бинарное представление графического файла, либо ссылку на месторасположение графического файла вне базы данных.
Какой принцип организации хранения изображений в СЭК? От ответа на данный вопрос зависит процесс подготовки изображений перед передачей из 1С в СЭК. Для примера можно привести несколько вариантов, обычно используемых на практике:
- Базовый механизм. Для каждого товара предусмотрено только одно изображение. Изображения товаров хранятся в выделенной на WEB-сервере FTP-папке. Наименования файлов в этой папке строго соответствует коду товара в каталоге (либо наименование файла содержится в соответствующем поле таблице каталога);
- Расширенный механизм. Для каждого товара предусмотрено неограниченное количество изображений. Одно из них считается основным изображением. Кроме того, изображения разбиты на классы по размерам – полный размер (для детального просмотра в карточке товара), средний размер (для отображения в карточке товара) и маленький размер (для отображения в списке каталога). Изображения товаров хранятся в выделенной на WEB-сервере FTP-папке. Структура этой папки организована следующим образом. В корне расположены папки, наименования которых строго соответствуют кодам номенклатуры. На втором уровне иерархии, в папках с кодами находятся папки, наименования которых соответствуют классу размера изображения. И наконец, на третьем уровне иерархии, в этих папках расположены графические файлы, наименования которых состоят из кода номенклатуры и порядкового счетчика. Пример:
i.135246 (код товара)
ii.FULL (класс размера)
- 135246.jpg (основное изображение)
- 1_135246.jpg
- 2_135246.jpg
ii.MIDDLE
- 135246.jpg (основное изображение)
- 1_135246.jpg
- 2_135246.jpg
ii.SMALL
- 135246.jpg (основное изображение)
- 1_135246.jpg
- 2_135246.jpg
В случае использования расширенного механизма организации хранения изображений, становится острым вопрос о разработке процедуры, формирующей соответствующую сложную структуру FTP-папки и соответствующие наименования фалов изображений. Кроме того, не следует забывать, что изображения могут присутствовать не только у товаров, но и у сопутствующих данных, например у групп товаров, производителей, категорий и т.д.
Методы обработки изображений в 1С. К сожалению, платформа 1С не содержит встроенных средств, достаточных для подготовки изображений перед передачей в СЭК. Единственное, что можно сделать в 1С – это хранить изображение в базе данных либо ссылку на файл на внешнем носителе, открывать изображение на просмотр, записывать файл и отправлять его по указанному адресу (на локальный диск или FTP-сервер).
Для решения всех задач интеграции с СЭК этого явно недостаточно. Для наглядности приведем типичный пример. В базе данных 1С для каждого товара хранится полноразмерное изображение. СЭК предполагает наличие для каждого товара трех изображений – полное, среднее и маленькое. Каким образом можно подготовить эти три изображения, если в учетной системе хранится только одно – полноразмерное? Несложно догадаться, что создать дополнительные уменьшенные изображения можно при помощи уменьшения (масштабирования) оригинальной картинки. Однако 1С не содержит методов, позволяющих это сделать. В таких случаях могут выручить внешние приложения и компоненты, позволяющие через вызов COM-объектов, либо методами командной строки выполнять задачи преобразования графических файлов. Примером такой компоненты можно назвать библиотеку GFLAX, содержащую различные методы преобразования графических файлов.
Методы обращения к FTP-серверу из 1С. Платформа 1С:Предприятие содержит встроенный FTP-клиент. Объект «FTPСоединение» позволяет организовывать соединение с FTP-сервером как напрямую, так и с использованием Proxy-сервера. Набора функций (создание, получение, удаление, считывание свойств и т.д.) в большинстве случаев достаточно для выполнения функций обмена с СЭК.
Кроме использования встроенных методов существуют альтернативные механизмы работы с FTP-серверами из 1С. Один из таких способов более детально описан здесь.
Автоматизация выгрузки информации во внешние электронные каталоги. Электронные каталоги представляют отдельный класс систем электронной коммерции. По своей сути, это крупные On-Line базы данных, предоставляющие сервис поиска товаров и связанных с ними предложений о продаже от различных компаний. Яркими примерами таких каталогов могут служить каталоги HotLine, Price.ua. Размещение информации в подобных каталогах – важный момент для предприятий, ведь это значительно расширяет аудиторию посетителей и покупателей. Для автоматизации процесса размещения информации о предлагаемой продукции, электронные каталоги, как правило, навязывают своим клиентам (компаниям) собственный формат, в котором необходимо передавать предложения о продаже. Основными полями в таких предложениях должны быть:
- Код товара (по классификатору каталога);
- Код продавца;
- Признак наличия;
- Цена;
- Ссылка на данный товар на сайте продавца;
- Дата размещения предложения;
- Срок действия предложения.
Основная сложность в процессе автоматизации взаимодействия 1С и электронных каталогов заключается в том, что форматы файлов обмена и состав полей в различных электронных каталогах могут отличаться. С одной стороны, никто не запрещает разработчикам прямо программировать эти форматы в виде отдельных обработок и модулей для каждого электронного каталога, с другой же стороны системы автоматизации, претендующие на универсальность, должны обеспечивать возможность настройки таких форматов обмена. Во втором случае необходимо будет реализовать довольно сложный настроечный механизм, позволяющий описывать различные форматы (*.xls, *.dbf, *.xml, *.txt) и связывать структуру данных этих форматов со структурами данных 1С.
Автоматизация взаимодействия с крупными торговыми сетями. Немного в стороне, но все же недалеко от темы данной статьи находится вопрос настройки взаимодействия 1С и внешних учетных систем. Часто такими системами являются системы крупных торговых сетей, через которые компания заинтересована реализовывать свою продукцию. В Украине есть большое количество таких примеров – это сети супермаркетов Metro, Foxtrot, ДЦ, Фуршет и т.д. Как и в случае с электронными каталогами, учетные системы таких сетей предполагают определенный формат обмена информацией. Компании, желающие взаимодействовать с этими сетями, обязаны встраивать в свои учетные системы специальные дополнительные модули, обеспечивающие автоматический обмен данными. Основное отличие от электронных каталогов состоит в том, что обмен с крупными торговыми сетями, как правило, организовывается на уровне экспорта/импорта электронных копий товарных накладных. Следовательно, системы обмена должны выбирать данные из соответствующих документов-носителей.
Методы обращения к FTP-серверу из 1С. Платформа 1С:Предприятие содержит встроенный FTP-клиент. Объект «FTPСоединение» позволяет организовывать соединение с FTP-сервером как напрямую, так и с использованием Proxy-сервера. Набора функций (создание, получение, удаление, считывание свойств и т.д.) в большинстве случаев достаточно для выполнения функций обмена с СЭК.
Кроме использования встроенных методов существуют альтернативные механизмы работы с FTP-серверами из 1С. Один из таких способов более детально описан здесь.
Обеспечение автоматического обмена между СЭК и 1С. Важным вопросом является обеспечение автоматических сеансов обмена между СЭК и 1С. Определяющими для подсистемы автоматического обмена являются следующие характеристики:
- Гибкость настройки - свобода управления графиком обмена. Возможность обмена различными данными с различной частотой (к примеру, остатки и новые заказы посетителей синхронизировать каждые 10 минут, а товарный каталог синхронизировать один раз в 2 часа);
- Средства мониторинга и контроля исключительных ситуаций при обменах;
- Наличие системы протоколирования событий обмена;
- Интегральные показатели устойчивости и надежности работы подсистемы обмена (процент исключительных ситуаций).
Подсистемы автоматического обмена могут быть разработаны с использованием следующих технологий:
1. Регламентные задания на платформе 1С:Предприятие 8
Достоинства:
Прямой доступ к данным и методам их обработки в 1С
Хорошие возможности протоколирования и мониторинга средствами платформы 1С.
Недостатки:
Сложности с использованием в случае файловой базы 1С
2. Использование встроенного в ОС Windows механизма заданий
Достоинства:
Независимость работы заданий от работы базы 1С. Возможность запуска действий, не связанных с обращениями к базе 1С
Недостатки:
Отстраненность заданий от 1С. Необходимость доступа к 1С с использованием COM – технологии;
Сложности организации мониторинга и протоколирования
Выводы. Современный рынок наполнен большим количеством решений, позволяющих интегрировать 1С и СЭК. К сожалению, большая часть из них носят откровенно «кустарный» характер и не может быть использована как универсальное средство. Некоторые решения более универсальны, но так же не в состоянии предложить достаточный для общего случая арсенал методов и средств адаптации. Как правило, вопрос интеграции решается для каждого стандарта WEB-магазина персонально, модули обмена разрабатываются для каждой типовой конфигурации 1С производителем WEB-магазина.
Попытки стандартизации протоколов обмена между 1С и СЕК (пример одного из таких стандартов - CommerceML) пока что нельзя назвать успешными – такие стандарты либо излишне громоздкие, либо недостаточно гибкие для использования их с любыми решениями на 1С и с любыми СЭК.
Сложившейся ситуации легко дать объяснение, ведь суть проблемы интеграции состоит в большом разнообразии решений на 1С и еще большем разнообразии СЭК, которые используются сегодня. С одной стороны, явно заметен процесс тотальной унификации подобных решений. С другой же стороны, этот процесс зачастую противоречит желанию каждого предприятия выделиться в конкурентной среде.
Данную статью можно подытожить следующим тезисом: Проблема автоматизации обмена данными между 1С и СЭК очень актуальна, и с большой вероятностью останется актуальной еще продолжительный срок времени. Накопленный опыт по построению подобных систем требует обобщения и систематизации в виде новых стандартов и более эффективных решений, чем те, которые присутствуют сегодня.
Специалисты компании «СПЕЦ-ИНВЕСТ» обладают большим опытом построения интеграции 1С и систем электронной коммерции. Мы предлагаем собственное универсальное решение «Модуль обмена данными с СЭК», обладающее рядом преимуществ, позволяющих организовать обмен между 1С и СЭК любой сложности. Обращайтесь к нам, будем рады предоставить Вам дополнительную информацию и демонстрационные материалы!
Организация взаимодействия систем электронной коммерции и учетных систем на платформе 1С:Предприятие 8. Часть 1
Организация взаимодействия систем электронной коммерции и учетных систем на платформе 1С:Предприятие 8. Часть 2
Прокопенко Константин Игоревич
Направление бизнес-приложений Руководитель сектора управленческого учета ЗАТ "Спец-інвест"
|