Синхронизация битрикс и 1с предприятие

Интеграция 1С и Битрикс: Управление сайтом

Интеграция 1С и Битрикс: Управление сайтом

Интеграция системы учета на базе 1С и сайта на CMS 1C:Битрикс Управление сайтом является сложной задачей, на этом этапе “погибло” немало хороших сайтов.

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

2.png

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

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

3.jpg

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

Именно эти позиции показываются в списке товаров в каталоге:

4.jpg

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

Простой товар — товар, у которого нет вариантов размеров, драгоценных камней или других параметров влияющих на цену(если такие будут, то см. Ниже “Каталог предложений”). Например, серьги, кресты.

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

Комплект и набор — эти типы рассматривать не будем, т.к. они доступны только в редакции “Бизнес” и из 1С их выгрузить нельзя. Подробнее тут.

6.jpg

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

7.jpg

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

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

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

Полная выгрузка товаров — при такой выгрузке каждый раз получаются все данные для выгрузки (в зависимости от настройки — остатки, весь каталог или остатки+каталог). Такая выгрузка подходит при небольшом количестве товаров (до 5 000 артикул и 10 000 предложений). Если количество товаров и предложений большое, то такая выгрузка может занять от 3-6 часов.

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

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

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

Рассмотрим состав файлов выгрузки:

    8.jpg

Папка с названием кода выгрузки

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

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

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

10.jpg

Главное, что нужно знать про общие файлы — в них должны быть описаны все свойства товаров и предложений и идентификаторы свойств и значений в этих файлов должны совпадать со свойствами указанными в товарных файлах(смотреть ниже). В противном случае, свойства не будут загружены в товар.

Теперь самое интересное — файлы с товарами.

Файл import — содержит данные по элементам каталога товаров.

Читать еще:  Синхронизация почты яндекса с the bat

Ид — cамое важное — это идентификатор номенклатуры, он должен быть уникальным, т.к. Если в файле есть два разных товара с одинаковым ИД, то на сайт будет загружен только последний элемент, точнее будут загружены оба, но последний перетрет предыдущий элемент. Ид важен, т.к. значение того, как он работает можно использовать, например для того, чтобы загружать остатки из 2-х разных баз так, чтобы одинаковые артикула не двоились — для этого нужно сделать так, чтобы в выгрузке из каждой базы ид товара были одинаковы.

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

Группы — это список разделов на сайте, в которые попадает товар. Огромный плюс в том, что на сайте товар может лежать в более, чем 1 разделе

Описание — текстовое описание товара, выводится карточку

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

Первая картинка становится основной для товара, остальные дополнительные.

Основной блок со свойствами товаров. Именно эти ид свойств и ид значений должны быть идентичны свойствам и значениям в общих файлах импорта.

Файл offers — элементы каталога предложений

Ид — идентификатор предложения. Связь элемента каталога товаров и предложений идет именно через ИД предложений.

ОБЯЗАТЕЛЬНО: Началом ид предложений должен быть ид товаров, которому это предложений соответствует. Также если у предложений 1 ид, то на сайт будет загружено только последнее. Поэтому для создания нескольких предложений по размерам и вставкам в ид добавляются либо гуиды вставки и наименование размера.

Далее использую это информации можно реализовать выгрузки изделий по сериям номенклатуры(уникальные изделия) добавив в ид серию. Или выгрузку товаров с разным весом — также в ид добавляем вес изделия и на сайте уже имеем столько предложений сколько товаров данного артикула с разным весом.

Номер версии — в этот пункт мы пишем даты выгрузки в миллисекундах.

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

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

Список свойство товаров — также идентификаторы свойств и значений должны находиться в общем файле для предложений товаров.

16.jpg

Для указания изображения для предложения необходимо до выгрузки свойств, выгрузить секцию — <Картинка><Картинка/> — и ссылка на изображение, аналогично файлу import.

Файлы prices

17.jpg

Ид предложения из файла offers совпадал с ид в файле prices. В противном случае цена для предложения не загрузиться и оно будет недоступным.

При выгрузке нескольких цен на 1 предложение все цены должны идти в 1 секции “Цена”. В противном случае цены могут затирать друг друга. Т.е. Для 1 предложения в файле prices должна быть 1 запись, а в ней в блоке “Цены” все цены идти в блоках “Цена”.

Файлы rests — файлы с данными остатков товаров.

18.jpg

Ид предложения из файла offers совпадал с ид в файле rests. В противном случае цена для предложения не загрузиться и оно будет недоступным

Папка import_files — в ней содержатся изображения для товаров, их физическое расположение.

vpronin.ru

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

В этой статье будет рассмотрено несколько примеров кастомизации стандартного обмена.

Подготовка

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

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

Если говорить крайне упрощенно, то 1С последовательно посылает запросы с различными параметрами к /bitrix/admin/1c_exchange.php.

Сама ссылка /bitrix/admin/1c_exchange.php находится в настройках обмена на стороне 1С.

Создадим копию точки входа /bitrix/admin/1c_exchange.php с новым именем 1c_exchange_custom.php.

В файле /bitrix/admin/1c_exchange_custom.php заменим

Создадим копию /bitrix/modules/sale/admin/1c_exchange.php с именем 1c_exchange_custom.php.

Внутри /bitrix/modules/sale/admin/1c_exchange_custom.php заменим подключение стандартного компонента.

Создадим копию компонента /bitrix/www/bitrix/components/bitrix/catalog.import.1c/ с новым именем catalog.import.1c.custom.

В файле /bitrix/components/bitrix/catalog.import.1c.custom/component.php заменим все классы CIBlockCMLImport на CIBlockCMLImportCustom.

