Заполнение габаритов товара, после обмена с 1С, из свойств элемента инфоблока.
Если Ваш интернет-магазин интегрирован с 1С, скорее всего столкнулись с такой проблемой: 1С не умеет выгружать параметры товара: Вес, Ширина, Высота, Глубина.
Но эти параметры нужны для служб доставки, таких как Почта России, DHL и прочих. И желательно, что бы они были именно в параметрах товара модуля торгового каталога.
Заполнить их достаточно просто, для этого понадобиться создать дополнительные реквизиты в 1С с этими параметрами и воспользоваться методом API CCatalogProduct::Update
Заполняем параметры из свойств
Итак: мы создали доп реквизиты Вес, Ширина, Высота, Глубина в 1С, заполнили их и обменялись с сайтом. Теперь на сайте есть свойства ATT_WEIGHT, ATT_WIDTH, ATT_HEIGHT, ATT_LENGTH
Пишем простенький скрипт, который просто получит все элементы из инфоблока с каталогом (в примере, его с отбором данных свойств.
Если запустить этот скрипт, просто получим вывод всех товаров каталога с указанием ID элемента и наших свойств.
Зная эти свойства, просто загоняем их значения в стандартные поля торгового каталога, методом CCatalogProduct::Update
В примере, вывод с небольшой свисто-перделкой- он выводит уведомление об установке параметров. Можно этого не делать, просто вывести echo ‘Параметры успешно установлены’;
Данный скрипт, подразумевает, что Вы будете запускать его в ручную, по необходимости. Это оптимально, если в каталоге не высокая текучка товаров и параметры товаров не меняются постоянно.
Дополнение: Если 1С выгружает габариты в множественное свойство «Реквизиты»
Если ваша 1С выгружает габариты товаров в множественное свойство «Реквизиты» (пример на скрине):
Можно также получить данные цифры методом CIBlockElement::GetProperty а дальше заполнить штатные поля товара способом выше
Пример кода (в данном случае, нужно было еще и перевести сантиметры в миллиметры):
Небольшое пояснение к происходяему в скрипте:
Еще заметки:
Добрый день, тут в последнем пример кода есть опечатка,
Полный пример кода который при изменениях в товаре или выгрузке 1С будет записывать габариты
Сайт по продаже шин, поэтому есть только объем, а для расчета отправки по почте нужны габариты
Цитата |
---|
Борис Черепанов пишет: Добрый день Написал обработку для того что-бы из реквизитов товара брать вес и габариты торгового предложения. Если интересно [URL= https://xakplant.ru/2019/04/19/выгрузка-веса-высоты-ширины-длинны-из/]вот ссылка[/URL] |
На нем, уже много видеоуроков по 1С-Битрикс. Как одиночные видео так и серии видеоуроков Перейти на канал
Совсем скоро выйдет видеокурс по разработке доски объявлений с мобильным приложением. Подписывайтесь и будьте в курсе:
© 2011—2021 Разработка сайтов: ИП Базаров, ОГРНИП: 315784700173692.
Работает на 1С-Битрикс: Бизнес.
Источник
Синхронизация веса и габаритов обычных товаров и товаров с торговыми предложеними
Уже много раз делал интернет-магазины с синхронизацией с 1С, но как-то не приходилось выгружать вес и габариты товара. И вот сейчас настал этот случай, но внятной информации я так и не нашел.
Платформа 8.3, редакция «Управление торговлей» 10.3.29.1, модуль обмена 4.0.2.1.
Часть товаров имеют торговые предложения, часть нет.
3. И аналогичные вопросы касательно длины, ширины и высоты?
В карточке товара. У торговых предложений вродь вес не ставится
Цитата |
---|
Артем Шипулин пишет: 3. И аналогичные вопросы касательно длины, ширины и высоты? |
Александр, подскажите
В тему с весом, так же интересует соответствие полей в «Форме настройки соответствий номенклатуры».
Использование веса упаковок для выгрузки на сайт больше не предполагается?
Добрый день. Вес можно указать тут, тогда 1С битрикс его подхватывает.
Что делать с длинной, высотой и шириной пока не разобрался.
Цитата |
---|
Дмитрий Симаков написал: В УТ 10.3 вообще отсутствуют Длина, Ширина, Высота. По крайней мере 10.3.29* точно нет. |
Путь следующий:
1. в 1С в справочник Единицы измерения добавляем реквизиты Длина, Ширина, Высота.
2. в 1С в справочник Единицы измерения добавляем возможность указания Характеристики (так в 1С называются Торговые предложения)
3. в обмен данными между 1С и Битрикс вносим изменения для заполнения полей Длина, Ширина, Высота на стороне Битрикс.
Выгрузка (последняя) формирует 2 файла: import.xml и offers.xml. В файле offers можно указать параметры Длины, Ширины, Высоты для торгового предложения.
Самое сложно тут, это понимание структуры «МояФабрикаXDTO». Также пригодится скрипт отладки импорта/экспорта в Битрикс для понимания названия реквизитов XML. http://dev.1c-bitrix.ru/upload/examples/bx_1c_import_last.zip
Т.е. без программиста 1С в этой задаче делать нечего
1. Почему именно туда, если такой сложный путь с перепрограммированием файла выгрузки, не проще ли задать как характеристику и при выгрузке указывать что это длина, ширина, высота, как хочет битрикс?
2. Как добавить эту возможность? Это разве есть в стандартной конфигурации?
3. В обмен вносить изменения, мне кажется это вообще не айс. Потом не обновишься ничего.
А скрипт что вы прислали, устанавливается на стороне битрикс? И нужен чтобы определить как называется внутреннее поле вес, ширина, длина, высота?
Вы эту задачу выполните то что сами написали? (работает корректно?)
Мне кажется проще через Характеристики, вопрос в том что как указать на стороне битрикс чтобы информация например ширины попало именно в нужное поле битрикса, а не просто как характеристика?!
Источник