29.06.2020

Битрикс обмен 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.0
  • Управление торговлей ред. 2.3
  • Управление торговым предприятием ред. 1.2
  • Управление производственным предприятием ред. 1.3
Для Беларуси
  • Управление торговлей ред. 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С: Предприятие Управление торговлей, редакция 11.1 (11.1.2.31).
Точка актуальности статьи - май 2015.
Обращайте на это внимание.
Очень многие вещи, освоив однажды, мы делаем практически машинально.
Однако, не каждый из умеющих водить автомобиль, может стать инструктором вождения.
Одно дело - сделать самому, совсем другое - рассказать другому, как делать. Многим знаком этот старинный анекдот.
- Дорогая, где чай? Я никак не могу найти.... - Ах, какой ты беспомощный! Чай в аптечке, в банке из-под какао, на которой наклейка "СОЛЬ".
Именно поэтому большинство инструкций по интеграции 1С и Битрикс не заостряют внимание на моментах, на которые начинающий может потратить от нескольких часов, до нескольких дней своего времени.
Попробую максимально закрыть этот вопрос именно в плане быстрого старта
(не ошибусь, если скажу - у многих есть желание посмотреть, как работает 1С Управление торговлей в связке с интернет магазином).
Огромное спасибо разработчикам Битрикс за виртуальную машину. С ней установка системы для тестирования стала занимать минуты.
Дальше - обращайтесь к форумам, гуру, куру и т.п.

Приступаем.

Что нужно скачать:

Виртуальную машину запускаем в плейере.

Дополнения устанавливаем в каталог шаблонов 1С.

Из шаблонов же создаем базу Управление торговлей Демо, редакция 11.1 (11.1.2.31). Включаем в конфигураторе возможность изменения
, и интегрируем модуль дополнения от Битрикс.
Этот процесс полностью описан в файле документации, идущем в комплекте с модулем. Цитирую дословно:




  1. Включить в объединение (установить флажок) подсистему «Битрикс»: "Конфигурация" - "Общие" - "Подсистемы" - "Администрирование" - "Битрикс".

10. Выполнить сравнение и объединение конфигураций (кнопка «Выполнить»).

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

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

"<Адрес к 1 cv 8. exe >" ENTERPRISE (/ F или / S в зависимости от типа базы) ""<Адрес к базе> " / N "<Логин>" / P "<Пароль>" /C ЗапуститьОбновлениеИнформационнойБазы

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

Заодно лучше установить режим запуска «Толстый клиент управляемое приложение»

Пока мы занимались с 1С, подоспела виртуальная машина.

Загружаем дистрибутив «Управление сайтом» Бизнес Демо


Выбираем и настраиваем магазин.

Все настройки оставляем по умолчанию. Если есть желание навести марафет - введите сразу свои данные и снимите неиспользуемые флажки (виды оплаты и доставки)

В 1С настраиваем связь с сайтом. Проверяем, что сайт доступен.

Обратить внимание.
Делаем архивы.
1С - средствами 1С, а сайт - средствами виртуальной машины (если сделать архив через админку сайта, он пропадет при первом обмене с 1С).
Не забудьте убрать параметр запуска «ЗапуститьОбновлениеИнформационнойБазы» он уже не нужен.

Справедливое желание - загрузить номенклатуру с сайта.

Посмотреть, как устроены описания, свойства и т.п. Создаем под это вид и группу номенклатуры «Одежда»

Первая незадача - загрузка не проходит.
Получаем ошибку: «Не удалось загрузить данные с сервера. Ответ сервера: failure Ошибка инициализации экспорта».

Потому что по умолчанию ни у одной группы пользователей нет на это прав.

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

После этого загрузка товаров с сайта пройдет.

Помимо номенклатуры со всеми свойствами и характеристиками, загрузится цена BASE (запомните это наименование - оно нам пригодится) и документ установки цен

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

Переходим к выгрузке номенклатуры на сайт Битрикс из 1С.

Для начала - стандартным обменом 1С.

Переходим на вкладку Выгрузка товаров.

Обратить внимание.

Если произвести обмен сейчас - на сайте вообще не произойдет изменений. Вся номенклатура выгрузится в новый инфоблок, которого в пользовательской части сайта не видно.
Чтобы правильно попасть в уже настроенный инфоблок торгового каталога (он у нас называется Одежда) нужно правильно заполнить идентификатор каталога. Как его узнать?
В административной части сайта - переходим в Настройках к инфоблокам

И устанавливаем флажок «Показывать код загрузки из внешних источников »

После этого для Информационного блока Одежда увидим внешний код «clothes_s1»

Его можно поправить здесь или внести в 1С.

Далее переходим к настройке отбора в 1С

Обязательно создать и выбрать Соглашение

Как видно условия два: Доступно внешним пользователям и Сегмент партнеров - пустой

Обратить внимание.

На самом деле - есть еще и три: Оно должно называться BASE.Если пропустить этот момент, номенклатура на сайте будет заменена, но все товары будут недоступны для заказа. У них не будет ни количества, ни цен.

Остальные настройки в соглашении - могут быть «по вкусу». В том числе цена (многие волнуются по этому поводу).

Как и настройки отбора.

Обратить внимание.

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

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

После этого переключаемся в режим обмена с сайтом напрямую.

Обмениваемся с сайтом магазина.

Обмен прошел - номенклатура, цены, количество, картинки - все на месте.

Переходим к модулю обмена от Битрикс.

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

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

Обратить внимание.

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

На сайте в разделе Магазин - Типы цен - редактируем базовую цену. Записываем правильный внешний код.

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

Обратить внимание.

Если захотим вернуться к стандартному обмену - он не пройдет. Нужно на сайте в разделе Настройки - Командная PHP-строка - выполнить две строки кода

COption::SetOptionString("catalog", "DEFAULT_SKIP_SOURCE_CHECK", "Y") ;

COption::SetOptionString("sale", "secure_1c_exchange", "N") ;

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

А так же переходить к обмену заказами и многим другим интересным вещам в связке 1С:Предприятие - 1С Битрикс.

Дистрибутива модуля распакуйте архив и запустите setup.exe .

Запустите 1С: Зарплата и управление персоналом (1С-ЗУП) в режиме Конфигуратор . Обратите внимание, что установка модуля возможна только для версии конфигурации не ниже 2.5.9.2. Следуйте детальным пошаговым инструкциям, входящим в установочный комплект.

В результате в меню Сервис (в полном интерфейсе) должны появиться соответствующие пункты.

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

Настройка интеграции

Настройка обмена с корпоративным порталом

Откройте 1С: Зарплата и управление персоналом. В меню Сервис - Обмен данными с корпоративным порталом выберите пункт Настроить обмен данными с корпоративным порталом .

Выберите Создать новую настройку обмена . Откроется интерфейс первичной настройки обмена с корпоративным порталом.

  • Выберите Выгрузка на сайт , для того, чтобы данные были отправлены непосредственно на корпоративный портал, без создания промежуточных файлов выгрузки.
  • Используйте Выгрузка в каталог только в случае каких-либо неполадок: отсутствие соединения с Интернетом, ошибки при передаче и т.п. В этом случае в административной части "1С-Битрикс: Корпоративный портал" потребуется импортировать сгенерированные таким способом данные.
  • В поле Адрес сайта введите полный URL, по которому доступен корпоративный портал, включая http:// и номер порта, если он отличается от 80, а также путь к PHP скрипту, осуществляющему прием данных и их обработку. По умолчанию это /bitrix/admin/1c_intranet.php .
  • В полях Пользователь и Пароль укажите авторизационную информацию учетной записи на корпоративном портале, которая имеет права на прием данных из 1С. Для настройки такой учетной записи в административной части корпортала зайдите в раздел Настройки - Пользователи - Импорт пользователей и выберите опцию Импортировать из 1С: Зарплата и управление персоналом .
  • Если доступ по протоколу HTTP к корпорталу из 1С возможен только через прокси-сервер, отметьте опцию Использовать прокси-сервер и укажите его параметры.

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

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

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

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

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

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

Все изменения в объектах регистрируются в соответствующем Узле обмена данными , который и требуется указать в одноименном поле.

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



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

Нажмите кнопку Готово , настройка обмена завершена.



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

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

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

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

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

Я уже говорил об обмене данными между программными продуктами семейства 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С и сайтов Битрикс – занятие достаточно сложное, требующее внимательности, чаще всего, опыта, и даже он не всегда помогает. К сожалению, помощь по новым багам, которые достаточно стабильно приходят взамен старым, реально найти только на форумах. Именно по этой причине я предпочитаю писать обмен самостоятельно. Но если необходимость возникает, то и решение найдется (я надеюсь).

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

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

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

