Настройка синхронизации. Настройка синхронизации Способ синхронизации данных

В разделе Настройка синхронизации расположены основные параметры обмена - ключ для подключения к Битрикс24, настройки для всех типов данных, а также выбор режима обмена.

Коннектор

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

В Битрикс24 откройте приложение 1С + CRM Битрикс24 и скопируйте ключ.


Теперь вставьте скопированный код в поле Ключ подключения .


Готово! Теперь ваш портал Битрикс24 и 1С связаны между собой.

Настройка синхронизации

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

Синхронизация клиентов

Прежде всего выберем, хотим ли мы загружать клиентов из Битрикс24.

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

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

Если клиент не найден - 1С создаст нового.

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

Если включена синхронизация сделок или счетов - эта галочка всегда будет активна.

Если хотите выгрузить только часть клиентов - настройте отбор. Например, выгружать только группу «Покупатели».


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

Синхронизация товаров

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

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

Если включена синхронизация сделок или счетов - эта галочка всегда будет активна.

Если вы хотите выгрузить товары с определенной структурой (не как в 1С) - выберите Настроить дерево групп .


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


Таким образом мы просто создаём собственную структуру для товаров.

Если вы создали дерево групп - будут выгружены только группы и товары из этого дерева. То есть в нашем примере выгрузятся только товары из группы Стремянки

Ещё один способ отфильтровать товары - создать отбор. Нажмите Настроить отбор .


Вы можете отобрать товары по параметрам:


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

Для корректного отбора по ценам и остаткам выберите прайс-лист и склад


Выберите галочку Загружать информацию о товарах , чтобы данные о товарах из Битрикс24 передавались в 1С.

Если включена синхронизация сделок или счетов - эта галочка всегда будет активна.

Из Битрикс24 в 1С не выгружаются картинки и цены товаров

Синхронизация счетов

На этой странице мы определяем настройки обмена счетами.


Прежде всего необходимо указать соответствие статусов счетов в Битрикс24 и 1С. Нажмите кнопку .

Команда Загрузить с Битрикс24 добавит список статусов из Битрикс24. Для каждого из них выберите аналог в 1С.


Выберите опцию Загружать счета для передачи счетов из Битрикс24 в 1С.

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


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


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

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

Выберите опцию Выгружать счета для передачи счетов из 1С в Битрикс24.

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


Синхронизация сделок

На этой странице мы определяем настройки обмена сделками.


Прежде всего необходимо указать соответствие статусов сделок в Битрикс24 и заказов в 1С. Нажмите кнопку Настроить сопоставление статусов .


Команда Загрузить с Битрикс24 добавит список направлений и их статусов из Битрикс24. Для каждого из статусов выберите аналог в 1С.

Выберите опцию Загружать сделки для передачи сделок из Битрикс24 в 1С.

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


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


Также выберите подразделение и организацию для сделки.

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

Выберите опцию Выгружать сделки для передачи сделок из 1С в Битрикс24.

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


Конфигурации имеют свои особенности обмена.

Например, «1С:Бухгалтерия» обменивается счетами, «1С:Управление торговлей» - сделками (заказами), а «1С:УНФ» - и тем и тем.

Способ синхронизации данных

Обмен между 1С и Битрикс24 может происходить в двух режимах:

  • Режим реального времени : любые изменения на стороне 1С или Битрикс24 запустят процесс синхронизации
  • Ручной режим : обмен данными запускается вручную на стороне 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С.

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

  • "1С: Управление торговлей", не ниже 10й версии
  • "1С: Зарплата и управление персоналом"

Внимание! Облачные версии 1С не поддерживают синхронизацию с Битрикс24.

Синхронизация с "1С: Управление торговлей"

  1. Счета:
    • менеджер выставляет счет в CRM
    • счет автоматически попадает в «1С». При этом счет привязывается к нужному контрагенту в 1С
    • бухгалтер вносит в «1С» факт этой оплаты
    • в CRM отображается информация, что данный счет оплачен
    • менеджер CRM в курсе - оплата прошла
  2. Товары. Из 1С в Битрикс24 по расписанию подгружается актуальная информация по товарам и услугам, цены, наличие на складе.

Синхронизация с "1С: Зарплата и управление персоналом"

  1. Структура компании. Отделы, департаменты, иерархия, руководители отделов и подразделений, заместители и т.д. Информация сразу становится доступна для просмотра всем пользователям.
  2. Сотрудники компании. Выгружается полная информация о сотрудниках, включая фотографии, личную информацию и данные о рабочей деятельности. Род занятий, должность, контролируемые вопросы.
  3. Информация об отсутствиях сотрудников. Больничные, отпуска, командировки и пр. Информация отображается на корпоративном портале в виде графиков.
  4. Кадровые перестановки. Прием на работу новых сотрудников, увольнение, список сотрудников с испытательным сроком и т.п.
  5. Вакансии. Актуальные вакансии компании.

Синхронизация с помощью 1С трекера

Односторонняя синхронизация из 1С в Битрикс 24: по компаниям(контрагенты в 1С), контактам и дела(реализациив 1С). Данная схема уместна при переходе от 1С к CRM Битрикс 24. По сути это АВТОМАТИЧЕСКИЙ ИМПОРТ.

Другая синхронизация

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

Это будет не быстро и не дешево.

Случай из практики.

Если в компании клиента менеджеры помимо работы с клиентами, сами выписывают счета, акты или другую документацию в 1С, то есть 2 способа перенести эту работу в Б24:

  1. Добавить шаблоны этих документов в Битрикс24, доработать Б24 так, чтобы менеджерам было также удобно работать с документами как в 1С (там бухгалтерские документы удобно устроены). Но это только на коробочной версии и будет это не быстро и не дешево.
  2. Второй способ - снять с менеджеров функцию по ведению бухгалтерской документации и делегировать это, например, на бухгалтера, или нового человека. А менеджеры пусть только выставляют счета, что и предусмотрено Битриксом24.
Сроду такого не было, и опять то же самое.

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

Я уже говорил об обмене данными между программными продуктами семейства 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С: Предприятие Управление торговлей, редакция 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С Битрикс.

Понравилось? Лайкни нас на Facebook