Доброго времени суток гуру Битрикса Столкнулся со следующей проблемой, необходимо выгрузить из 1с штрих код в системное поле Битрикса по умолчанию штрих код выгружается в свойство CML2_BAR_CODE, а мне нужно выгрузить значения в системное поле во вкладке Штрих код в карточке товара. может кто то сталкивался с такой проблемой ?
Когда возникают проблемы с определением правильного формата выгрузки каталога, я делаю экспорт инфоблока в XML-файл (http://site.com/bitrix/admin/iblock_xml_export.php) и смотрю правильный формат выгрузки нужного свойства или поля товара.
Антон Пилецкий написал: Когда возникают проблемы с определением правильного формата выгрузки каталога, я делаю экспорт инфоблока в XML-файл ( http://site.com/bitrix/admin/iblock_xml_export.php ) и смотрю правильный формат выгрузки нужного свойства или поля товара.
Эммм, сам штрих код у меня выгружается нормально но в свойство CML2_BAR_CODE. Мне же необходимо цеплять этот штрих код в системное поле которое на скриншоте. собственно задача именно в этом. Если имеется в виду что можно выгрузить инфоблок в xml и посмотреть как же называется это системное поле, то не получается это поле не выгружается в xml файл.
Нет к сожалению техподдержка и форум не помогли, временно решил вопрос только забив штрихкод вручную в системное поле, еще вернусь к этому вопросу. Но пока ничего не приходит в голову.
Добрый день всем! Мужики нужно подсказка... В 1С не можем выгрузить штрих коды! Все товары заполнены и штрих код хранится в родном поле - http://joxi.ru/823OEvMtzW0E2O , что необходимо сделать что бы при штатной выгрузке 1С его получала...?
Нужен проект или доработка? Пиши в личку, я всегда на связи! Скайп - sangro0307
Александр Гарагуля написал: Добрый день всем! Мужики нужно подсказка... В 1С не можем выгрузить штрих коды! Все товары заполнены и штрих код хранится в родном поле - http://joxi.ru/823OEvMtzW0E2O , что необходимо сделать что бы при штатной выгрузке 1С его получала...?
Я совсем не уверен(99%), что штатно можно выгрузить из БУС эту информацию.
ТП - битрикса ответила мне)) - http://joxi.ru/Q2KnG13iODbemj , в 1С не выгружается штрихкод.... Сейчас будем писать что бы в ствойство товара переносилось оно а на стороне 1С уже забирать в системного поле 1С ... ВСЕМ СПАСИБО!
Нужен проект или доработка? Пиши в личку, я всегда на связи! Скайп - sangro0307
ОДНО ИЗ РЕШЕНИЙ, С УСЛОВИЕ ЕСЛИ НА СТОРОНЕ 1С программист согласится допилить логику
Сначала перенесем все штрих кода из системного поля в свойство товара. запускаем в PHP строке, перед етим создаем свойство у инфоблока с символьным кодом "BARCODE"
Код
// у меня 3 тыс товаров по этому запускаем скрипт на весь инфоблок...
if(CModule::IncludeModule("iblock") && CModule::IncludeModule("catalog")){
$IBLOCK_ID = 37;
//получаем все товары у которых есть штрих код
$dbBarCode = CCatalogStoreBarCode::getList(array(), array("IBLOCK_ID" => $IBLOCK_ID), false, false, $arSelect);
while($arBarCode = $dbBarCode->GetNext())
{
//в инфоблоке создал свойство "BARCODE", сейчас его будет заполнять
if($arBarCode['BARCODE']){
//значение из системного поля штрих-код мы записываем в ствойство товара BARCODE
CIBlockElement::SetPropertyValuesEx( $arBarCode['PRODUCT_ID'], $IBLOCK_ID, array('BARCODE' => $arBarCode['BARCODE']));
}
}
}
Дальше, что бы все это работало в автомате, пишем обработку событий на добавление, изменение и удаление штрих кода у элемента (все это запихиваем в init.php)
Код
//регистрация событий: добвление, изменения, удаление штрих кода...
AddEventHandler("catalog", "OnCatalogStoreBarCodeAdd", Array("ProProCenter", "jobBarCode"));
AddEventHandler("catalog", "OnCatalogStoreBarCodeUpdate", Array("ProProCenter", "jobBarCode"));
AddEventHandler("catalog", "OnBeforeCatalogStoreBarCodeDelete", Array("ProProCenter", "DeleteBarCode"));
class ProProCenter
{
//работа с штрих кодом, при изменении или добавлении штрих кода дублируем его в свойство BARCODE
function jobBarCode($lastId, $arFields)
{
$iblock_id = 37;//ID инфоблока
if(CModule::IncludeModule("iblock") && CModule::IncludeModule("catalog"))
CIBlockElement::SetPropertyValuesEx($arFields['PRODUCT_ID'], $iblock_id, array('BARCODE' => $arFields['BARCODE']));
}
//удаление штрих-кода
function DeleteBarCode($id)
{
$iblock_id = 37;//ID инфоблока
if(CModule::IncludeModule("iblock") && CModule::IncludeModule("catalog")){
//по ID получаем информацию о штрих коде, до его удаления, что бы удалить штрих код в нашем свойстве
$dbBarCode = CCatalogStoreBarCode::getList(array(), array("ID" => $id), false, false, $arSelect);
if($arBarCode = $dbBarCode->GetNext())
{
//Удаляем запись у элемента
CIBlockElement::SetPropertyValuesEx($arBarCode['PRODUCT_ID'], $iblock_id, array('BARCODE' => ''));
}
}
}
}
Нужен проект или доработка? Пиши в личку, я всегда на связи! Скайп - sangro0307