Пример #1
1
function catalog_offer_mutator_1c(&$arLoadOffer, &$xOfferNode)
{
    global $arProperties;
    $sQuantity = $arLoadOffer['QUANTITY'];
    $newQuanity = 0;
    $priceTypeId = '';
    if ($obPrice = $xOfferNode->SelectNodes('/Цены/Цена/ИдТипаЦены')) {
        $priceTypeId = $obPrice->textContent();
        if ($priceTypeId != '') {
            $Store = new CCatalogStore();
            $storeProd = new CCatalogStoreProduct();
            $rsStore = $Store->GetList(array(), array('XML_ID' => $priceTypeId), false, false, array('*'));
            if ($arStore = $rsStore->Fetch()) {
                $storeId = $arStore['ID'];
            } else {
                $arFields = array("TITLE" => 'Store_' . $priceTypeId, "ACTIVE" => 'Y', "ADDRESS" => '-', "XML_ID" => $priceTypeId);
                $storeId = CCatalogStore::Add($arFields);
            }
            $storeProd->Add(array("PRODUCT_ID" => $arLoadOffer['ID'], "STORE_ID" => $storeId, "AMOUNT" => $sQuantity));
            $rsStoreProd = $storeProd->GetList(array(), array('PRODUCT_ID' => $arLoadOffer['ID']), false, false, array('AMOUNT'));
            while ($arStore = $rsStoreProd->Fetch()) {
                $newQuanity = $newQuanity + $arStore['AMOUNT'];
            }
            if ($newQuanity > 0) {
                $arLoadOffer['QUANTITY'] = $newQuanity;
            }
        }
    }
    return $arLoadOffer;
}
Пример #2
0
 public static function UpdateFromForm($arFields)
 {
     $rsProps = CCatalogStoreProduct::GetList(array(), array("PRODUCT_ID" => $arFields['PRODUCT_ID'], "STORE_ID" => $arFields['STORE_ID']), false, false, array('ID'));
     if ($arID = $rsProps->GetNext()) {
         return self::Update($arID["ID"], $arFields);
     } else {
         return CCatalogStoreProduct::Add($arFields);
     }
 }
Пример #3
0
 public static function addToBalanceOfStore($storeId, $productId, $amount)
 {
     $rsProps = CCatalogStoreProduct::GetList(array(), array("PRODUCT_ID" => $productId, "STORE_ID" => $storeId), false, false, array('ID', 'AMOUNT'));
     if ($arID = $rsProps->Fetch()) {
         $amount = $arID["AMOUNT"] + $amount;
         return self::Update($arID["ID"], array("AMOUNT" => $amount, "PRODUCT_ID" => $productId, "STORE_ID" => $storeId));
     } else {
         return CCatalogStoreProduct::Add(array("PRODUCT_ID" => $productId, "STORE_ID" => $storeId, "AMOUNT" => $amount));
     }
 }