О web-разработке
и даже немного больше...

Выгрузка каталога из 1С в указанный инфоблок

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

Допустим, у нас есть 1C в наличии с модулем обмена с сайтом, а так же непосредственно сам сайт, выполняющий роль интернет магазина под управлением CMF Bitrix.

Так как выгрузка происходит по инициативе 1С, пожалуй, начнем с неё. Каждый выгружаемый раздел, элемент, свойство и т.д. имеет свой GUID. Это некий уникальный код, который является по своей сути статическим идентификатором, можно сказать ключом, который по умолчанию генерируется 1С-кой автоматически. При выгрузке этот ключ служит для сопоставления структуры передаваемых данных, к уже имеющиеся данным на сайте, или где либо ещё. Особенность этих ключей в том, что они позволяют масштабировать проекты различного рода, а так же придают гибкость в использовании данных.

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

Посмотрим на скриншоты сделанные мной:

GUID

По умолчанию в списке GUID не показывается. Чтобы увидеть поле с ключом, щёлкаем правой кнопкой мыши, выбираем пункт «Настройка списка», появляется вот такое окно:

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

Ставим галочку, жмем «ок», видим следующую картину:

GUID Каталога

Появилось дополнительное поле GUID Каталога, которое доступно для редактирования. При желании мы можем поменять значение на своё:

поле GUID
Сохраняем сделанные изменения, поговорим теперь что и как на стороне Bitrix-а.

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

В инфоблоке нас интересует поле «Внешний код» (он же XML_ID), по умолчанию он не показывается. Для его отображения необходимо пройти в настройки модуля инфоблока, и поставить флажок на параметре «Показывать код выгрузки из внешних источников». Чтобы долго не искать вот вам относительная ссылочка:
/bitrix/admin/settings.php?lang=ru&mid=iblock&mid_menu=1

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

Кстати, есть важный параметр в настройках интеграции с 1С «При выгрузке учитывать тип инфоблока», так вот если он активный, то при выгрузке перед GUID должен быть приписан код типа инфоблока. На это стоит обратить внимание.

Настраивается он тут:
Рабочий стол > Магазин > Настройки магазина > Интеграция с 1С
Ссылка: /bitrix/admin/1c_admin.php?lang=ru

При включенном параметре внешний код будет выглядить примерно так:
catalog-av_tech_iblock

Следовательно catalog это код типа инфоблока, а всё что идет после символа «-» это наш GUID. Если параметр отключен, то будет указан только GUID:
av_tech_iblock

Успехов в деле.

Так же рекомендую просмотреть материал: Битрикс: остатки по складам

Опубликован: 20.04.2013 г.

См. также:

«Не удалось установить соединение с сервером. Проверьте …».
Получение Email-адреса покупателя в заказе (Bitrix D7)
Работа с URL-адресами в Bitrix D7
Работа с купонами в Bitrix API
Добавляем пункт меню для списков в админке Битрикс
Диалоговые окна в Bitrix API
Создание инфоблока при установке модуля
Создание копии корзины из заказа на Bitrix D7

Комментарии

  1. Боря пишет:

    Добрый день! Не подскажите как сделать чтоб некие еденици товаров добавлялось на сайте в несколько груп,например у Вас в списку груп есть ДВД-плеер, домашний кинотеатр и т.д. от например нужно чтоб некий плеер попадал в групу ДВД- плеер, и в домашний кинотеатр как это можно сделать?
    Заранее спасибо!

    1. htmaker пишет:

      Добрый вечер. Сталкиваться с такой задачей не приходилось. Во всяком случае, у каждого товара есть XML_ID, на это стоит обратить внимание. Попробуйте продублировать один товар по нескольким секциям инфоблока, так чтобы XML_ID у них был одинаковый.
      Если не прокатит можно пробовать в файле init.php задать обработчик события (OnBeforeIBlockElementAdd, OnBeforeIBlockElementUpdate), которые собственно и выполнит нужные манипуляции при выгрузке.

      1. Боря пишет:

        Спасибо за ответ буду ескать.

  2. isy пишет:

    Для новичков

    Увидеть Внешний код, можно нажав на сам инфоблок,
    либо в разделе: /bitrix/admin/iblock_admin.php?type=catalog&lang=ru&admin=Y
    либо в разделе /bitrix/admin/iblock_admin.php?type=1c_catalog&lang=ru&admin=Y

    Изначально я начал его искать по аналогии с товаром, через "Настройки списка".

  3. Андреи пишет:

    Не помогает.

    Убираю галочку с "учет типов товаров" основнои каталог не дублирует, но и в сам каталог номенклатура не прописывается

Добавить комментарий

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

Комментарии
  • Загрузка...
Друзья сайта