Синхронизация с 1С

Интеграция с 1С

Настройка сайта

Настройки модуля интеграции с 1С доступны на странице модулей:

Для настройки интеграции с 1С необходимо указать следующие параметры:

  • Размер единовременно загружаемой части файла (в байтах) - рекомендуется указывать не менее 1024000 байтов.
  • IP адрес сервера можно оставить по умолчанию.
  • Для использования пароля нужно проставить галочку и указать логин и пароль, далее для использования логина и пароля нужно будет указать в 1С на странице настройке подключения.
  • Указать нужно ли создавать резервную копию базы данных.
  • Для обмена заказами нужно указать статусы заказов, которые будут отправляться в 1С.
  • Если вы хотите чтобы система автоматически создавала и присваивала бренди товарам вам нужно указать свойство которое будет записываться как бренд.
  • Указать статус заказов которые импортированы в 1С. Например, "В обработке"
  • Если вы хотите, чтобы при импорте каталога автоматически запускался ресайз изображений, то нужно поставить соответствующую галочку.
  • Режим отладки для запущенных проектов включать не рекомендуется. Он предназначен для тестирования работы синхронизации.
  •  Вписать адрес администратора для отправки ему сообщений ошибках синхронизации.

Настройка 1С 7.х для установления соединения с сайтом 

Настройка соединения

1.Запускаем 1С, на вкладке Сервер выбираем опцию “Обмен данными с WEB-сайтом” далее “Настроить обмен данными с WEB-сайтом”.

2. В появившемся окне создаем новую настройку обмена с WEB-сайтом.

3. После этого переходим непосредственно к настройке соединения с сайтом. Выбираем тип данных, с которыми будет происходить обмен с сайтом (товары и заказы), и тип обмена данными (для того чтобы данные выгрузились на сайт выбираем “Выгрузка на сайт”, если выбрать “Выгрузка в каталог”, то данные загрузятся в заданный каталог). Для выгрузки данных на сайт нужно задать путь для инициализации соединения с сайтом, имя пользователя необходимо задать такое как имя вашей учетной записи в 1С (задано по умолчанию).

Поле “Пароль” задавать не нужно (если в административной части сайта проставлена опция “Использовать пароль для доступа с 1С сервера”, то ее необходимо снять).

После задания конфигураций для установления соединения с сайтом проверяем соединение:

Кликните на кнопке “Далее”.

Настройка выгрузки товаров

Теперь нужно выбрать отбор для выгрузки товаров на сайт и раздел каталога в столбце Значение. Кликните на кнопке “Далее”. На этом этапе нужно указать виды цен и группы номенклатуры, которые будут выгружаться на сайт. Если установить флажок “Выгружать картинки”, то вместе с номенклатурой будут выгружены присоединенные изображения товаров. Кроме этого, можно задать дополнительные отборы. Например, можно установить отбор по полю “Остаток больше 0” и на сайт будут выгружаться только те товары, которые есть в остатках.

С помощью отбора устанавливаются ограничения по выгрузке товаров.

Настройки для обмена заказами покупателей

На этом шаге нужно указать настройки для обмена заказами (настройка отображается, если на первом этапе установлен флажок “Обмениваться заказами”). При загрузке заказов покупателей с сайта, новые элементы номенклатуры идентифицируются по наименованию, а контрагенты в соответствии с установленным способом поиска, который указывается в поле “Способ идентификации контрагентов”. Например, можно искать контрагентов по наименованию или по ИНН + КПП. При этом, если контрагент не найден, то он создается. Если нет необходимости создавать новые контрагенты при загрузке заказов с сайта, то в качестве значения поля “Способ загрузки контрагентов” можно указать “Не создавать” и в появившемся поле выбрать контрагента, который будет подставляться в загруженные заказы. Кроме этого, в полях “Группа для новой номенклатуры” и “Группа для новых контрагентов” можно указать группы, в которые будут загружены ненайденная номенклатура и контрагенты. Укажите группу номенклатуры “Товар” (с этим видом номенклатуры будут записываться новые товары). Укажите единицу измерения для новой номенклатуры. Создаваемые товары будут записываться с этой единицей измерения. При необходимости заполните группу новой номенклатуры. В эту группу помещаются товары и услуги, создаваемые при загрузке заказов с сайта. Укажите соглашение, с которым будут создаваться документы “Заказ клиента”. Если это требуется, то укажите организацию и менеджера, от имени которых будут создаваться данные документы.