В этом же файле в начале подключим файл с нашим новым классом CIBlockCMLImportCustom, добавив после

Если при подключении возникнет ошибка, то вместо $_SERVER[‘NAME’] укажите путь вручную.

Создадим копию файла (в нем описан класс CIBlockCMLImport) /bitrix/modules/iblock/classes/general/cml2.php с новым именем cml2_custom.php.

Внутри созданного файла /bitrix/modules/iblock/classes/general/cml2_custom.php заменим все содержимое на

После этого новый класс CIBlockCMLImportCustom унаследует все методы стандартного класса и в дальнейшем мы сможем их переопределить.

Читать еще:  Регулировка fan cpu asus

После всех правок меняем адрес импорта в 1С на site.ru/bitrix/modules/sale/admin/1c_exchange_custom.php и обязательно тестируем полученный результат.

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

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

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

Тестирование

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

Для этого нужно положить готовые xml в папку /upload/1c_catalog/ и в файле /bitrix/modules/sale/admin/1c_exchange_custom.php перед вызовом компонента

отключить проверку источника запроса

После этого в браузере нужно вызвать url импорта.

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

Правка компонента импорта

Правка механизма обмена заключается в изменении методов класса CIBlockCMLImport.

Поскольку мы переопределили стандартный компонент импорта, то правки будут вносить в класс наследник CIBlockCMLImportCustom, который находится по адресу /bitrix/modules/iblock/classes/general/cml2_custom.php.

Рассмотрим несколько конкретных примеров.

Пример №1

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

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

За импорт элемента инфоблока в классе CIBlockCMLImport отвечает метод ImportElement. Скопируем его в новый класс CIBlockCMLImportCustom.

Для обнуления свойств после

Пример №2

При обмене не импортируются email складов.

За импорт складов в классе CIBlockCMLImport отвечает метод ImportStores. Скопируем его в новый класс CIBlockCMLImportCustom.

Интеграция 1С и Битрикс — Какие проблемы могут быть?

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

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

Ходит мнение, что настройка интеграции 1С — типовая и простая задача. Но так ли это на самом деле? Давайте разберемся. Ведь, не спроста мы, как и большинство квалифицированных разработчиков, изначально озвучиваем заказчикам вилку на интеграцию.

1 С какими проблемами можно столкнуться при проведении интеграции с 1С?

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

1. Версия конфигурации 1С

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

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

2. Корректность данных

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

Первый пример из практики

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

Просто в зависимости от позиции, должна быть привязана определенная сущность. Но в 1С все было сделано наоборот: вместо характеристик к товарным предложениям были привязаны дополнительные реквизиты. Это потребовало дополнительных трудозатрат на исправление.

Второй пример из практики

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

Эталонная база

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

3. Скидки

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

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

4. Ограниченность модуля обмена

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

Читать еще:  Как регулировать частоту процессора на ноутбуке

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

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

2 Выход есть!

Как избежать геморроя на проекте? Ответ прост: начать правильно. А это значит, что до начала интеграции нужно провести аудит вашей учетной системы 1С.

Для чего нужен аудит 1С?

  1. Исполнитель знает, какие задачи стоят перед заказчиком еще до начала работ;
  2. Заказчик проинформирован обо всех подводных камнях заранее;
  3. После аудита интегратор заранее знает, как правильно отстроить обмен под конкретные задачи заказчика.
  4. Сохранить нервы и деньги заказчика. До начала работ вы точно будете знать, какие вложения в проект вас ожидают. И ничего не вылезет неожиданно на середине работы.

Как проходит аудит 1С?

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

Таким образом, благодаря проведению аудита 1С до начала работ по интеграции, вы:

  • Знаете, чего ожидать от интеграции;
  • Можете осознанно начать проект;
  • Уверены в сумме вложений в него.

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

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

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

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

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

Что вы получаете от синхронизации с 1С

  • Удобство. Обмен данными между сайтом и «1С:Предприятием» происходит автоматически, постоянно поддерживая ассортимент интернет-магазина в актуальном состоянии.
  • Выгода. Не нужно тратить собственные силы или платить контент-менеджерам за размещение и редактирование каталога товаров на сайте.
  • Надежность. Синхронизация 1С и Битрикс осуществляется защищенным способом, устойчивым к взлому. Сам интернет-магазин при этом не теряет в скорости работы.
  • Клиенториентированность. Персонал магазина сможет приступить к выполнению заказа сразу после того, как он был сделан. Покупатель получит товар быстрее, чем у конкурентов, и останется довольным.
  • Стабильность. Репутация разработчиков 1С говорит сама за себя: более 40% российских интернет-магазинов пользуются интеграцией сайта с 1С на протяжении многих лет.

Чем можем помочь мы

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

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

7 cертифицированных
программистов

Интернет-магазин нижнего белья датской марки ARDI

  • Большой удобный каталог с фотографиями и описаниями моделей
  • Полезная информация для клиента
  • Различные способы оплаты и доставки товара

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

Интернет-магазин элитной женской бижутерии из натуральных камней.

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

Вышло гораздо дешевле и быстрей чем при работе с предыдущими подрядчиками.

Yogaparking

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

Золотой скарабей

Надежная поддержка сайта, хорошая отчетность. Продолжаем работать.

АДВ Мастер

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

ARDI

Быстро, качественно, недорого – по этим трем параметрам мы искали подрядчика.

Интернет магазин компании Люкс Эйр Трейдинг

В целом, рекомендую компанию! Спорные моменты бывают, но всегда удается довести дело до конца.

Интернет магазин космецевтики

По сравнению с фрилансом — реальные сроки и качество на порядок выше. Рекомендую.

Строительный журнал
Добавить комментарий