Цели статьи

  • Коротко изложить основные возможности обмена и его алгоритм работы;
  • Дать ссылки на официальные и прочие полезные источники;
  • Ответить на частые вопросы;
  • Прояснить, с чего начать интеграцию и как ее успешно завершить.

Стандартный обмен между 1С-Битрикс и 1С

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

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

Что умеет штатный механизм обмена

  • Импорт каталога товаров из 1С на сайт;
  • Экспорт каталога товаров с сайта в 1С;
  • Экспорт заказов с сайта в 1С;
  • Импорт заказов из 1С на сайт;
  • Импорт справочников (highload-инфоблоков) из 1С на сайт.

Информация о товарах передается на сайт в следующих файлах

  • import.xml - товары, группы (разделы инфоблока), типы цен, склады, свойства товаров и единицах измерения;
  • offers.xml - торговые предложения (ТП) товаров и их свойствах;
  • prices.xml - цены ТП;
  • rests.xml - остатки ТП;
  • references.xml - пользовательские справочники (HL-инфоблоки).

Файлы import.xml и offers.xml содержат описания свойств, типов цен, и прочую информацию, которая относится в равной степени ко всем товарам/ТП.

Если каталог большой, в целях оптимизации, описания выгружаются в отдельных “заголовочных” файлах. Это такие же файлы import.xml и offers.xml, только не содержат ничего кроме описаний. В таком случае заголовочные файлы обрабатываются только в самом начале обмена.

Информация о заказах передается на сайт в следующих файлах

  • documents.xml - документы (заказы);
  • contragents.xml - контрагенты (пользователи-покупатели).

Куда на сайт загружаются файлы выгрузки

В папку /upload/1c_catalog/. Перед каждым обменом эта папка очищается. То есть в этой папке всегда находятся файлы последнего обмена.

Можно включить " режим отладки” обмена — отключить перезапись файлов в папке 1c_catalog. Таким образом можно отключить удаление файлов выгрузки после завершения обмена.

Для этого нужно объявить константу в файле dbconn.php:

// Включает "режим отладки” для обмена с 1С, // отключает перезапись файлов в папке 1c_catalog // Что бы сохранялись все файлы после выгрузки. define("BX_CATALOG_IMPORT_1C_PRESERVE", true);

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

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

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

Что нужно для обмена на стороне сайта

  • редакция битрикса “Малый бизнес” или “Бизнес”
  • создать пользователя и группу “Обмен с 1С” для обмена, настроить права
    • разрешить группе выполнять выгрузку товаров/заказов (в настройках параметров)
    • разрешить группе доступ на чтение папки /bitrix/admin/

Что нужно для обмена на стороне 1С

  • настроить адрес сайта и пользователя сайта из группы “Обмен с 1С”
  • настроить параметры выгрузки на стороне 1С (зависят от версии УТ)

Структура каталога в 1С и на сайте

Что делать если структура каталога в 1С не совпадает со структурой на сайте?

В 1С можно задать какие товары и разделы выгружать.

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

Так же можно задать условия отбора товара (не все товары нужны на сайте) для выгрузки на сайт и свойства (в 1С много св-в, не все нужны на сайте).

Виды выгрузок из 1С

Полная выгрузка

Происходит при выгрузке данных на сайт в первый раз, или при ручном запуске.

  • Выгружаются все товары.
  • Картинки выгружаются только у новых или измененных товаров.

Краткая выгрузка

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

Полная принудительная выгрузка

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

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

С чего начать интеграцию c 1C

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

  • Будет создан тип иблока;
  • Будет создан иблок;
  • Будут созданы св-ва и справочники;
  • Будут созданы разделы каталога;
  • Будут созданы элементы каталога;
  • Будут созданы торговые предложения.

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

Как завершить интеграцию

Сопоставить структуры данных на сайте со структурой в 1С — вот главная цель интеграции.

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

  • В существующий инфоблок;
  • В существующие св-ва;
  • В существующие разделы инфоблока;
  • В существующие товары и торговые предложения;
  • В существующие типы цен.

Все эти задачи решаются путем настройки одинаковых идентификаторов (XML_ID), то есть у вас должны совпадать все внешние коды на сайте с внешними кодами из 1С.