gifts2017

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

Опубликовал Дмитрий Котлов (dim777777) в раздел Обмен - Интеграция с WEB

Статья предназначена для технических специалистов, планирующих выполнять работы по интеграции 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.

 

 

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

Наименование Файл Версия Размер
Загрузка изображений из интернета 30
.epf 7,28Kb
26.07.13
30
.epf 7,28Kb Скачать
Текст статьи 5
.rtf 16,82Kb
19.08.13
5
.rtf 16,82Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Трактор Трактор (Трактор) 26.07.13 16:12
Нет самого главного пункта. Выбора между обменом данными и прямой связью магазина и 1С.
2. ZLENKO.PRO (ZLENKO) 05.08.13 10:43
Точно... Обмен через файл обмена (если таковой предусмотрен разработчиками интернет-магазина) удобен тем что не надо разбираться в структуре БД, но сразу ставит нас в жесткие рамки в плане того что импортируем и как импортируем и "обратная связь" по процессу импорта как правило отсутствует (в лучшем случае есть лог импорта).
Прямая связь 1С и БД интернет-магазина дает нам неограниченные возможности по "гибкости" и полноценную "обратную связь", но по производительности этот вариант хуже, т.к. для каждого запроса получаем ощутимую задержку взаимодействия 1С и БД. Однако это с лихвой компенсируется тем что наличие "обратной связи" позволяет избежать выполнения ненужных запросов. Чтобы было понятно о чем я говорю, приведу простой пример:
- обновление цен на сайте в случае выгрузки в файл: а) выгружаем все цены; б) выгружаем цены, которые изменились с определенной даты (вариант достаточно оптимальный, но не дает гарантии 100% правильной синхронизации цен);
- обновление цен на сайте в случае обмена с БД: запросом получаем текущие цены на сайте, запросом получаем текущие цены в 1С, сравниваем цены на сайте и цены в 1С, обновляем только отличающиеся цены.
3. Алексей Роза (DoctorRoza) 31.08.13 12:16
(2) ZLENKO.PRO, Подскажите, пожалуйста, передо мной как раз поставлена задача организации только выгрузки (слава Богу!) данных из интернет-магазина в УТ 11. Имею только url, имя сайта, желание разобраться и больше ничего. По-гуглив, выяснил, что, в основном, в качестве СУБД используют MySQL. Может у Вас есть живой фрагмент кода получения каких-нибудь любых данных из таблиц?
4. Алексей Роза (DoctorRoza) 31.08.13 12:22
Автор! Обработка не открывается ни в 8.2 и в 8.3. Перезалейте!
5. Дмитрий Котлов (dim777777) 31.08.13 13:40
(4) DoctorRoza,
в конфигураторе пробовали открывать?
6. Алексей Роза (DoctorRoza) 31.08.13 13:58
(5) dim777777, хм, при открытии в конфигураторе выпадает ошибка .. Неверный формат хранилища данных. Сейчас ищу ответ, но что то глухо, как в танке. У меня установлена 8.2.18.109 и 8.3.3.715, базы файловые. :|
7. Дмитрий Котлов (dim777777) 31.08.13 14:11
(6) DoctorRoza, Пробовал открывать, все ок. Попробуйте перескачать, возможно сбой при скачивании какой-то. Могу пере залить, после модерации появиться новый файл. Или пишете эл, адрес, вышлю, так быстрее может будет.
8. Алексей Роза (DoctorRoza) 31.08.13 15:33
(7) dim777777, пришлите, пожалуйста, обработку на roza-aleksey@yandex.ru
9. Елена Чернова (yelena-ppm) 02.06.14 11:57
хех. Есть еще такая штука - оплаты контрагентов. И вот тут мы столкнулись и с Робокассой, и с Почтой России, и даже со своим банком тоже пришлось поковыряться. Наших налоговиков вот убейся не устраивает, когда оплаты все кучей, как в рознице. Приходится все это дело выгружать-загружать, из общей кучи делить по покупателям да еще и дату поступления выручки определять и т.д. Так что если у кого будут вопросы по этой теме - обращайтесь: есть опыт и есть решения :)
11. Михаил Чуклай (chuklay) 08.12.15 15:35
(9) yelena-ppm, здравствуйте! Поделитесь, каким образом разносили платежи от Робокассы? Вели учет размера комиссии?