diff --git a/intaro.intarocrm/classes/general/ICrmOrderActions.php b/intaro.intarocrm/classes/general/ICrmOrderActions.php index de9d59f2..50459df5 100755 --- a/intaro.intarocrm/classes/general/ICrmOrderActions.php +++ b/intaro.intarocrm/classes/general/ICrmOrderActions.php @@ -416,6 +416,8 @@ class ICrmOrderActions 'DELIVERY_ID' => $optionsDelivTypes[$order['deliveryType']], 'STATUS_ID' => $optionsPayStatuses[$order['status']] )); + + $GLOBALS['FROM_HISTORY'] = true; CSaleOrder::Update($order['externalId'], $arFields); diff --git a/intaro.intarocrm/classes/general/events/ICrmOrderEvent.php b/intaro.intarocrm/classes/general/events/ICrmOrderEvent.php index 7b7e8178..951c6d55 100644 --- a/intaro.intarocrm/classes/general/events/ICrmOrderEvent.php +++ b/intaro.intarocrm/classes/general/events/ICrmOrderEvent.php @@ -21,6 +21,9 @@ class ICrmOrderEvent { * @param mixed $arFields - Order arFields */ function onUpdateOrder($ID, $arFields = array()) { + if(isset($GLOBALS['FROM_HISTORY']) && $GLOBALS['FROM_HISTORY']) + return; + self::writeDataOnOrderCreate($ID); } @@ -35,6 +38,7 @@ class ICrmOrderEvent { */ function onSendOrderMail($ID, &$eventName, &$arFields) { self::writeDataOnOrderCreate($ID); + COption::SetOptionString(self::$MODULE_ID, self::$CRM_ORDER_LAST_ID, $ID); } /** @@ -89,8 +93,6 @@ class ICrmOrderEvent { return true; } - COption::SetOptionString(self::$MODULE_ID, self::$CRM_ORDER_LAST_ID, $ID); - return true; }