Другие настройки

Далее необходимо задать параметры действий, с поступившими из сайта документами:

Режим обмена данными с сайтом:

. Теперь можно выбрать интервал для периодического обмена данными с каталогом на сайте. Для завершения нажмите “Готово”. Вам будет предложено произвести первый обмен данными с каталогом.

Если все сделано правильно, то вы увидите сообщение примерно следующего содержания:

Настройка 1С 8.х для установления соединения с сайтом 

Настройка соединения

  1. Запускаем 1С, на вкладке Администрирование выбираем опцию “Синхронизация данных” далее “Узлы обмена с сайтами”.
  2. В появившемся окне выбираем "Создать новый элемент списка (Inc)"
  3.  В появившемся окне задать настройки вашего подключения и сохранить их.
  4. Если вы все сделали правильно то нажав на кнопку "Проверить соединение" увидите сообщение что соединение установлено

Принцип обмена

Выгрузка каталогов продукции

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

A. Начало сеанса

Выгрузка каталога начинается с того, что система "1С:Предприятие" отправляет http-запрос следующего вида: 
http://<сайт>/<путь> /1c_exchange.php?type=catalog&mode=checkauth.

В ответ система управления сайтом передает системе «1С:Предприятие» три строки (используется разделитель строк "\n"):

  • слово "success";
  • имя Cookie;
  • значение Cookie.

Примечание. Все последующие запросы к системе управления сайтом со стороны "1С:Предприятия" содержат в заголовке запроса имя и значение Cookie.

B. Запрос параметров от сайта

Далее следует запрос следующего вида: 
http://<сайт>/<путь> /1c_exchange.php?type=catalog&mode=init

В ответ система управления сайтом передает две строки:

1. zip=yes, если сервер поддерживает обмен в zip-формате -  в этом случае на следующем шаге файлы должны быть упакованы в zip-формате
или
zip=no - в этом случае на следующем шаге файлы не упаковываются и передаются каждый по отдельности.

2. file_limit=<число>, где <число> - максимально допустимый размер файла в байтах для передачи за один запрос. Если системе "1С:Предприятие" понадобится передать файл большего размера, его следует разделить на фрагменты.

C. Выгрузка на сайт файлов обмена

Затем "1С:Предприятие" запросами с параметрами вида 
http://<сайт>/<путь> /1c_exchange.php?type=catalog&mode=file&filename=<имя файла> 
выгружает на сайт файлы обмена в формате CommerceML 2, посылая содержимое файла или его части в виде POST.

В случае успешной записи файла система управления сайтом выдает строку "success".

D. Пошаговая загрузка каталога

На последнем шаге по запросу из "1С:Предприятия" производится пошаговая загрузка каталога по запросу с параметрами вида http://<сайт>/<путь> /1c_exchange.php?type=catalog&mode=import&filename=<имя файла>

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

1. Если в первой строке содержится слово "progress" - это означает необходимость послать тот же запрос еще раз. В этом случае во второй строке будет возвращен текущий статус обработки, объем  загруженных данных, статус импорта и т.д.

2. Если в ответ передается строка со словом "success", то это будет означать сообщение об успешном окончании обработки файла.

Примечание. Если в ходе какого-либо запроса произошла ошибка, то в первой строке ответа системы управления сайтом будет содержаться слово "failure", а в следующих строках - описание ошибки, произошедшей в процессе обработки запроса.
 Если произошла необрабатываемая ошибка уровня ядра продукта или sql-запроса, то будет возвращен html-код.

Примеры файлов выгрузки

Сведения о товарах в формате XML пример 1.

Сведения о товарах в формате XML пример 2.
Сведения о ценах в формате XML.

Обмен информацией о заказах

Заказы, оформленные на сайте, загружаются в систему "1С:Предприятие".

Последовательность действий при работе с заказом

