Добрый день!
У меня настроен обмен с 1С. Если я задаю товару оптовые цены, например при количестве 2+ делать скидку в процентах, то при очередном обмене эти оптовые цены удаляются. Можно ли каким-то образом загружать из 1С оптовые цены или формировать их на стороне CS Cart при обмене каждый раз?
Добрый день. У меня была та же проблема, но используется интеграция не с 1С, а с MoySklad по тому же CML.
А что еще более важно, раньше при обмене по CML, оптовые скидки не трогались.
Я эту задачу поборол с помощью техподдержки. Теперь у меня не обноляются оптовые скидки, настроенные на стороне CS-Cart при обмене через CML.
Привожу решение:
Для того, что бы сохранялись существующие оптовые скидки, можно внести следующие изменения в файл app/addons/rus_exim_1c/Tygh/Commerceml/RusEximCommerceml.php
Был заменён код:
}
fn_update_product_prices($product_id, $fake_product_data);
if (fn_ult_is_shared_product($product_id) == 'Y') {
fn_update_product_prices($product_id, $fake_product_data, $this->company_id);
}
На следующий код:
}
//ioryol
$stored_qty_discounts = db_get_array("SELECT * FROM ?:product_prices WHERE product_id = ?i AND lower_limit > ?i", $product_id, 1);
$array_counter = 1;
if (!empty($stored_qty_discounts) && is_array($stored_qty_discounts)) {
foreach ($stored_qty_discounts as $stored_qty_discount) {
$fake_product_data['prices'][$array_counter] = $stored_qty_discount;
$array_counter++;
}
}
fn_update_product_prices($product_id, $fake_product_data);
if (fn_ult_is_shared_product($product_id) == 'Y') {
//ioryol
$ult_stored_qty_discounts = db_get_array("SELECT * FROM ?:ult_product_prices WHERE product_id = ?i AND lower_limit > ?i AND company_id = ?i", $product_id, 1, $this->company_id);
$array_counter = 1;
if (!empty($ult_stored_qty_discounts) && is_array($ult_stored_qty_discounts)) {
foreach ($ult_stored_qty_discounts as $ult_stored_qty_discount) {
$fake_product_data[‘prices’][$array_counter] = $ult_stored_qty_discount;
$array_counter++;
}
}
fn_update_product_prices($product_id, $fake_product_data, $this->company_id);
}
Будьте аккуратны. И применяйте на свой страх и риск.
У меня работало в 4.7.1, работает в 4.7.2. Но при обновлении не забудьте отключать синхронизацию и вручную переносить изменения в файл RusEximCommerceml.php, если он был переписан при обновлении. Ну и бэкапы!!!!