Как исправить ошибки при создании разделов при импорте из 1С в 1С-Битрикс

Внимание! Работает режим премодерации. Все сообщения публикуются после проверки!
Страницы: 1
Ответить
RSS
Как исправить ошибки при создании разделов при импорте из 1С в 1С-Битрикс
Решение проблемы с созданием разделов при импорте из 1С в Битрикс

Если разделы не создаются при импорте товаров из 1С в CMS Битрикс, это  может быть связано с различными причинами. Ниже приведены возможные  решения этой проблемы:
Изменено: Валерий Макеев - 29.09.2025 14:29:26

Этот код читает XML-файл,  обрабатывает разделы (Группы) и создает или обновляет разделы в  указанном инфоблоке Битрикс, используя внешний код (XML_ID) для связи с  данными из 1С.

Важно:  Это упрощенный пример. В реальном проекте нужно учитывать больше  деталей, таких как обработка ошибок, полей (например, сортировка,  картинки и т.д.), а также то, что структура XML может отличаться.

Также  обратите внимание, что в примере предполагается, что родительский  раздел может быть указан внутри элемента Группа в теге Родитель->Ид. В  вашем XML структура может быть другой.

Код
<?php
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');

$xmlData = <<<XML
<Группы>
    <Группа>
        <Ид>123456</Ид>
        <Наименование>Электроника</Наименование>
    </Группа>
    <Группа>
        <Ид>789012</Ид>
        <Наименование>Телефоны</Наименование>
        <Родитель>123456</Родитель>
    </Группа>
</Группы>
XML;

$iblockId = 5; // ID инфоблока
$xml = new SimpleXMLElement($xmlData);

foreach ($xml->Группа as $group) {
    $section = new CIBlockSection;
    $fields = [
        "ACTIVE" => "Y",
        "IBLOCK_ID" => $iblockId,
        "NAME" => (string)$group->Наименование,
        "CODE" => (string)$group->Ид,
        "XML_ID" => (string)$group->Ид
    ];
    
    if (!empty($group->Родитель)) {
        $parentSection = CIBlockSection::GetList([], ["XML_ID" => (string)$group->Родитель])->Fetch();
        if ($parentSection) {
            $fields["IBLOCK_SECTION_ID"] = $parentSection["ID"];
        }
    }

    $result = $section->Add($fields);
    if (!$result) {
        echo "Error: ".$section->LAST_ERROR;
    }
}
Страницы: 1
Ответить
Форма ответов
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
 

Стоимость услуг по разработке и сопровождению сайтов на 1C-Битрикс

Перенос сайтов на «1С-Битрикс»

сайты на платформе «1С-Битрикс» — это удобство, надежность и высокая посещаемость

от 12 000 рублей
Перенос сайтов с любых CMS и статичных страниц на платформу «1С-Битрикс», с учетом дизайна, верстки и урл-адресов. С сохранением всей информации и структуры сайта.

* зависит от объема выполняемых работ.

Аутсорсинг

готов помочь, если нет времени

договорная

Могу взять на себя работы по full-stack

* на основе готовой верстки

Разработка корпоративного сайта

от 7 дней

от 40 000 рублей

Разработка сайта без системы оплаты заказов через корзину

* стоимость зависит от наличия верстки, использования готового решения и т.д.