- Заполнение габаритов товара, после обмена с 1С, из свойств элемента инфоблока.
- Заполняем параметры из свойств
- Дополнение: Если 1С выгружает габариты в множественное свойство «Реквизиты»
- Еще заметки:
- Выгрузка веса, высоты, ширины, длинны из реквизитов товара в торговые предложения. Битрикс
- Получение данных из реквизитов
- Получение торговых предложений
- Запись новых данных в торговое предложение
- Событие выгрузки из 1С
- Поддержи Xakplant
- Синхронизация веса и габаритов обычных товаров и товаров с торговыми предложеними
- Синхронизация веса и габаритов обычных товаров и товаров с торговыми предложеними
Заполнение габаритов товара, после обмена с 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С это до сих пор «не завезли» и каждый пилит свои костыли.
Сегодня (19.04.2019) я сам столкнулся с тем, что мне не могли выгрузить вес, высоту, ширину, длину товара в параметры торгового каталога у торговых предложений и загружали их в реквизиты товара. Чтобы было понятно, что такое реквизиты вот вам скриншот
реквизиты товара из 1С в 1С-Битрикс
И вот из этого места мне нужно положить в это
И всё это мне нужно, чтобы доставка у торговых предложений считалась корректно.
Я помыкался по форумам, вроде там кто-то что-то сделал, однако код не выложил. То что я нашёл на других сайтах мне не помогло. И без лишний лирики я покажу вам как решил данную задачу.
Получение данных из реквизитов
Это не очень простая задача. Сначала у меня не выходило получить все данные, которые мне были нужны, но я не понимал из-за чего. Но потом на одном из форумов я увидел, что у человека уже была проблема похожая на мою и решение оказалось следующим:
Нужно поменять место хранение товаров и торговых предложений на «отдельная таблица» в настройках инфоблоков «Значения свойств хранятся:»
Получение торговых предложений
Подключим ещё модуль каталога Cmodule::IncludeModule(‘catalog’) и получим id торговых предложений у товара.
Запись новых данных в торговое предложение
Событие выгрузки из 1С
Т.к. перезапись нужна каждый раз, когда выгружается товар из 1С нам нужно поставить обработчик события. Для этого мы идём в наши файлы по адресу \bitrix\php_interface и находим там файлы init.php и пишем:
Надеюсь, что данная статья будет вам полезной и вы быстро решите вашу задачу. Возможно вам нужно будет записать другие данные из реквизитов в торговый каталог, тогда вам понадобиться список доступных параметров для изменения. Их вы можете найти тут. А если же вы не хотите самостоятельно заниматься разработкой то можете написать мне в вк или телеграм, ссылки в подвале сайт.
Поддержи Xakplant
Я давно хочу развить видеоверсию, но пока этого не получается из-за нехватки ресурсов. Сейчас я собираю деньги на новый компьютер и микрофон. Поддержи xaklant и ты увидишь полезные видео быстрее.
Источник
Синхронизация веса и габаритов обычных товаров и товаров с торговыми предложеними
Уже много раз делал интернет-магазины с синхронизацией с 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. В обмен вносить изменения, мне кажется это вообще не айс. Потом не обновишься ничего.
А скрипт что вы прислали, устанавливается на стороне битрикс? И нужен чтобы определить как называется внутреннее поле вес, ширина, длина, высота?
Вы эту задачу выполните то что сами написали? (работает корректно?)
Мне кажется проще через Характеристики, вопрос в том что как указать на стороне битрикс чтобы информация например ширины попало именно в нужное поле битрикса, а не просто как характеристика?!
Источник
Синхронизация веса и габаритов обычных товаров и товаров с торговыми предложеними
Уже много раз делал интернет-магазины с синхронизацией с 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. В обмен вносить изменения, мне кажется это вообще не айс. Потом не обновишься ничего.
А скрипт что вы прислали, устанавливается на стороне битрикс? И нужен чтобы определить как называется внутреннее поле вес, ширина, длина, высота?
Вы эту задачу выполните то что сами написали? (работает корректно?)
Мне кажется проще через Характеристики, вопрос в том что как указать на стороне битрикс чтобы информация например ширины попало именно в нужное поле битрикса, а не просто как характеристика?!
Источник