Код |
---|
function statusChange(\Bitrix\Main\Event $event)
{
$order = $event->getParameter("ENTITY");
if(in_array($order->getField('STATUS_ID'),array('F')))
{
$orderToChange = \Bitrix\Sale\Order::load($order->getId());
//$orderToChange->setField("CANCELED","Y");
$orderToChange->setField('COMMENTS', ''.$order->getUserId());
$orderToChange->save();
\Bitrix\Sale\Provider::resetTrustData($order->getSiteId());
$res = CSaleBasket::GetList(array(), array("ORDER_ID" => "65" )); // ID заказа
while ($arItem = $res->Fetch()) {
$coupon = CatalogGenerateCoupon();
$fields = array(
'DISCOUNT_ID' => 9,
'ACTIVE_FROM' => null,
'ACTIVE_TO' => null,
'TYPE' => \Bitrix\Sale\Internals\DiscountCouponTable::TYPE_ONE_ORDER,
'ACTIVE'=>'Y',
/*'USER_ID'=>$USER->GetID(),*/
'MAX_USE' => 1,
'COUPON' => $coupon,
);
$couponsResult = \Bitrix\Sale\Internals\DiscountCouponTable::add($fields);
}
}
}
|
Такой код не работает.
Точнее когда перербираю не работает как раз $res = CSaleBasket::GetList(array(), array("ORDER_ID" => "65" )); while ($arItem = $res->Fetch()) {
генерация купона без этих пунктов работает отлично