rabamaster
@rabamaster

Как правильно передать Коэффициент единицы измерения товара из 1С в Битрикс?

Есть товар электроды, единица измерения тонны, количество на складе 0,02т. В пачке 0,005т. "Коэффициент единицы измерения" - ставится равным 1. Масса вопросов по этой теме.
это "Коэффициент единицы измерения" в выгрузке?
<БазоваяЕдиница Код="168 " НаименованиеПолное="Тонна">
    <Пересчет>
        <Единица>168</Единица>
        <Коэффициент>1</Коэффициент>
    </Пересчет>
</БазоваяЕдиница>

Но, если я руками пишу <Коэффициент>0.005Коэффициент>, у товара "Коэффициент единицы измерения" остается равным 1
Если руками в админке меняю "Коэффициент единицы измерения" - все работает как надо, и склад и корзина отрабатывает правильно.
1. Вопросы, как должен выглядеть этот коэффициент в выгрузке?
2. Для 1С-ника нашел такой мануал, https://enote.cloud/inf/encyclopedia/kak-vesti-uch... он подходит для него?

Спасибо за помощь!

в отчаянии пробовал уже такой код (id для тонн - 7), они и он не срабатывает
Код
AddEventHandler("iblock", "OnAfterIBlockElementUpdate", "OnAfterIBlockElementUpdateHandler");
function OnAfterIBlockElementUpdateHandler(&$arFields) {
    \Bitrix\Main\Loader::includeModule('catalog');
    // проверяем единицы измерения, если == тонны (ID=>7), то изменяем коэфициент с 1 на 0.005
    if (CModule::IncludeModule("sale") && CModule::IncludeModule("iblock")) {
        $db_propss = CIBlockElement::GetProperty($arFields["IBLOCK_ID"], $arFields["ID"], array("sort" => "asc"), Array("CODE" => "CML2_BASE_UNIT"));
        if ($ar_propss = $db_propss->Fetch()) {
            $EDINICA_IZMERENIA = intval($ar_propss["DESCRIPTION"]);
        }
        if ($EDINICA_IZMERENIA == 7) {
            $r = CCatalogMeasureRatio::getList($arOrder = array(), $arFilter = array("PRODUCT_ID" => $arFields["ID"]), $arGroupBy = false, $arNavStartParams = false, $arSelectFields = array());
            if ($ar_r = $r->GetNext()) {
                if ($ar_r[RATIO] != '0.005') {
                    $db_res = CCatalogMeasureRatio::update($ar_r["ID"], array("RATIO" => 0.005));
                }
            }
        }
    }
}
  • Вопрос задан
  • 1369 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы