jonny008 Posted January 18, 2016 Report Share Posted January 18, 2016 Добрый день! Подскажите пожалуйста, где ошибка. В Конфигурацию 1С добавил в выгрузку поле <Производитель> : Файл import.xml : <Товар> <Ид>bb6d4ab2-988d-11e5-be92-8c89a5174022</Ид> <Наименование>Iphone 5S 16Gb</Наименование> <Производитель>Apple</Производитель> <БазоваяЕдиница Код="796 " НаименованиеПолное="Штука" МеждународноеСокращение="PCE">шт</БазоваяЕдиница> В 1c_exchange.php в местах где товар добавляется и обновляется добавил вот такой код: // Обновляем бренд if(isset($xml_product->Производитель)) { foreach($xml_product->Производитель as $brand) { // Найдем его по имени $simpla->db->query('SELECT id FROM __brands WHERE name=?', $brand_name); if(!$brand_id = $simpla->db->result('id')) // Создадим, если не найден $brand_id = $simpla->brands->add_brand(array('name'=>$brand_name, 'meta_title'=>$brand_name, 'meta_keywords'=>$brand_name, 'meta_description'=>$brand_name, 'url'=>translit($brand_name))); if(!empty($brand_id)) $simpla->products->update_product($product_id, array('brand_id'=>$brand_id)); } } Quote Link to post Share on other sites
Kors Posted January 18, 2016 Report Share Posted January 18, 2016 Видимо, здесь:foreach($xml_product->Производитель as $brand) А вообще поле производителя при обмене с 1С стандартно выгружается и обрабатывается (в списке свойств)... Quote Link to post Share on other sites
jonny008 Posted January 18, 2016 Author Report Share Posted January 18, 2016 Видимо, здесь:foreach($xml_product->Производитель as $brand) А вообще поле производителя при обмене с 1С стандартно выгружается и обрабатывается (в списке свойств)...Не совсем стандартная 1С. Не подскажешь как исправить? Quote Link to post Share on other sites
jonny008 Posted January 18, 2016 Author Report Share Posted January 18, 2016 Видимо, здесь:foreach($xml_product->Производитель as $brand) А вообще поле производителя при обмене с 1С стандартно выгружается и обрабатывается (в списке свойств)...Переделал на вот это: // Обновляем бренд if(isset($xml_product->Производитель)) { $brand_name = strval($xml_product->Производитель); // Найдем его по имени $simpla->db->query('SELECT id FROM __brands WHERE name=?', $brand_name); if(!$brand_id = $simpla->db->result('id')) // Создадим, если не найден $brand_id = $simpla->brands->add_brand(array('name'=>$brand_name, 'meta_title'=>$brand_name, 'meta_keywords'=>$brand_name, 'meta_description'=>$brand_name, 'url'=>translit($brand_name))); if(!empty($brand_id)) $simpla->products->update_product($product_id, array('brand_id'=>$brand_id)); } Quote Link to post Share on other sites
jonny008 Posted January 18, 2016 Author Report Share Posted January 18, 2016 Всё равно не хочет работать. Quote Link to post Share on other sites
jonny008 Posted January 18, 2016 Author Report Share Posted January 18, 2016 Тема закрыта. Заработал этот вариант: (добавлять в 2х местах) // Обновляем бренд if(isset($xml_product->Производитель)) { $brand_name = strval($xml_product->Производитель); // Найдем его по имени $simpla->db->query('SELECT id FROM __brands WHERE name=?', $brand_name); if(!$brand_id = $simpla->db->result('id')) // Создадим, если не найден $brand_id = $simpla->brands->add_brand(array('name'=>$brand_name, 'meta_title'=>$brand_name, 'meta_keywords'=>$brand_name, 'meta_description'=>$brand_name, 'url'=>translit($brand_name))); if(!empty($brand_id)) $simpla->products->update_product($product_id, array('brand_id'=>$brand_id)); } Quote Link to post Share on other sites
Kors Posted January 18, 2016 Report Share Posted January 18, 2016 Как-то у Вас специфично.С какой стати добавлять в 2х местах?Одного места вполне должно хватить... Quote Link to post Share on other sites
sam4ik Posted March 23, 2016 Report Share Posted March 23, 2016 Все решается намного проще. Нужно в 1с, в номенклатуру добавить свойство "производитель" и при выгрузке это свойство будет обрабатываться симплой как производитель Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.