Index: branches/5.2.x/units/orders/orders_event_handler.php =================================================================== --- branches/5.2.x/units/orders/orders_event_handler.php +++ branches/5.2.x/units/orders/orders_event_handler.php @@ -318,16 +318,14 @@ $fields_hash['AffiliateId'] = $affiliate_id; } - $id_field = $this->Application->getUnitOption($event->Prefix, 'IDField'); - $table_name = $this->Application->getUnitOption($event->Prefix, 'TableName'); - - $this->Conn->doUpdate($fields_hash, $table_name, $id_field . ' = ' . $order_id); - - $object = $event->getObject(); - /* @var $object kDBItem */ + /** @var OrdersItem $object */ + $object = $this->Application->recallObject($event->Prefix . '.-item', null, array('skip_autoload' => true)); + $object->Load($order_id); - // set user id to object, since it will be used during order update from OnRecalculateItems event - $object->SetDBField('PortalUserId', $user->GetID()); + if ( $object->isLoaded() ) { + $object->SetDBFieldsFromHash($fields_hash); + $object->Update(); + } } function isAffiliate($user_id)