У объекта свойства заказа есть защищенное свойство deletedValue, но метода для получения его значения в классе не описано.
//обработка события OnSaleOrderSaved (создание заказа)
Main\EventManager::getInstance()->addEventHandler(
'sale',
'OnSaleOrderSaved',
'OnOrderSaveHandler'
);
function OnOrderSaveHandler(Main\Event $event)
{
//получаем объект заказа
$order = $event->getParameter("ENTITY");
$isNew = $event->getParameter("IS_NEW");
$oldValues = $event->getParameter("OLD_VALUES");
$s = print_r($oldValues,true);
//AddMessage2Log($s);
//получаем свойства заказа
$propertyCollection = $order->getPropertyCollection();
if (!$isNew)
{
$objPropValue = $propertyCollection->getItemByOrderPropertyId(45);
$sPropValue = $objPropValue->getValue();
//если бы был метод, который позволяет получить доступ к старому значению, то чтобы предотвратить изменение этого свойства можно было бы переписать его старым значение
получаем старое значение
$objPropValue->SetValue(старое значение);
}
но такого метода нет, что делать?
//обработка события OnSaleOrderSaved (создание заказа)
Main\EventManager::getInstance()->addEventHandler(
'sale',
'OnSaleOrderSaved',
'OnOrderSaveHandler'
);
function OnOrderSaveHandler(Main\Event $event)
{
//получаем объект заказа
$order = $event->getParameter("ENTITY");
$isNew = $event->getParameter("IS_NEW");
$oldValues = $event->getParameter("OLD_VALUES");
$s = print_r($oldValues,true);
//AddMessage2Log($s);
//получаем свойства заказа
$propertyCollection = $order->getPropertyCollection();
if (!$isNew)
{
$objPropValue = $propertyCollection->getItemByOrderPropertyId(45);
$sPropValue = $objPropValue->getValue();
//если бы был метод, который позволяет получить доступ к старому значению, то чтобы предотвратить изменение этого свойства можно было бы переписать его старым значение
получаем старое значение
$objPropValue->SetValue(старое значение);
}
но такого метода нет, что делать?