Добрый день.
Впервые сталкиваюсь с интеграцией с 1С и сразу нестандартная ситуация. Есть магазин реальный, им нужен магазин виртуальный. Хотят, чтобы выгрузка происходила из 1С на сайт автоматически.
Структура каталога разная абсолютно.
В них в справочнике "Номенклатура" бардак - в целом понятная структура, но она абсолютно разная для разных категорий и.т.п.
На сайте будет четкая структура - 2 меню: левое - по брендам, верхнее - выпадающее по категориям.
Т.е. слева нажимаю "Philips" - выпадает список товаров этого бренда (телевизоры, аудио и.т.п. - все подряд).
Но если я вверхнем меню выберу скажем "АУДИО-ВИДЕОТЕХНИКА -- Телевизоры -- ЖК-телевизоры" - то выпадают жк-телевизоры всех абсолютно брендов.
Как я говорил выше структура 1С не позволяет это сделать - она другая совершенно. Кол-во товаров очень большое (будут добавляться новые товары время от времени и.т.п.).
Почитал тут 2 предложения.
1. Ручная привязка в нужным разделам после выгрузки - это сильно нудно и сложно я думаю для клиентов, они хотят автоматизации.
2. По поводу объекта Прайс-Лист в 1С и использование его как прокси - можно ли прочитать где-то поподробнее про это. 1С-ник, котороый обслуживает базу про это тоже не в курсе.
Пока пришли к варианту такому - загнать 2 свойства у всех товаров в 1С. Свойство "Бренд" и свойство "Тип товара". Присвоив группе товаров значения - это достаточно быстро можно эти свойства присвоить.
Далее при загрузке товаров необходимо делать разбивку.
Если ткаой вариант - то, как лучше сделать эту разбивку. В какой момент времени. Влезть в код, где идет уже обработка всех принятых файлов (в процессе обмена) и там в месте, где идет уже добавление в базу данных ставить буквально несколько строчек , чтобы привязывать уже новый добавлянный элемент к разделу (бренд, тип товара) ? Если влазить в код обмена, как лучше сделать, чтобы там ниче не упало. В том числе после обновления битрикса.
Ну в целом вот такая проблема. Надеюсь на помощь, быть может какие-то преложения есть.
Пока теория) реализовавыть буду на следующей недели пытаться
Если написать обработчик события OnBeforeIBlockElementAdd , то в нем по идеи можно ведь просто подменить попытаться id секции в которую добавляется элемент ведь?
И еще вопрос. Если так сделать - то получиться, что элемент попадет в нужный раздел каталога. Если затем будет реализовываться экспорт заказов по товарам - он там смотрит на структуру? или там без разницы и он по id-ам товаров сольет инфу о заказах на них?
Хотя нет) лучше конечно же это делать в OnAfterIBlockElementAdd видимо. и применять функцию CIBlockElement::SetElementSection , чтобы указать что элемент относиться еще и к нужным секциями. тогда проблем быть не должно по идеи.
Впервые сталкиваюсь с интеграцией с 1С и сразу нестандартная ситуация. Есть магазин реальный, им нужен магазин виртуальный. Хотят, чтобы выгрузка происходила из 1С на сайт автоматически.
Структура каталога разная абсолютно.
В них в справочнике "Номенклатура" бардак - в целом понятная структура, но она абсолютно разная для разных категорий и.т.п.
На сайте будет четкая структура - 2 меню: левое - по брендам, верхнее - выпадающее по категориям.
Т.е. слева нажимаю "Philips" - выпадает список товаров этого бренда (телевизоры, аудио и.т.п. - все подряд).
Но если я вверхнем меню выберу скажем "АУДИО-ВИДЕОТЕХНИКА -- Телевизоры -- ЖК-телевизоры" - то выпадают жк-телевизоры всех абсолютно брендов.
Как я говорил выше структура 1С не позволяет это сделать - она другая совершенно. Кол-во товаров очень большое (будут добавляться новые товары время от времени и.т.п.).
Почитал тут 2 предложения.
1. Ручная привязка в нужным разделам после выгрузки - это сильно нудно и сложно я думаю для клиентов, они хотят автоматизации.
2. По поводу объекта Прайс-Лист в 1С и использование его как прокси - можно ли прочитать где-то поподробнее про это. 1С-ник, котороый обслуживает базу про это тоже не в курсе.
Пока пришли к варианту такому - загнать 2 свойства у всех товаров в 1С. Свойство "Бренд" и свойство "Тип товара". Присвоив группе товаров значения - это достаточно быстро можно эти свойства присвоить.
Далее при загрузке товаров необходимо делать разбивку.
Если ткаой вариант - то, как лучше сделать эту разбивку. В какой момент времени. Влезть в код, где идет уже обработка всех принятых файлов (в процессе обмена) и там в месте, где идет уже добавление в базу данных ставить буквально несколько строчек , чтобы привязывать уже новый добавлянный элемент к разделу (бренд, тип товара) ? Если влазить в код обмена, как лучше сделать, чтобы там ниче не упало. В том числе после обновления битрикса.
Ну в целом вот такая проблема. Надеюсь на помощь, быть может какие-то преложения есть.
Пока теория) реализовавыть буду на следующей недели пытаться
Если написать обработчик события OnBeforeIBlockElementAdd , то в нем по идеи можно ведь просто подменить попытаться id секции в которую добавляется элемент ведь?
И еще вопрос. Если так сделать - то получиться, что элемент попадет в нужный раздел каталога. Если затем будет реализовываться экспорт заказов по товарам - он там смотрит на структуру? или там без разницы и он по id-ам товаров сольет инфу о заказах на них?
Хотя нет) лучше конечно же это делать в OnAfterIBlockElementAdd видимо. и применять функцию CIBlockElement::SetElementSection , чтобы указать что элемент относиться еще и к нужным секциями. тогда проблем быть не должно по идеи.