1. Заказ оформляется на сайте

2. При передаче в систему "1С:Предприятие" в заказе устанавливается категория "Заказ с сайта".
При формировании заказа в системе "1С:Предприятие" записываются номер и дата заказа, с которыми он оформлен на сайте. Поиск контрагента осуществляется по ИНН или наименованию, в зависимости от указанных настроек.

3. При загрузке заказа производится поиск договора с контрагентом. Договор ищется среди существующих договоров с клиентом, с признаком ведения взаиморасчетов по заказам (по указанной в настройках загрузки Организации). Если не находится ни один договор, то создается новый.

4. При загрузке заказа загружаются все его свойства, переданные с сайта. Свойства ищутся в системе "1С:Предприятие" по наименованию. Если с таким наименованием свойства нет, то заводится новое свойство со значениями типа строка или число.

5. Заказ может модифицироваться в системе "1С:Предприятие", при этом его изменения будут выгружаться на сайт

6. Если заказ оплачивается или отгружается в системе "1С:Предприятие", то состояния заказа по оплате и по отгрузке выгружаются на сайт только при полном выполнении операции (полной оплате и полной отгрузке). До этого момента заказ считается не оплаченным и не отгруженным.

7. При попытке в системе "1С:Предприятие" изменить заказ, по которому произведена оплата или отгрузка, заказ на сайт не загрузится как измененный. При этом пользователь получит об этом сообщение.

8. После каждой выгрузка заказа на сайт, на стороне сайта определяются значения его категорий (ссылка на категории). Эти значения устанавливаются в системе  "1С:Предприятие" так, как они присвоены заказу на сайте

A. Начало сеанса

Выгрузка каталога начинается с того, что система "1С:Предприятие" отправляет http-запрос следующего вида: 
http://<сайт>/<путь> /1c_exchange.php?type=sale&mode=checkauth.

В ответ система управления сайтом передает системе «1С:Предприятие» три строки (используется разделитель строк "\n"):

  • слово "success";
  • имя Cookie;
  • значение Cookie.

Примечание. Все последующие запросы к системе управления сайтом со стороны "1С:Предприятия" содержат в заголовке запроса имя и значение Cookie.

B. Уточнение параметров сеанса

Далее следует запрос следующего вида: 
http://<сайт>/<путь> /1c_exchange.php?type=sale&mode=init

В ответ система управления сайтом передает две строки:

1. zip=yes, если сервер поддерживает обмен в zip-формате -  в этом случае на следующем шаге файлы должны быть упакованы в zip-формате
или
zip=no - в этом случае на следующем шаге файлы не упаковываются и передаются каждый по отдельности.

2. file_limit=<число>, где <число> - максимально допустимый размер файла в байтах для передачи за один запрос. Если системе "1С:Предприятие" понадобится передать файл большего размера, его следует разделить на фрагменты.

C. Получение файла обмена с сайта

Затем на сайт отправляется запрос вида
http://<сайт>/<путь> /1c_exchange.php?type=sale&mode=query.

Сайт передает сведения о заказах в формате CommerceML 2. В случае успешного получения и записи заказов "1С:Предприятие" передает на сайт запрос вида 
http://<сайт>/<путь> /1c_exchange.php?type=sale&mode=success

D. Отправка файла обмена на сайт

Затем система "1С:Предприятие" отправляет на сайт запрос вида 
http://<сайт>/<путь> /1c_exchange.php?type=sale&mode=file&filename=<имя файла>
,  
который загружает на сервер файл обмена, посылая содержимое файла в виде POST.

В случае успешной записи файла система управления сайтом передает строку со словом "success". Дополнительно на следующих строчках могут содержаться замечания по загрузке.

Примечание. Если в ходе какого-либо запроса произошла ошибка, то в первой строке ответа системы управления сайтом будет содержаться слово "failure", а в следующих строках - описание ошибки, произошедшей в процессе обработки запроса.
 Если произошла необрабатываемая ошибка уровня ядра продукта или sql-запроса, то будет возвращен html-код.

Примеры файлов обмена информацией

Заказ на сайт в формате XML.
Заказ с сайта в формате XML.