Оглавление:
Функции через API битрикс:
- Добавление складов
- Добавление нового статуса заказа
- Добавление нового почтового шаблона
- Базовая цена торгового предложения
- Список складов с количеством данного товара
- Обновление количества товаров на складе
- Инфа об элементах заказа
- Свойства заказа - контакты
- Установлен статус 'Такойто' в заказе № 111
- Уменьшаем количество товара на складе
//Добавление складов
$arFields = Array(
"TITLE" => "Склад №1",
"ACTIVE" => "Y",
"ADDRESS" => "",
"DESCRIPTION" => "1",
);
$ID = CCatalogStore::Add($arFields);
//Добавление нового статуса заказа
$lang_z[0] = array('LID' => "ru", 'NAME' => "Ожидание", 'DESCRIPTION' => "Ожидание обработки дилером.");
$lang_z[1] = array('LID' => "en", 'NAME' => "Waiting", 'DESCRIPTION' => "Waiting for processing.");
$new_status = array(
'ID' => "W",
'SORT' => 50,
'LANG' => $lang_z
);
$ID = CSaleStatus::Add($new_status);
//Добавление нового почтового шаблона
$arr["ACTIVE"] = "Y";
$arr["EVENT_NAME"] = "SALE_NEW_ORDER";
$arr["LID"] = array("s1");
$arr["EMAIL_FROM"] = "#DEFAULT_EMAIL_FROM#";
$arr["EMAIL_TO"] = "#EMAIL_TO#";
$arr["BCC"] = "#BCC#";
$arr["SUBJECT"] = "Ваш заказ обработан";
$arr["BODY_TYPE"] = "html";
$arr["MESSAGE"] = "
Добрый день!<br /><br />
Дилер BMW #STATE# ваш заказ. <br /><br>
#OTHER#
Сообщение сгенерировано автоматически.<br /><br />
#FOR_CUSTOMER#
";
$emess = new CEventMessage;
$emess->Add($arr);
echo "Ошибка ".$emess->LAST_ERROR;
//Базовая цена торгового предложения
$arPrice = GetCatalogProductPriceList($OFFER_ID, "SORT", "ASC");
foreach ($arPrice as $value){
$price = $value['PRICE'];
}
//Список складов с количеством данного товара
$stores = array();
$arFilter = Array("PRODUCT_ID"=>$OFFER_ID);
$res = CCatalogStoreProduct::GetList(Array(),$arFilter,false,false,Array());
while ($arResStore = $res->GetNext()) {
$stores[] = $arResStore;
}
//Обновление количества товаров на складе
$arFilter = Array("PRODUCT_ID" => $OFFER_ID);
$res = CCatalogStoreProduct::GetList(Array(),$arFilter,false,false,Array());
while ($arResStore = $res->GetNext()) {
$amount = $arResStore['AMOUNT'];
echo "<pre>"; print_r($arResStore); echo "</pre>";
}
$amount = 100;
$arFields = Array(
"PRODUCT_ID" => $OFFER_ID,
"STORE_ID" => 1,
"AMOUNT" => $amount,
);
$ID = CCatalogStoreProduct::Update(111, $arFields);
// Инфа об элементах заказа
$arOrderDetail = CSaleBasket::GetList(
array(),
array("ORDER_ID" => $ORDER_ID),
false,
false,
array()
);
while ($arItem = $arOrderDetail->Fetch()) {
// Собираем ID торговых предложений заказанного товара
$PRODUCTS[] = array(
'ID' => $arItem['PRODUCT_ID'],
'QUANTITY' => $arItem['QUANTITY'],
'PRICE' => $arItem['PRICE'],
'CURRENCY' => $arItem['CURRENCY'],
);
}
//Свойства заказа - контакты
$user_contacts = array();
$db_props = CSaleOrderPropsValue::GetList(
array("SORT" => "ASC"),
array(
"ORDER_ID" => $ORDER_ID,
)
);
while ($arProps = $db_props->Fetch())
{
$user_contacts[] = $arProps;
}
$user_name = $user_contacts[0]['VALUE'];
//Установлен статус 'Такойто' в заказе №" .$ORDER_ID
CSaleOrder::StatusOrder($ORDER_ID, "Х"))
//Уменьшаем количество товара на складе
$amount = $amount - $PRODUCTS[0]['QUANTITY'];
$arFields = Array(
"PRODUCT_ID" => $PRODUCTS[0]['ID'],
"STORE_ID" => $DEALER_ID,
"AMOUNT" => $amount,
);
$ID = CCatalogStoreProduct::Update($arResStore['ID'], $arFields);
Комментариев нет:
Отправить комментарий