- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/order.php
- Класс: BitrixSaleOrder
- Вызов: Order::onFieldModify
protected function onFieldModify($name, $oldValue, $value)
{
$result = parent::onFieldModify($name, $oldValue, $value);
if ($name == "PRICE")
{
$r = $this->getShipmentCollection()->onOrderModify($name, $oldValue, $value);
if (!$r->isSuccess())
{
return $result->addErrors($r->getErrors());
}
$r = $this->getPaymentCollection()->onOrderModify($name, $oldValue, $value);
if (!$r->isSuccess())
{
return $result->addErrors($r->getErrors());
}
$r = $this->syncOrderAndPayments();
if (!$r->isSuccess())
{
$result->addErrors($r->getErrors());
}
}
elseif($name == "MARKED")
{
global $USER;
if (is_object($USER))
{
$this->setField('EMP_MARKED_ID', $USER->GetID());
}
$this->setField('DATE_MARKED', new MainTypeDateTime());
$r = $this->getShipmentCollection()->onOrderModify($name, $oldValue, $value);
if (!$r->isSuccess())
{
return $result->addErrors($r->getErrors());
}
}
return $result;
}