Интеграция 1С с интернет-магазином

Статья предназначена для технических специалистов, планирующих выполнять работы по интеграции 1С с интернет-магазином. К статье прилагается небольшая обработка, которая может пригодиться при интеграции.

Введение 

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

 

Этап 0.

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

 

Этап 1.

Если в 1с уже ведется учет и сайт уже существует, и они ни как не синхронизированы, то в первую очередь необходимо определиться с тем по каким признакам синхронизировать: Номенклатуру и контрагентов.

Контрагенты бывают:

а) Юридические лица — синхронизацию лучше выполнять по ИНН и наименованию, но вначале необходимо проверить дублирование контрагентов по этим признакам в 1С и на сайте и ели дублирование имеет место быть, принять меры к устранению дублей и недопущению их появления.

б) Физические лица — синхронизацию выполнять по ФИО и контактной информации(адрес и/или телефон), так же необходимо принять меры к устранению дублей.

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

 

Этап 2.

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

 

 

Этап 3.

Разработка обработок обмена магазина и 1с. Для начала от разработчиков сайта необходимо получить форматы выгрузки информации с сайта и загрузки информации на сайт, бывают ситуации когда данные форматы необходимо изменить ввиду недостаточности информации в них, этот вопрос решается с разработчиками сайта. Когда форматы получены и согласованы, то можно писать обработки. я не буду останавливаться на технической стороне этого момента, скажу только несколько основных моментов, обмен должен позволять технически выгружать и загружать необходимую информацию в течении заданного промежутка времени и проходить в одной «транзакции», т.е. в случае сбоя все должно откатываться.  Если обмен например номенклатуры предполагается из 1с на сайт, то возможно понадобиться сделать разовую выгрузку в 1с свойств номенклатуры и изображений с сайта.

 

Этап 4.

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

 

Заключение

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

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

К статье прилагается обработка позволяющая загрузить изображения если имеется их URL  в каком либо из реквизитов номенклатуры.

Отдельно хочу выделить взаимодействие с разработчиками/администрацией сайта, например если даже имеется готовые инструменты работы с сайтом, в т.ч. выгрузка и загрузка на него нвых позиций, не подразумевающие например обновление отдельных реквизитов номенклатуры массово(но это нужно например для корректной синхронизации номенклатуры с базой 1С и удобнее чем перебивать(редактировать) её на сайте попозиционно), то есть возможность обсудить это с администрацией сайта, возможно вы не первый и у них есть готовые скрипты для этих целей, что может значительно ускорить общий процесс. 

 

Файлы прикрепленные к статье

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

Обработка позволяет скачивать в 1с картинки по домену ru, и указанному url, если зона не ru, но нужно будет немного подправить код.

Текст статьи в формате rtf.

 

 

11 Comments

  1. Трактор

    Нет самого главного пункта. Выбора между обменом данными и прямой связью магазина и 1С.

    Reply
  2. ZLENKO

    Точно… Обмен через файл обмена (если таковой предусмотрен разработчиками интернет-магазина) удобен тем что не надо разбираться в структуре БД, но сразу ставит нас в жесткие рамки в плане того что импортируем и как импортируем и «обратная связь» по процессу импорта как правило отсутствует (в лучшем случае есть лог импорта).

    Прямая связь 1С и БД интернет-магазина дает нам неограниченные возможности по «гибкости» и полноценную «обратную связь», но по производительности этот вариант хуже, т.к. для каждого запроса получаем ощутимую задержку взаимодействия 1С и БД. Однако это с лихвой компенсируется тем что наличие «обратной связи» позволяет избежать выполнения ненужных запросов. Чтобы было понятно о чем я говорю, приведу простой пример:

    — обновление цен на сайте в случае выгрузки в файл: а) выгружаем все цены; б) выгружаем цены, которые изменились с определенной даты (вариант достаточно оптимальный, но не дает гарантии 100% правильной синхронизации цен);

    — обновление цен на сайте в случае обмена с БД: запросом получаем текущие цены на сайте, запросом получаем текущие цены в 1С, сравниваем цены на сайте и цены в 1С, обновляем только отличающиеся цены.

    Reply
  3. DoctorRoza

    (2) ZLENKO.PRO, Подскажите, пожалуйста, передо мной как раз поставлена задача организации только выгрузки (слава Богу!) данных из интернет-магазина в УТ 11. Имею только url, имя сайта, желание разобраться и больше ничего. По-гуглив, выяснил, что, в основном, в качестве СУБД используют MySQL. Может у Вас есть живой фрагмент кода получения каких-нибудь любых данных из таблиц?

    Reply
  4. DoctorRoza

    Автор! Обработка не открывается ни в 8.2 и в 8.3. Перезалейте!

    Reply
  5. dim777777

    (4) DoctorRoza,

    в конфигураторе пробовали открывать?

    Reply
  6. DoctorRoza

    (5) хм, при открытии в конфигураторе выпадает ошибка .. Неверный формат хранилища данных. Сейчас ищу ответ, но что то глухо, как в танке. У меня установлена 8.2.18.109 и 8.3.3.715, базы файловые. 😐

    Reply
  7. dim777777

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

    Reply
  8. DoctorRoza

    (7) пришлите, пожалуйста, обработку на roza-aleksey@yandex.ru

    Reply
  9. yelena-ppm

    хех. Есть еще такая штука — оплаты контрагентов. И вот тут мы столкнулись и с Робокассой, и с Почтой России, и даже со своим банком тоже пришлось поковыряться. Наших налоговиков вот убейся не устраивает, когда оплаты все кучей, как в рознице. Приходится все это дело выгружать-загружать, из общей кучи делить по покупателям да еще и дату поступления выручки определять и т.д. Так что если у кого будут вопросы по этой теме — обращайтесь: есть опыт и есть решения 🙂

    Reply
  10. chuklay

    (9) yelena-ppm, здравствуйте! Поделитесь, каким образом разносили платежи от Робокассы? Вели учет размера комиссии?

    Reply
  11. user1191336

    подскажите, можно ли по данной инструкции настроить https://neoseo.com.ua/obmen-s-1s-v-30 ?

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *