Обмен данными битрикс и 1с. Если вы решились применять типовой обмен

Интеграцию интернет-магазина на 1С-Битрикс с системой можно произвести с помощью модуля системы в Bitrix.Marketplace.

При установке модуль поможет выгрузить существующие заказы в систему.

После установки модуль будет:

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

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

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

RestNormalizer.php
Logger.php
Client.php
RCrmActions.php
RetailCrmUser.php
RetailCrmICML.php
RetailCrmInventories.php
RetailCrmPrices.php
RetailCrmCollector.php
RetailCrmUa.php
RetailCrmEvent.php
RetailCrmHistory_v4.php
RetailCrmHistory_v5.php
RetailCrmOrder_v4.php
RetailCrmOrder_v5.php
ApiClient_v4.php
ApiClient_v5.php

Для кастомизации файлов, в названии которых есть используемая версия API, создаются файлы с названием без указания версии, например - RetailCrmHistory.php .

После создания копии файла с классом в директории bitrix/php_interface/retailcrm модуль будет использовать кастомизированный класс, можете вносить изменения в его методы.

Регистрация интернет-магазина в системе

Перед установкой зарегистрируйте Ваш интернет-магазин в Вашем экземпляре системы (раздел Администрирование > Магазины, например, в демо-версии):

Установка решения в 1С-Битрикс

  • Нажмите «Установить» на странице решения в Marketplace и укажите адрес Вашего интернет-магазина:

  • Загрузите модуль через Систему обновлений 1С-Битрикс:

  • Начните установку модуля:

Запустится мастер установки.

Мастер установки. Шаг 1

На шаге 1.1 Вам необходимо указать адрес Вашей системы (например, https://test.retailcrm.ru) и API-ключ, который Вы сгенерировали ранее в системе:

Важно! Если в битриксе существует только один магазин, шаг 1.Сайты пропускается.

Мастер установки. Шаг 1.Сайты

На шаге 1.Сайты необходимо задать соответствие между Вашими магазинами в 1С-Битрикс и системой.

Важно! У всех Ваших магазинов в системе должен быть общий API-ключ.

Мастер установки. Шаг 2

На втором шаге необходимо указать соответствие значений справочников интернет-магазина и системы. Модуль сам пытается установить соответствие для типовых статусов. Там, где это не удалось сделать модулю, вам нужно указать соответствие самостоятельно:

Проверьте, есть ли в системе необходимые значения справочников, соответствующие справочникам интернет-магазина. Если их недостаточно, добавьте их в разделе Администрирование, не закрывая страницу мастера установки:

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

Мастер установки. Шаг 3

На третьем шаге модуль позволяет задать соответствие между полями 1С-Битрикс и системы.

Важно! Если есть форма «обратной связи» или заказы «в 1 клик», и эти данные не попадают в стандартные заказы битрикс, то в систему они не подтягиваются.

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

Мастер установки. Шаг 4

На четвертом шаге модуль позволяет Вам выгрузить оформленные ранее заказы в систему. Выгрузка может занимать некоторое время (1000 заказов выгружаются около 5 минут). Ход процесса выгрузки будет показывать прогресс-бар.

При необходимости Вы можете приостановить выгрузку и возобновить снова через некоторое время.

Выгрузив оформленные ранее заказы, Вы сможете увидеть аналитические отчеты в Панели KPI. Мы рекомендуем выполнять этот шаг.

Мастер установки. Шаг 5

На пятом шаге настраивается выгрузка каталога товаров. Для этого необходимо выполнить следующие пункты.

1. Выбор инфоблоков и свойств

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

2. Путь к файлу

По указанному пути будет сгенерирован файл в формате , в котором будет находиться структура каталога. По умолчанию установлен путь - "/bitrix/catalog_export/retailcrm.xml" . В случае смены пути, потребуется выполнение аналогичной настройки в системе.

3. Настройка количества офферов в экспорте

В настройках экспорта каталога присутствует поле «Максимальное количество торговых предложений у товара», где необходимо вводить максимальное число торговых предложений, которые могут быть у одного товара (если их больше 50). По умолчанию модуль рассчитывает максимум на 50 торговых предложений у товара. Если торговых предложений в магазине меньше 50 на товар, эту настройку можно игнорировать. Если торговых предложений больше и настройка указывается, рекомендуется переводить агент на крон, если он работает на хитах.

4. Выбор периодичности выгрузки

На выбор будут даны три варианта:

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

Этот вариант может быть полезен, если каталог товаров Вашего интернет-магазина изменяется очень редко, или Вы хотите настроить параметры выгрузки позднее.

2. Cron - выбор данного пункта приведет к автоматическому созданию специального профиля, который будет привязан к службе Cron сервера, на котором функционирует сайт интернет-магазина.

Утилита cron работает в фоновом режиме и выполняет указанные задачи в указанное время.

Выбор данного пункта может быть полезен, если каталог содержит очень большую номенклатуру (более 10 000 товаров ). Для этого пункта необходимо указать имя специального профиля экспорта.

3. Агент . В данном случае, также будет создан специальный профиль, который подключится к технологии «Агенты» в 1С-Битрикс, и выгрузка будет происходить автоматически раз в сутки .

Агент - это php-функции, которые запускаются с определенной периодичностью. В начале загрузки каждой страницы система автоматически проверяет, есть ли агент, который нуждается в запуске, и в случае необходимости исполняет его. Не рекомендуется создавать агентов для длительных по времени выгрузок - лучше использовать cron.

Данный вариант наиболее предпочтителен, если каталог содержит менее 10 000 товаров , то выгрузка происходит довольно быстро, и это никак не скажется на скорости работы сайта интернет-магазина.

В случае большой номенклатуры (более 10 000 товаров ), необходима дополнительная настройка Агента на Cron. Для этого пункта также необходимо указать имя специального профиля экспорта.

4. Указание моментальной выгрузки

В результате установки флага «Выгрузить сейчас», произойдет выгрузка структуры каталога в указанный выше файл, сразу после установки модуля.

После выгрузки каталога в файл в системе необходимо зайти в раздел Администрирование -> Магазин -> Название магазина -> Вкладка "Каталог" и поставить галочку в поле «Загрузить каталог из ICML сейчас». В этом случае скачивание файла и его обработка начинаются практически моментально.

5. Указание имя профиля

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

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

Завершение мастера установки

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

Выгрузка службы доставки при обмене 1С-Битрикс – система

Если у вас к 1С-Битрикс подключены автоматизированные службы доставки, такие как eDost, у которых много профилей: Почта России, EMS, DHL и многие другие, то в системе Вы можете воспользоваться возможностью выгрузки такого рода службы доставки.

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

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

Перейдите в Администрирование > Настройки , перейдите на вкладку "Настройки справочников".

Настройте соответствие способов доставки (предварительно настроив на стороне системы). Далее нажмите кнопку "Выгрузка служб доставок".

Настройка периодичности выгрузки 1С-Битрикс – система

При обновлении каталога товаров можно выделить два момента:

Генерация каталога (в формате yml/icml) на стороне клиента и

Система загружает каталог раз в три часа. Путь к файлу, который необходимо выгрузить, задается в настройках магазина - нужно зайти в раздел Администрирование > Магазины > Выбрать магазин > Вкладка Каталог .

После установки модуля системы в 1С-Битрикс создается профиль для выгрузки. Чтобы посмотреть, нужно зайти в Рабочий стол > Магазин > Настройки > Экспорт данных . На скриншоте представлено два варианта:

По умолчанию,

Выгрузка каталога системы.

Если выбрать второй вариант, нажав на него, можно открыть параметры выгрузки.

В случае, если вариантом периодичности выбран Агент, чтобы посмотреть список Агентов, нужно зайти в Рабочий стол > Настройки > Настройки продукта > Агенты .

Если нажать "Изменить" или "Добавить новый", можно назначить или поменять периодичность запуска задания на генерацию.

Периодичность синхронизации данных при обмене 1С-Битрикс – система

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

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

Обмен заказами - это процесс синхронизации данных, когда заказы выгружаются в обе стороны:

Из 1С-Битрикс в систему:

  • Если включена выгрузка по событиям, при создании или изменении заказа в системе 1С-Битрикс, он сразу же выгрузится в систему. Если выбран агент выгрузки, то заказ выгрузится в систему в течение 15 минут (не рекомендуется использовать этот механизм без веских причин, так как в этом случае заказы приходят с задержкой и обновления этих заказов в систему переданы не будут).
  • При изменении пользователя, основные данные также сразу выгрузятся в систему.

Из системы в 1С-Битрикс:

  • Если в системе создать заказ для нового пользователя, то в 1С-Битрикс выгрузится заказ и создастся новый пользователь в интервале от 1 до 15 минут.
  • Если в системе на странице заказа изменить адрес, стоимость доставки или статус, то все эти изменения выгрузятся в 1С-Битрикс в течение 15 минут.
  • Если в системе изменить скидки у товаров и изменить количество товаров - это изменится и в 1С-Битрикс в промежутке от 1 до 15 минут.

Изменения в модуле интеграции

Версия 2.0

  • Модуль интеграции версии V2.0 предназначен для интеграции 1C-Битрикс с установленным в нем модуле "Интернет-магазин (sale)" версии > 16.
  • Теперь работа модуля осуществляется посредством API V4.
  • В модуле интеграции теперь используется новое ядро 1С-Битрикс D7.
  • Теперь из системы на сайт также приходят изменения по клиенту (Ф.И.О., email, телефон).
  • В настройках модуля интеграции в разделе "Прочие настройки", появилась возможность транслировать номера заказов из системы в 1C-Битрикс. То есть, если в системе создать в ручном режиме заказ с номером, к примеру, 12345R, то в 1С-Битрикс создастся заказ с таким же номером.
  • Так как в модуле "Интернет магазин(sale)" версии > 16 разработчики Битрикс ушли от применения скидок ко всему заказу и оставили скидки только у товаров, то в системе, пока что, также нет возможности использовать скидки ко всему заказу. Можно задавать скидки только к конкретным позициям заказа.

Версия 2.1

  • Добавлены единицы измерения в экспорте каталога.

Версия 2.2

  • Теперь модуль поддерживает несколько версий API с возможностью выбора.
  • Поддержка API V5.
  • Добавлена возможность выгрузки остатков в разрезе складов.
  • Добавлена возможность выгрузки типов цен.
  • Добавлена базовая интеграция Daemon Collector.
  • Добавлена интеграция с Universal Analytics.
  • Доработана логика работы встроенных функций для модификации данных.
  • Добавлена встроенная функция retailCrmApiResult.
  • Добавлен триггерный вариант истории изменений.

Версия 2.4

  • Добавлена проверка в обработчике сохранения оплаты на новый заказ.
  • Добавлена настройка количества торговых предложений в экспорте.
  • Добавлена конвертация закупочной цены.
  • Изменение файлов переводов.
  • Добавлена проверка в выгрузке изменений из системы для свойств заказа.
  • Добавлена выгрузка НДС.
  • Исправлено получение списка типов цен для выгрузки. Для выбора доступны все типы, которые есть в Битрикс.

Прочие настройки

Настройки заказов

Транслировать номера заказов созданных в црм в магазин

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

Выгрузка заказов

  • По событию - при сохранении заказа данные уходят в систему;
  • Агентом - выполняется отправка новых заказов перед запросом истории изменений из системы.

Версия API клиента

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

Включить выгрузку остатков в разрезе складов (доступно при наличии складов)

Теперь можно осуществлять периодическую выгрузку остатков со складов сайта в склады системы. Для этого нужно:

  • произвести сопоставление складов сайта со складами системы;
  • указать магазины системы, в которые будут грузиться остатки;
  • выбрать инфоблоки с товарами, нужные для загрузки остатков (выбирать необходимо те, которые указаны в экспорте каталога для системы).

Выгрузка осуществляется агентом с периодичностью в 1 час (по умолчанию).

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

Включить выгрузку типов цен для товаров (доступно только при наличии нескольких типов цен)

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

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

Выгрузка осуществляется агентом с периодичностью в 24 часа (по умолчанию).

Активировать Демон Collector

Теперь из интерфейса настроек можно добавить на сайт Демон Collector. Для этого нужно указать соответствующий ключ для нужного сайта. Ключ можно найти в системе.

Включить интеграцию с UA

Теперь из интерфейса настроек можно включить интеграцию с Universal Analytics (корректно работает со стандартным компонентом оформления заказов). Для каждого сайта, на который Вы хотите добавить отслеживание, нужно заполнить Идентификатор отслеживания и Индекс пользовательского параметра.

Где $order - сформированный массив данных заказа для отправки в систему, а $arFields - массив полей заказа на сайте. function retailCrmBeforeOrderSave($order) { //Ваши изменения return $order; //либо return false; и тогда изменения из системы по этому заказу будут проигнорированы }

Где $order - массив с измененными данными заказа, пришедший из системы.

Функция retailCrmAfterOrderSave

retailCrmAfterOrderSave - функция выполняющаяся сразу после сохранения на сайте изменений данных заказа, пришедших по истории из системы.

function retailCrmAfterOrderSave($order) { //Ваши изменения return; }

Где $order - массив с измененными данными заказа, пришедшими из системы.

Функция retailCrmApiResult

retailCrmApiResult - функция выполняющаяся сразу после получения ответа от API системы.

function retailCrmApiResult($methodApi, $res, $code) { //Ваши изменения return; }

Где $methodApi - название API метода, $res - результат запроса true / false (удачный или не удачный запрос), $code - код статуса ответа API.

Обратите внимание, что ошибки в коде при использовании данной функции могут нарушить работу синхронизации сайта и системы.

Если перечисленных выше инструментов по какой-то причине недостаточно, то можно внести требуемые изменения непосредственно в код модуля без риска потери этих изменений при обновлении модуля. Для этого требуется скопировать файл с нужным классом в директорию /bitrix/php_interface/retailcrm/ и уже в нем производить модификацию. Данный механизм поддерживает изменение классов для работы с клиентами, заказами, событиями, экспортом каталога и другими вспомогательными механизмами.

Сроду такого не было, и опять то же самое.

В.С. Черномырдин.

Я уже говорил об обмене данными между программными продуктами семейства 1С и Битрикс-сайтами в статье Интеграция программного обеспечения. Описание процесса от бизнес консультанта. Но тогда я рассказал исключительно об общих принципах работы. В другой статье я написал о проблемах 1С и Битрикса.

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

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

Именно с такой проблемой ко мне обратился не так давно клиент, представитель веб-студии. Вот так выглядело его предложение о сотрудничестве:

Здравствуйте! Нужно срочно доделать синхронизацию сайта и 1С, точнее – выполнить выгрузку товаров, цен и фото из 1С 8.3 (последняя версия) на сайт. Помощь нужна срочно, если вы свободны, напишите мне, как с вами связаться, чтобы рассказать о проблеме подробнее. Заранее благодарен

Как и многие коллеги, я также зарегистрирован на фриланс-биржах, а потому подобные запросы меня не удивляют. Время у меня было свободное. И хотя пришел этот запрос далеко за полночь, я все же решил взяться за эту задачу.

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

Итак, исходные данные следующие:

  1. Имеется 1С Управления торговли. По словам клиента – последняя версия
  2. Перестала работать интеграция. Сразу после обновлений.
  3. Клиент утверждал, что обновился полностью.
  4. Битрикс последней версии
  5. Что делать?! Все пропало

Шаг первый. Версия конфигурации

Первое, что я делаю всегда, это проверяю информацию, которую мне предоставляет клиент. А в случае с 1С – обязательно самостоятельно проверяю текущую версию.

В данном случае релиз действующей конфигурации оказался 11.1.9.5. Это означало, что конфигурация не обновилась, версия не является последней .

Естественно, что я сообщил об этой ошибке клиенту, после чего самостоятельно установил обновления. Конфигурация обновилась. Интеграция так и не заработала.

При работе с 1С всегда перепроверяйте версию платформы и конфигурации! Это очень важно!
Напомню, что в Управлении Торговлей 11 заявлен стандартный модуль обмена данными между УТ.11 и Битрикс. Это стандартный встроенный модуль, который должен работать без каких-то дополнительных настроек. Но в моем случае после обновлений он так и не заработал. При запуске обмена просто не происходило ничего.

Шаг второй. Проверка платформы

Тогда я проверил релиз платформы. В принципе, его стоит проверять сразу. Лично я советую обязательно всегда самостоятельно проверять релизы и платформы, и конфигурации. Это настолько важно, что я не боюсь написать об этом повторно.

Проверяйте актуальность всех релизов самостоятельно!

В моем случае с платформой было все в порядке, релиз оказался последним, номер 8.3.5.1248, который вышел 31.10.14. (кстати пока я писал эту статью вышло еще одно обновление платформы).

Итак, версии платформы и конфигурации в порядке, но обмен не работает.

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

Шаг третий. Проверяем целостность базы данных

Так, первым делом я отправился на сайт Битрикс. Я перешел на следующую страницу:

Из таблицы, которая там представлена, я сделал вывод, что моя конфигурация точно соответствует версии модуля обмена.

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

Итак, программа 1С провела большую и достаточно длительную работу, так как в данном случае база данных была на файловой основе, было исправлено много ошибок. Общее время работы тестирования и исправления – 40 минут.
Ждать, конечно, пришлось долго. Но все когда-то оканчивается. И вот, после тестирования, мы с надеждой на лучшее запускаем обмен. Снова нет никаких результатов.

Шаг четвертый. Специальный модуль: поможет ли альтернативное решение?

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

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

Мой файл после скачивания назывался так:

4.0.5.1_ UT_11.1.2(3).zip

Таким образом, оказывается, я как минимум четвертый человек, который пытался решить эту проблему и скачивал этот модуль.

Далее я все же установил этот модуль. В архиве к нему идет небольшая брошюра, что оказалось очень кстати. Но самая версия файла мне не давала покоя. И я решил спросить у клиента, какой я по счету? В ответ услышал, что я уже 5 или 6 специалист, который пытается решить эту проблему.

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

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

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

Кроме того, все эти действия не принесли никакой пользы.

Проверяйте версию модуля обмена данных 1С и Битрикс. Их может быть несколько одновременно: несколько версий, а также несколько разных конфигураций.

После попыток установить дополнительный модуль, я обратил внимание на такую надпись вверху экрана:

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

Кроме того, очень внимательно нужно следить за выбором модуля. Лично я поначалу запутался в этих модулях для России:

В общем, что я получил в итоге всех действий и проверок:

  • Есть обмен стандартный, который выходит в 1С. Он не работает.
  • Есть модуль обмена данных «Для России». Он также не заработал.
  • Внизу есть еще один модуль обмена. Но и он не работает.

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

Что меня еще сбило с толку. Если вы нажмете кнопку «Требования 1С», то увидите такую таблицу:

Информацию об ошибке я благополучно нашел на 65 странице темы.

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

Разработчик об этом писал следующее:

Наш модуль обмена сейчас несовместим с платформой 8.3.5.1248. В этой платформе, похоже, изменили что-то нехорошее. Для того, чтобы модуль заработал - нужно заменить строчки кода:

|ТОГДА """"

На
|КОГДА ВариантыКомплектацииНоменклатурыТовары.Характеристика ЕСТЬ NULL
|ТОГДА НЕОПРЕДЕЛЕНО
В следующей версии модуля будут внесены соответствующие изменения.

Что это значит?

Администратор сайта 1С Битрикс практически признал, что ошибка находится в платформе 1С.

После того, как я нашел эту информацию, ошибка была исправлена и обмен, в общем, заработал. Но конкретно все - нет.

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

Также странная недоработка, я считаю. Почему-то об этом нюансе в документации не написано ни слова. И в свое время я решение этой проблемы искал аналогичным методом, т.е. на ощупь.

Что получилось в итоге?

Задача была решена успешно. Мы с клиентом все настроили, обмен данными начал работать так, как и должен. Мы отработали со стороны 1С, специалист по Битрикс настроил работу с данными со своей стороны. В результате потребовалось 3 часа напряженной работы.

На что было потрачено это время?

Каждое действие требует определенных временных затрат. Обновления занимают от 10 до 15 минут, индексация и исправление базы данных – 40 минут, каждая попытка обмена – от 15 до 18 минут (если запускать полный обмен).
В результате мы потратили очень много времени для того, чтобы заново настроить то, что прекрасно работало перед обновлением конфигурации и платформы 1С.

Выводы

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

И еще немного интересного из моего личного опыта

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

Что получается в итоге:

Нам нужно выгружать доработанные нашими силами справочники и данные в типовом виде.
Таким образом, имеем явное противоречие. Конечно, проблему мы обязательно решим и в этот раз, и в другой. Здесь важно понимать, что подобные накладки и противоречия – постоянные спутники каждого, кто занимается интеграцией 1С и Битрикс.

Если вы решились применять типовой обмен

Первое, что вам нужно понимать, что обмен, который вам предлагают, универсален, а потому сам модуль очень сложен. Кроме того, даже на этой странице v8.1c.ru/edi/edi_stnd/90/92.htm вы увидите, что имеется несколько версий этого обмена, причем, они регулярно меняются. А для полноценной настройки работы подобного обмена и, тем более, для доработки его под ваши потребности, вам придется очень четко понимать, как он работает.

Для примера:

Формат выгружаемых данных из УТ 11.1.9.56

Формат выгружаемых данных из УТ 11.1.9.56 с помощью модуля от Битрикс:

То есть имеем несогласованность форматов выгрузки от 1С и Битрикса для одной и той же версии платформы и конфигурации.

Взаимодействие продуктов 1С и 1С-Битрикс реализуется на базе процедур двунаправленного обмена данными. Обмен данными выполняется с использованием основанного на XML открытого Стандарта обмена коммерческой информацией – CommerceML 2.0.

Если вы почитаете, что представляет собой CommerceML 2.0, вы так же, как и я, поразитесь тому, насколько этот стандарт сложен по сравнению с другими. Даже просто описание, т.е. сам файл схемы описаний в формате txt занимает 107 килобайт!

И любая ваша ошибка, скорей всего, окончится тем, что обмен вообще перестанет работать.

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

Как делать интеграцию?

Я уже давал этот совет и дам еще раз: обмен нужно писать самому. Кроме интеграционных механизмов, у вас может возникнуть и другая проблема: сам модуль опирается на определенным образом заполненные данные. И эти правила также могут меняться и регулярно меняются.

Итак, в процессе «борьбы с обновлениями» вы справились с платформой, с модулем, а потом натыкаетесь еще и на ошибку, которая идет от неверного формата данных. Оказывается, заполнять их также надо определенным, причем, неявным образом. Вспомните, как я в своем примере указывал необходимость поставить «галочку» на стороне 1С Битрикс, о которой я, к счастью, знал. А иначе бы время работы над настройкой обмена еще больше затянулось бы. И нигде в документации об этой самой «галочке» не сказано ни слова!

В принципе, если вы используете типовой обмен, то стоит прислушаться к тому, что говорит сам 1С Битрикс словами администратора:
– не обновляйтесь (в то время как 1с говорит – обновляйтесь)

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

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

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

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

Через скайп дано:

  • Ссылка на сайт new.a...er.ru
  • Логин
  • Пароль
  • Obmen? - это имя пользователя в Битриксе, под которым идет обмен
  • Пароль - его пароль
  • Ссылка на dt
  • прямой доступ через фтп и ссш у них закрыт (((

Что нужно сделать

Нужно проверить действительно ли есть несовпадение остатков в 1С и в Битрикс

История

  • Скачиваю dt
  • Идет скачивание. Пока идет скачивание запишу себе пароли, что бы были под рукой. Размер dt 834mb
  • В 1С зашел
  • Управление торговлей, редакция 11 (11.3.4.31)
  • Зашел в Битрикс
  • Редакция продукта: Малый бизнес
  • Обновления доступны: с 13.06.2017 по 13.06.2018
  • Сейчас найду обработку и скрипты с помощью которых я сверял остатки

Обработки я нашел, но на обычных формах. На управляемых формах не могу найти, поэтому сейчас сделаю для остатков характеристики.

Результат

Из Битрикс остатки можно выгружать двумя способами - только активные и все. На изображении ниже показаны остатки, выгруженные в режиме "Только активные". Это неправильно, потому что в этом режиме выгружаются только те товары, у которых остаток больше нуля. Может быть такая ситуация, что на сайте нет остатка, а в 1С есть. На этом изображении видно, что у всех товаров из файлика есть остатки.

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



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

Выводы

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

На данный момент выдавать список товаров, у которых есть несовпадение остатков, не имее смысла по следующим причинам:

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

Естественная интеграция «из коробки»

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

Вы также можете улучшить функционал интеграции, скачав и установив бесплатный модуль для 1С: Управление торговлей.

Широкий функционал

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

Простота настройки

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

Возможность автоматической работы по расписанию

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

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

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

Безопасность


Веб-сайт работает на удаленном хостинге и не имеет доступа к системе «1С» и ее базе данных. Только в «1С» хранится необходимая информация для работы с веб-сайтом: адрес сервера и данные для выполнения аутентификации. Для сайта запрос от 1С - это типовой запрос от пользователя, который нужно обработать в соответствии с его правами.

Нарушение безопасности «1С» также не грозит безопасности веб-сайта , поскольку, как правило, обмен выполняется от прав пользователя, который обладает достаточно ограниченными правами (только работа с товарами и заказами), и в принципе не может нанести сколь-либо особый вред веб-сайту.

Производительность

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

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

Открытый формат и протокол обмена

Интеграция основана на применении открытого формата обмена коммерческой информацией CommerceML .

Как это работает

Технологические параметры интеграции

Продукты «1С: Предприятие 8.1» и «1С-Битрикс: Управление сайтом» поставляются со встроенными в системы штатными процедурами взаимодействия и поддержкой двунаправленного обмена данными с «1С: Предприятие», образуя готовое комплексное решение по автоматизации торговли, включая создание корпоративных веб-сайтов и организации продаж в сети Интернет.


Схема взаимодействия программных продуктов

Взаимодействие продуктов 1С и 1С-Битрикс реализуется на базе процедур двунаправленного обмена данными . Обмен данными выполняется с использованием основанного на XML открытого Стандарта обмена коммерческой информацией – CommerceML 2.0.

Интеграция реализуется следующими компонентами:

1. Функционал «Обмен данными с сайтом»

Входит в 1С: Предприятие 8.1 конфигураций УТ или УПП . Пункт меню: Сервис -> Обмен данными –> Обмен данными с веб-сайтом .


Модуль обмена данными с веб-сайтом в составе «1С: Предприятие»

2. Функционал «Интеграция с 1С»

Входит в состав модулей Торговый каталог и Интернет-магазин продукта «1С-Битрикс: Управление сайтом (редакции Малый бизнес» или Бизнес).

Настройки интеграции с 1С в «1С-Битрикс: Управление сайтом »

3. Функционал «Real-time обмен с «1С»

Как сделать так, чтобы все заработало?

  • Обновить интернет-магазин до 14.5. Дополнительных настроек не требуется
  • В «1С» установить модуль обмена 4.0 (новая реализация модуля не снимает «1С» с поддержки)
  • Включить в настройках «1С» реальный режим обмена

Realtime обмен с «1С»

Real-time обмен с «1С»

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

Обмен данными: «1С» и «1С-Битрикс: Управление сайтом»

В режиме реального времени идет обмен:

  • из «1С» в интернет-магазин –> о товарах, ценах, остатках в рамках заказов;
  • из магазина в «1С» –> по заказам, статусам, платежным системам, покупателям, контрагентам.

Как это работает

Обмен заказами происходит не 1 раз в день, не 1 раз в час, а секунда в секунду - моментально. К примеру, заказы, сделанные клиентами в вашем интернет-магазине, автоматически попадают в «1С». Мгновенно!


Обмен данными с «1C»


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

Нетребовательность к ресурсам

Не нужен сервер для обмена!

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

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

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

Модуль интеграции с 1С

Как включить Real-time

Модуль обмена с «1С:ERP» 5.0

Скачать и установить

Модуль обмена с «1С:ERP Управление предприятием 2.0» всегда доступен для загрузки . «Свежую» версию вы всегда найдете в списке бесплатных дополнений для торговых конфигураций «1С», предназначенных для улучшения функционала интеграции «1С» с интернет-магазином на базе «1С-Битрикс: Управление сайтом».

«1С:ERP Управление предприятием 2.0» – инновационное решение для построения комплексных информационных систем управления деятельностью многопрофильных предприятий с учетом лучших мировых и отечественных практик автоматизации крупного и среднего бизнеса.

Какие конфигурации поддерживает real-time обмен



Поддерживаем серверную и обычную конфигурацию

Real time обмен поддерживает:
Для России
  • Управление торговлей ред. 10.3
  • Управление торговлей ред. 11.1.4
  • Комплексная автоматизация ред. 1.1
Для Украины
Для Беларуси
  • Управление торговлей ред. 3.1
  • Управление торговлей ред. 2.0
Для Казахстана
  • Управление торговлей ред. 3.0
  • Управление торговым предприятием ред.2.0
  • Управление производственным предприятием ред.1.3

Выгрузка каталога товаров в «1С»

Интеграция позволяет выгрузить каталог товаров с сайта в «1С» – импортировать каталог сайта для ведения учета в «1С: Управление торговлей»)



Выгрузка каталога товаров

Построение дерева каталогов

Построение в «1С» дерева каталога для выгрузки на сайт – формирование новой структуры без переделки справочника номенклатуры)



Построение дерева каталогов

Пошаговая выгрузка каталога из «1С» в интернет-магазин

Можно выгружать каталоги в десятки и стони тысяч наименований за несколько шагов:

  • Пошаговая выгрузка позволяет снизить нагрузку на интернет-магазин при обновлении больших каталогов.
  • Выгрузку данных можно настроить индивидуально: например, указать количество товаров, выгружаемых за один шаг.
  • Существует возможность возобновления обмена после ошибки.


Скорость передачи самих данных, конечно же, определяется пропускной способностью канала вашего провайдера. Но благодаря оптимизации загрузки/выгрузки повысилась оперативность и надежность передачи данных. Процесс загрузки/выгрузки занимает меньше времени.
  • Только новые данные. Выгружаются только те данные, которые реально изменились. Система не перекачивает, к примеру, все изображения, а передает только новые или измененные.
  • Пакетная передача. Большие файлы передаются пакетами - «по кусочкам». При обрыве связи проверяется целостность последнего переданного пакета. И только этот «кусок» при необходимости передается заново. Весь файл, достигающий иногда размера в несколько гигабайт, нет необходимости передавать заново.
  • Отдельная выгрузка. Вы можете выгрузить отдельно (по сущностям) только цены, остатки, каталог и т.д. То есть, чтобы обновить только цены, вам не нужно выгружать всю огромную базу. В обмене участвуют и справочники. Их тоже можно выгрузить отдельно. Точно так же, как данные по частичной отгрузке заказа.
Изменилась не скорость выгрузки данных – она зависит от канала. Оптимизирована сама передача.
Также решены все транспортные задачи: после обрыва связи система продолжает работу с момента потери соединения, а не перекачивает заново все данные. Это особенно важно для магазинов с огромными каталогами товаров.



Очень важно для каталогов в десятки и сотни тысяч наименований

  • Полный обмен каталога между 1С и сайтом ускорен в 2 раза
  • Последующий полный обмен ускорен в 5 раз
  • Быстрая синхронизация цен и остатков
  • Каталог 100 000 наименований – первый полный обмен 10 мин, последующее обновление фактически в режиме реального времени
  • Значительное снижение нагрузки на сайт и 1С
  • Автоматическое возобновление обмена с того момента, когда произошла ошибка связи
  • Контроль версии всех данных (в том числе картинок!) при обмене

Многоскладовость

Вы можете показывать посетителям магазина, сколько какого товара у вас на разных складах магазина.
Покажите покупателям сколько товара на ваших складах



Список магазинов


Многоскладовость интегрирована с «1С». Благодаря этому вы можете выгружать из «1С» остатки по каждому из складов и представлять эту информацию посетителям сайта.



Выгрузите остатки по складам из «1С»

Возможности позволяют создать несколько складов и задать в них количество товаров. В каталоге клиенты увидят информацию об остатках нужного товара на складе. Это особенно удобно для клиента, если он выбрал способ доставки товара «самовывоз».

Например: «В магазине на Невском - 10 таких холодильников, а на Московском проспекте - 5». При заказе товара клиент может выбрать ближайший к нему магазин (или склад - в терминах интернет-магазина).

Поддержка работы с SKU (Stock Keeping Unit)

Настройка обмена с сайтом

Справочники, созданные в «1С», можно загрузить в полном объеме в интернет-магазин. И не только стандартные справочники, как таблица цветов. Вы можете загрузить, к примеру, справочник поставщиков и всегда будете видеть, у какого именно поставщика находится данный товар.

Возможности:

Внедрение и примеры проектов

Внедрение решения, включающего интеграцию программных продуктов «1С» и «1С-Битрикс», Вам помогут осуществить партнеры « 1С-Битрикс » , обладающие компетенцией «Интеграция с 1С ».

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

Если у вас недостаточно времения на выбор партнера, оставьте информацию о вашей задаче и заинтересованные партнеры сами свяжутся с вами и предложат свои услуги.

Для «1С-Битрикс: Управление сайтом» интеграция с «1С» - не проблема. Это штатная функция, которая уже давно присутствует начиная с версии программных продуктов "1С:Предприятие 8.1", редакция Управление торговлей (версия 10.3.4) и "1С-Битрикс: Управление сайтом" версии 6.5, в редакциях Малый бизнес, Бизнес и Большой бизнес.

Торговля в интернете не имеет никаких отличий от обычного ритейла в плане ведения бухгалтерской отчетности. В связи с этим возникает вопрос согласования продаж через интернет-магазин и проводки их по системе учета «1С». Для « : Управление сайтом» интеграция с «1С» - не проблема. Это штатная функция, которая уже давно присутствует начиная с версии продуктов "1С:Предприятие 8.1", редакция Управление торговлей (версия 10.3.4) и " " версии 6.5, в редакциях Малый бизнес , Бизнес и Большой бизнес .

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

Типовые проблемы можно сгруппировать примерно таким образом:

  • Ошибки с производительностью на стороне сервера
  • Ошибки при работе с файлами данных
  • Проблемы авторизации
  • Ошибки MySQL
  • Логические ошибки

Начнем по порядку.

Ошибки на стороне сервера

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

Наиболее частые проявления этих ошибок:

  • Ошибка работы с Интернет, выводится сообщение: failed sending data to the peer (no headers, no data)‏ ;
  • Получен пустой ответ сервера;
  • Ошибки 502, 500 или ошибка 404 уже в процессе обмена;
  • Ошибка нехватки памяти, например выводится сообщение: Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 102401…)‏
  • Не удалось получить текущее состояние процесса обмена. Данные обмена отправлены, но не загружены.

Общие методы решения – это изменение настроек сервера. Во-первых, можно увеличить лимит времени и памяти в настройках PHP.

  • php.ini.oci , расположенный в папке / apache .
  • Найдите в файле группу параметров Resource Limits .
  • Увеличьте значения параметров max_ execution_ time и memory_ limit .
  • Перезагрузите сервер.

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

  • Откройте для редактирования файл httpd.conf, размещенный в папке / apache/ conf/
  • Измените значение параметра Timeout .
  • Перезагрузите сервер.

Другой вариант решения этой проблемы (если хостер не соглашается на увеличение таймаута) - сделать равным таймаут сервера и таймаут «1С-Битрикс: Управление сайтом » (страница Магазин > Настройки магазина > Интеграция с 1С, поле Интервал одного шага в секундах ). В этом случае пошаговое выполнение будет идти синхронно.

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

Наконец, можно уменьшить объем выгрузки товаров за 1 раз. Настройте фильтр по номенклатуре на стороне «1С»:

  • Запустите мастер настройки обмена данными (Сервисы > Обмен данными с WEB-сайтом > Настроить обмен данными с WEB-сайтом )
  • На первом шаге мастера выберите Изменить существующую настройку обмена данными и нажмите кнопку Далее .
  • Выберите настройку для редактирования и дважды кликните по ней.
  • В закладке Выгрузка товаров (Или Обмен заказами , в зависимости от ситуации) измените значения фильтра.
  • Сохраните изменения и повторите синхронизацию.

Ошибки при работе с файлами данных

Ошибки при работе с файлами вызваны в основном неправильной настройкой прав доступа к файлам. Типовые сообщения при этом выглядят следующим образом: «Ошибка открытия файла" и "Ошибка записи файла". Способы решения проблемы, естественно, - настройка прав доступа на уровне операционной системы.

Обратим внимание на фразу «на уровне операционной системы». Права на уровне «1С-Битрикс: Управление сайтом », как правило, выставлены всегда правильно. Тем не менее, проверить права на осуществление импорта/экспорта не помешает. Делается это на странице Магазин > Настройки магазина > Интеграция с 1С .

Наиболее вероятные причины:

  • У пользователя, от которого ведется обмен данными, нет прав на запись в папку /upload .
  • Файл создается с правами, которые не позволяют чтение файла.
  • Файл также может быть передан на сервер в zip-архиве, но по определённым причинам не удалось распаковать архив, например, некорректно работает функция zip_open на сервере.

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

Выставление корректных прав на создаваемые файлы в рамках «1С-Битрикс: Управление сайтом » производится следующим образом:

  • Откройте для редактирования файл dbconn. php из папки / bitrix/ php_interface.
  • В строке define("BX_FILE_PERMISSIONS", 0644); установите значения, которые порекомендовал хостер вместо 0644 выставленных по умолчанию.

Точно также нужно проверить выставить права на создаваемые папки. Только это делается уже в строке define("BX_DIR_PERMISSIONS", 0755);.

Вот так выглядит проверка наличия расширения ZIP в настройках PHP:

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

1С не может пройти процедуру аутентификации на сайт и в этой связи выдается ошибка. Вызвано это, как правило, неверной настройкой «1С-Битрикс: Управление сайтом ».

«1С» может получать некорректный ответ при попытке авторизации на сайте. Это может быть ошибкой разработчика вашего сайта. Дело в том, что при авторизации первой строчкой ответа «1С» ждет "success". Но в ходе создания сайта разработчики могли в процессе разработки случайно оставить вывод в файлах тестовые строки.

Например, в файле /bitrix/php_interface/init.php или /bitrix/php_interface/dbconn.php и др.
Таким образом, 1С может получить ответ не "success", а "testsuccess" хотя данный авторизации отправлены корректные.

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

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

  • В поле Разрешить загрузку группам пользователей посмотрите, каким пользователям разрешен импорт/экспорт данных.
  • В зависимости от вашей конкретной ситуации или измените права доступа на импорт для нужных групп или включите нужного пользователя в группу, которой разрешен импорт из «1С».

Но в авторизации могут возникать и особые ошибки. Например, при работе PHP в режиме CGI. Это характерно для сайтов, размещенных на Windows-серверах. Можно это проверить с помощью файла test. php , как мы это делали при проверке свойств ZIP . В свойства сервера Apache в строке Server API в таком случае стоит CGI . Можно попытаться обойти эту проблему, а если не получится, то целесообразно обратиться в техподдержку хостинга.

Для «обхода» проблемы необходимо чтобы на сервере была включена обработка .htaccess и поддержка mod_rewrite . Выполните следующие действия:

  • В корне сайта в файл .htaccess добавьте строки:
    RewriteEngine on
    RewriteRule .* -
  • Закоментируйте следующие строки в файле .htaccess папки bitrix/admin/, которые отключают mod_rewrite :
    #

    # RewriteEngine Off

    #

  • В файл dbconn. php папки bitrix/ php_ interface/ добавьте строки:
    $remote_user = $_SERVER["REMOTE_USER" ]

    ? $_SERVER["REMOTE_USER" ] : $_SERVER["REDIRECT_REMOTE_USER" ];

    If ($strTmp)

    List($_SERVER["PHP_AUTH_USER"], $_SERVER["PHP_AUTH_PW"]) = explode(":", $strTmp) ;

Ошибки MySQL

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

  • Выводится сообщение: Lost connection to MySQL server during query . Ошибка, скорее всего здесь в таймауте.

Возможное решение проблемы: $DB->Query("SET wait_timeout=28800");

Если это не помогает, то необходимо обратиться к службе поддержки хостинговой компании для увеличения таймаута.

  • Конфликт кодировок. Например, выводится сообщение:

Причиной является то, что таблицы базы данных в одной кодировке, а сам база в другой. В данном случае база в latin1 и новые таблицы создаются в latin1 . При выгрузке из «1С» создается временная таблица b_xml_tree в «некорректной» кодировке latin1 .

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

Логические ошибки

Логические ошибки происходят, если пользователем неверно понимается процесс обмена данными и, соответственно, им неверно выполняются какие-то действия.

Наиболее частая ошибка при выгрузке каталога товаров появляется вместе сообщением: «Изменения товаров не зарегистрированы. Выгрузка товаров не произведена». Как правило, в этом случае неверно настроен фильтр товаров. Нужно проверить эти настройки. Как правило, там выбраны параметры, которые не позволяют правильно отфильтровать параметры для выгрузки.

Но, бывают ситуации, когда такое сообщение – нормальная ситуация. Это происходит в случае, если в настройках Режима обмена данными с WEB-сайтом установлено: Выгружать только измененные объекты с момента последнего обмена.

Другая ошибка при выгрузке каталога товаров - сообщение: «Не удалось найти вид номенклатуры». Эта ошибка возникает, если в «1С» нет видов «Услуга» и «Товар». Эти типы критичны для процесса обмена данными с сайтом. Решение проблемы – создать в «1С» указанные виды номенклатуры.

Если в процессе обмена возникает ошибка: «Поле объекта не обнаружено», то это означает, что не установлены соответствия для полей заказа в «1С-Битрикс: Управление сайтом ». Проверьте настройки, заданные в закладке Экспорт в «1С:Предприятие » страницы Настройки > Настройки продукта > Настройки модулей > Интернет-магазин . Поля «Полное Название» и «Название» критичны для 1С., то есть без задачи соответствия этих полей экспорт выполняться не будет. Обратите внимание, что настройка соответствий производится отдельно для разных типов плательщиков.

Резюме

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

Роберт Басыров

Все права защищены. По вопросам использования статьи обращайтесь к