Привет. Поговорим о том, как настроить выгрузку номенклатуры товаров из 1C в указанный нами инфоблок. Статья предположительно для тех, кто сталкивался с такой задачей.
Допустим, у нас есть 1C в наличии с модулем обмена с сайтом, а так же непосредственно сам сайт, выполняющий роль интернет магазина под управлением CMF Bitrix.
Так как выгрузка происходит по инициативе 1С, пожалуй, начнем с неё. Каждый выгружаемый раздел, элемент, свойство и т.д. имеет свой GUID. Это некий уникальный код, который является по своей сути статическим идентификатором, можно сказать ключом, который по умолчанию генерируется 1С-кой автоматически. При выгрузке этот ключ служит для сопоставления структуры передаваемых данных, к уже имеющиеся данным на сайте, или где либо ещё. Особенность этих ключей в том, что они позволяют масштабировать проекты различного рода, а так же придают гибкость в использовании данных.
В настройках выгрузки у нас есть возможность задать GUID в ручную, и прописать в нужном инфоблоке на сайте, после чего данные выгружаемые из 1C будут записываться именно в указанный инфоблок.
Посмотрим на скриншоты сделанные мной:
По умолчанию в списке 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
Успехов в деле.
Так же рекомендую просмотреть материал: Битрикс: остатки по складам
Добрый день! Не подскажите как сделать чтоб некие еденици товаров добавлялось на сайте в несколько груп,например у Вас в списку груп есть ДВД-плеер, домашний кинотеатр и т.д. от например нужно чтоб некий плеер попадал в групу ДВД- плеер, и в домашний кинотеатр как это можно сделать?
Заранее спасибо!
Добрый вечер. Сталкиваться с такой задачей не приходилось. Во всяком случае, у каждого товара есть XML_ID, на это стоит обратить внимание. Попробуйте продублировать один товар по нескольким секциям инфоблока, так чтобы XML_ID у них был одинаковый.
Если не прокатит можно пробовать в файле init.php задать обработчик события (OnBeforeIBlockElementAdd, OnBeforeIBlockElementUpdate), которые собственно и выполнит нужные манипуляции при выгрузке.
Спасибо за ответ буду ескать.
Для новичков
Увидеть Внешний код, можно нажав на сам инфоблок,
либо в разделе: /bitrix/admin/iblock_admin.php?type=catalog&lang=ru&admin=Y
либо в разделе /bitrix/admin/iblock_admin.php?type=1c_catalog&lang=ru&admin=Y
Изначально я начал его искать по аналогии с товаром, через "Настройки списка".
Не помогает.
Убираю галочку с "учет типов товаров" основнои каталог не дублирует, но и в сам каталог номенклатура не прописывается