Bitrix-D7 22.2
Загрузка...
Поиск...
Не найдено
Класс Order
+ Граф наследования:Order:

Открытые члены

 getPrintedChecks ()
 
 addPrintedCheck ($check)
 
 onTradeBindingCollectionModify ($action, TradeBindingEntity $entity, $name=null, $oldValue=null, $value=null)
 
 resetData ($select=array('PRICE'))
 
 getBasePrice ()
 
 setBasket (BasketBase $basket)
 
 getShipmentCollection ()
 
 getTradeBindingCollection ()
 
 getPaymentCollection ()
 
 isShipped ()
 
 onBeforeBasketItemDelete (BasketItem $basketItem)
 
 onBasketModify ($action, BasketItemBase $basketItem, $name=null, $oldValue=null, $value=null)
 
 onBeforeBasketRefresh ()
 
 applyDiscount (array $data)
 
 verify ()
 
 getBusinessValueProviderInstance ($mapping)
 
 isChanged ()
 
 clearChanged ()
 
 getDeliverySystemId ()
 
 getPaymentSystemId ()
 
 toArray ()
 
 getInternalId ()
 
 isSaveRunning ()
 
 appendBasket (BasketBase $basket)
 
 getBasket ()
 
 setField ($name, $value)
 
 setFieldNoDemand ($name, $value)
 
 getField ($name)
 
 initField ($name, $value)
 
 getPropertyCollection ()
 
 onPropertyValueCollectionModify ($action, EntityPropertyValue $property, $name=null, $oldValue=null, $value=null)
 
 getPersonTypeId ()
 
 setPersonTypeId ($personTypeId)
 
 getPrice ()
 
 getSumPaid ()
 
 getDeliveryPrice ()
 
 getDeliveryLocation ()
 
 getTaxPrice ()
 
 getTaxValue ()
 
 getDiscountPrice ()
 
 getCurrency ()
 
 getUserId ()
 
 getSiteId ()
 
 isUsedVat ()
 
 getVatRate ()
 
 getVatSum ()
 
 isMarked ()
 
 refreshVat ()
 
 isExternal ()
 
 setVatSum ($price)
 
 setVatDelivery ($price)
 
 getDateInsert ()
 
 getCalculateType ()
 
 onAfterBasketRefresh ()
 
 getTax ()
 
 isNew ()
 
 resetTax ()
 
 isClone ()
 
 isPaid ()
 
 isAllowDelivery ()
 
 isDeducted ()
 
 isCanceled ()
 
 getTaxLocation ()
 
 isMathActionOnly ()
 
 hasMeaningfulField ()
 
 clearStartField ()
 
 isStartField ($isMeaningfulField=false)
 
 setMathActionOnly ($value=false)
 
 getDiscount ()
 
 fetch (Main\Text\Converter $converter=null)
 
 loadShipmentCollection ()
 
 loadPaymentCollection ()
 
 getPersonTypeId ()
 

Открытые статические члены

static getRegistryType ()
 
static getUfId ()
 
static lock ($id)
 
static unlock ($id)
 
static getLockedStatus ($id)
 
static getList (array $parameters=array())
 
static getAvailableFields ()
 
static getRegistryEntity ()
 
static create ($siteId, $userId=null, $currency=null)
 
static load ($id)
 
static loadByAccountNumber ($value)
 
static add (array $data)
 
static update ($id, array $data)
 
static getSettableFields ()
 
static getEntityEventName ()
 
static getEntity ()
 
static getRow (array $parameters)
 
static clearCache ()
 
static delete ($id)
 
static setCacheItem ($id, array $row)
 
static getCacheItem ($id, bool $load=false)
 
static clearCacheItem ($id)
 
static getTabletClassName ()
 
static getTabletFieldNames (int $fields=self::FIELDS_MAIN)
 
static getCachedFieldList ()
 
static getCallbackRestEvent ()
 
static clearSettings ()
 

Поля данных

const SALE_ORDER_LOCK_STATUS_RED = 'red'
 
const SALE_ORDER_LOCK_STATUS_GREEN = 'green'
 
const SALE_ORDER_LOCK_STATUS_YELLOW = 'yellow'
 
const SALE_ORDER_CALC_TYPE_NEW = 'N'
 
const SALE_ORDER_CALC_TYPE_CHANGE = 'C'
 
const SALE_ORDER_CALC_TYPE_REFRESH = 'R'
 
const PREFIX_OLD = 'OLD_'
 
const EVENT_ON_BUILD_CACHED_FIELD_LIST = 'OnBuildCachedFieldList'
 
const FIELDS_MAIN = 0x0001
 
const FIELDS_UF = 0x0002
 
const FIELDS_ALL = self::FIELDS_MAIN|self::FIELDS_UF
 

Защищенные члены

 loadPrintedChecks ()
 
 onFieldModify ($name, $oldValue, $value)
 
 onOrderModify ($name, $oldValue, $value)
 
 getStatusOnPaid ()
 
 getStatusOnPartialPaid ()
 
 refreshInternal ()
 
 calculatePrice ()
 
 onAfterSave ()
 
 addInternal (array $data)
 
 checkValueBeforeSet ($name, $value)
 
 resetVat ()
 
 calculateVat ()
 
 isCalculatedField ($field)
 
 callDelayedEvents ()
 
 completeSaving ($needUpdateDateInsert)
 
 add ()
 
 update ()
 
 callEventOnSaleOrderSaved ()
 
 saveEntities ()
 
 setAccountNumber ()
 
 onBeforeSave ()
 
 getTablet ()
 

Защищенные статические члены

static getFieldsMap ()
 
static updateInternal ($primary, array $data)
 
static deleteInternal ($primary)
 
static getCalculatedFields ()
 
static getMeaningfulFields ()
 
static generateXmlId ()
 
static loadFromDb (array $parameters)
 
static isExists ($id)
 
static deleteExternalEntities ($orderId)
 
static prepareForAdd (ORM\Data\AddResult $result, $id, array &$data)
 
static prepareForUpdate (ORM\Data\UpdateResult $result, $id, array &$data)
 
static deleteNoDemands ($id)
 
static normalize (array &$data)
 
static runAddExternalActions ($id, array $data)
 
static runUpdateExternalActions ($id, array $data)
 
static runDeleteExternalActions ($id)
 
static getDefaultCachedFieldList ()
 
static prepareFloatValue ($value)
 
static prepareIntValue ($value)
 
static prepareStringValue ($value)
 

Защищенные данные

 $shipmentCollection
 
 $paymentCollection
 
 $tradeBindingCollection
 
 $printedChecks = array()
 
 $calculatedFields = null
 
 $basketCollection
 
 $propertyCollection
 
 $discount = null
 
 $tax = null
 
 $internalId = 0
 
 $isNew = true
 
 $isSaveExecuting = false
 
 $isClone = false
 
 $isOnlyMathAction = null
 
 $isMeaningfulField = false
 
 $isStartField = null
 
 $calculateType = null
 

Подробное описание

См. определение в файле order.php строка 19

Методы

◆ add() [1/2]

add ( )
protectedinherited
Возвращает
Result
Исключения
Main

ArgumentException

Исключения
Main

ArgumentNullException

Исключения
Main

ArgumentOutOfRangeException

Исключения
Main

NotImplementedException

Исключения
Main

SystemException

См. определение в файле orderbase.php строка 1277

1278 {
1279 global $USER;
1280
1281 $result = new Result();
1282
1283 $currentDateTime = new Type\DateTime();
1284
1285 if (!$this->getField('DATE_UPDATE'))
1286 {
1287 $this->setField('DATE_UPDATE', $currentDateTime);
1288 }
1289
1290 if (!$this->getField('DATE_INSERT'))
1291 {
1292 $this->setField('DATE_INSERT', $currentDateTime);
1293 }
1294
1295 $fields = $this->fields->getValues();
1296
1297 if (is_object($USER) && $USER->isAuthorized())
1298 {
1299 $fields['CREATED_BY'] = $USER->getID();
1300 $this->setFieldNoDemand('CREATED_BY', $fields['CREATED_BY']);
1301 }
1302
1303 if (array_key_exists('REASON_MARKED', $fields) && mb_strlen($fields['REASON_MARKED']) > 255)
1304 {
1305 $fields['REASON_MARKED'] = mb_substr($fields['REASON_MARKED'], 0, 255);
1306 }
1307
1308 $fields['RUNNING'] = 'Y';
1309
1310 $r = $this->addInternal($fields);
1311 if (!$r->isSuccess())
1312 {
1313 return $result->addErrors($r->getErrors());
1314 }
1315
1316 if ($resultData = $r->getData())
1317 {
1318 $result->setData($resultData);
1319 }
1320
1321 $id = $r->getId();
1322 $this->setFieldNoDemand('ID', $id);
1323 $result->setId($id);
1324
1325 $this->setAccountNumber();
1326
1327 return $result;
1328 }
addInternal(array $data)
setFieldNoDemand($name, $value)
Definition: orderbase.php:527
setField($name, $value)
Definition: orderbase.php:464

◆ add() [2/2]

static add ( array  $data)
staticinherited

Add entity item. Use instead of DataManager method.

Аргументы
array$data
Возвращает
ORM\Data\AddResult

См. определение в файле entity.php строка 150

151 {
152 $result = new ORM\Data\AddResult();
153
154 $entity = static::getEntity();
155
156 static::normalize($data);
157
158 if (Event::existEventHandlers($entity, ORM\Data\DataManager::EVENT_ON_BEFORE_ADD))
159 {
160 $event = new Event(
161 $entity,
162 ORM\Data\DataManager::EVENT_ON_BEFORE_ADD,
163 $data
164 );
165 $event->send();
166
167 $event->mergeData($data);
168 if ($event->getErrors($result))
169 return $result;
170 }
171
172 static::prepareForAdd($result, null, $data);
173 if (!$result->isSuccess())
174 return $result;
175 unset($result);
176
177 if (Event::existEventHandlers($entity, ORM\Data\DataManager::EVENT_ON_ADD))
178 {
179 $event = new Event(
180 $entity,
181 ORM\Data\DataManager::EVENT_ON_ADD,
182 $data
183 );
184 $event->send();
185 unset($event);
186 }
187
188 $result = $entity->getTablet()->add($data['fields']);
189 $success = $result->isSuccess();
190 if ($success)
191 {
192 $data['fields'] = $result->getData();
193 if ($entity->fieldsCount > 0)
194 $entity->setEntityCacheItem((int)$result->getId(), $result->getData(), false);
195 }
196
197 if (Event::existEventHandlers($entity, ORM\Data\DataManager::EVENT_ON_AFTER_ADD))
198 {
199 $event = new Event(
200 $entity,
201 ORM\Data\DataManager::EVENT_ON_AFTER_ADD,
202 [
203 'id' => $result->getId(),
204 'fields' => $data['fields'],
205 'external_fields' => $data['external_fields'],
206 'actions' => $data['actions'],
207 'success' => $success
208 ]
209 );
210 $event->send();
211 unset($event);
212 }
213
214 if ($success && !empty($data['actions']))
215 static::runAddExternalActions($result->getId(), $data);
216
217 unset($success, $entity);
218
219 return $result;
220 }

◆ addInternal()

addInternal ( array  $data)
protected
Аргументы
array$data
Возвращает
Entity\AddResult
Исключения

Exception

Переопределяет метод предка OrderBase.

См. определение в файле order.php строка 2343

2344 {
2345 return Internals\OrderTable::add($data);
2346 }

◆ addPrintedCheck()

addPrintedCheck (   $check)

Add printed check to order

Аргументы
$check

См. определение в файле order.php строка 109

110 {
111 $this->printedChecks[] = $check;
112 }

◆ appendBasket()

appendBasket ( BasketBase  $basket)
inherited

Append basket to order

Аргументы
BasketBase$basket
Возвращает
Result
Исключения
Main

NotSupportedException

См. определение в файле orderbase.php строка 405

406 {
407 if ($this->getId())
408 {
409 throw new Main\NotSupportedException();
410 }
411
412 $basket->setOrder($this);
413 $this->basketCollection = $basket;
414
415 return new Result();
416 }
setOrder(OrderBase $order)
Definition: basketbase.php:175

◆ applyDiscount()

applyDiscount ( array  $data)

См. определение в файле order.php строка 1709

1710 {
1711 $r = parent::applyDiscount($data);
1712 if (!$r->isSuccess())
1713 {
1714 return $r;
1715 }
1716
1717 if (isset($data['SHIPMENT']) && intval($data['SHIPMENT']) > 0
1718 && (isset($data['PRICE_DELIVERY']) && floatval($data['PRICE_DELIVERY']) >= 0
1719 || isset($data['DISCOUNT_PRICE']) && floatval($data['DISCOUNT_PRICE']) >= 0))
1720 {
1721 if ($shipment = $this->getShipmentCollection()->getItemByShipmentCode($data['SHIPMENT']))
1722 {
1723 if (!$shipment->isCustomPrice())
1724 {
1725 $data['PRICE_DELIVERY'] = (float)$data['PRICE_DELIVERY'];
1726 $data['DISCOUNT_PRICE'] = (float)$data['DISCOUNT_PRICE'];
1727 if ($data['PRICE_DELIVERY'] >= 0 && $data['PRICE_DELIVERY'] != $shipment->getPrice())
1728 {
1729 $data['PRICE_DELIVERY'] = PriceMaths::roundPrecision(floatval($data['PRICE_DELIVERY']));
1730 $shipment->setField('PRICE_DELIVERY', $data['PRICE_DELIVERY']);
1731 }
1732
1733 if ($data['DISCOUNT_PRICE'] != $shipment->getField('DISCOUNT_PRICE'))
1734 {
1735 $data['DISCOUNT_PRICE'] = PriceMaths::roundPrecision(floatval($data['DISCOUNT_PRICE']));
1736 $shipment->setField('DISCOUNT_PRICE', $data['DISCOUNT_PRICE']);
1737 }
1738 }
1739
1740 }
1741 }
1742
1743 return new Result();
1744 }
static roundPrecision($value)
Definition: pricemaths.php:17

◆ calculatePrice()

calculatePrice ( )
protected
Возвращает
float

Переопределяет метод предка OrderBase.

См. определение в файле order.php строка 2100

2101 {
2102 $price = parent::calculatePrice();
2103 $shipmentCollection = $this->getShipmentCollection();
2104
2105 return $price + $shipmentCollection->getPriceDelivery();
2106 }

◆ calculateVat()

calculateVat ( )
protectedinherited

Calculate VAT

Возвращает
array

См. определение в файле orderbase.php строка 969

970 {
971 $result = array();
972
973 $basket = $this->getBasket();
974 if ($basket)
975 {
976 $result['VAT_RATE'] = $basket->getVatRate();
977 $result['VAT_SUM'] = $basket->getVatSum();
978 }
979
980 return $result;
981 }

◆ callDelayedEvents()

callDelayedEvents ( )
protectedinherited
Исключения
Main

ArgumentException

Исключения
Main

NotImplementedException

Возвращает
void

См. определение в файле orderbase.php строка 1208

1209 {
1210 $registry = Registry::getInstance(static::getRegistryType());
1211 $notifyClassName = $registry->getNotifyClassName();
1212
1213 $eventList = Internals\EventsPool::getEvents($this->getInternalId());
1214 if ($eventList)
1215 {
1216 foreach ($eventList as $eventName => $eventData)
1217 {
1218 $event = new Main\Event('sale', $eventName, $eventData);
1219 $event->send();
1220
1221 $notifyClassName::callNotify($this, $eventName);
1222 }
1223
1224 Internals\EventsPool::resetEvents($this->getInternalId());
1225 }
1226
1227 $notifyClassName::callNotify($this, EventActions::EVENT_ON_ORDER_SAVED);
1228 }
static getInstance($type)
Definition: registry.php:183

◆ callEventOnSaleOrderSaved()

callEventOnSaleOrderSaved ( )
protectedinherited
Возвращает
void

См. определение в файле orderbase.php строка 1397

1398 {
1399 $eventManager = Main\EventManager::getInstance();
1400 if ($eventsList = $eventManager->findEventHandlers('sale', EventActions::EVENT_ON_ORDER_SAVED))
1401 {
1402 $event = new Main\Event('sale', EventActions::EVENT_ON_ORDER_SAVED, array(
1403 'ENTITY' => $this,
1404 'IS_NEW' => $this->isNew,
1405 'IS_CHANGED' => $this->isChanged(),
1406 'VALUES' => $this->fields->getOriginalValues(),
1407 ));
1408 $event->send();
1409 }
1410 }

◆ checkValueBeforeSet()

checkValueBeforeSet (   $name,
  $value 
)
protectedinherited
Аргументы
$name
$value
Возвращает
Result
Исключения
Main

NotImplementedException

См. определение в файле orderbase.php строка 493

494 {
495 $result = parent::checkValueBeforeSet($name, $value);
496
497 if ($name === 'ACCOUNT_NUMBER')
498 {
499 $dbRes = static::getList([
500 'select' => ['ID'],
501 'filter' => ['=ACCOUNT_NUMBER' => $value]
502 ]);
503
504 if ($dbRes->fetch())
505 {
506 $result->addError(
507 new ResultError(
508 Loc::getMessage('SALE_ORDER_ACCOUNT_NUMBER_EXISTS')
509 )
510 );
511 }
512 }
513
514 return $result;
515 }
static getMessage($code, $replace=null, $language=null)
Definition: loc.php:29

◆ clearCache()

static clearCache ( )
staticinherited

Clear all cache for entity.

Возвращает
void

См. определение в файле entity.php строка 139

139 : void
140 {
141 static::getEntity()->clearEntityCache();
142 }

◆ clearCacheItem()

static clearCacheItem (   $id)
staticinherited

Clear item cache. Do not use without good reason.

Аргументы
int$id
Возвращает
void @noinspection PhpUnused

См. определение в файле entity.php строка 411

411 : void
412 {
413 $id = (int)$id;
414 if ($id <= 0)
415 return;
416 static::getEntity()->clearEntityCacheItem($id);
417 }

◆ clearChanged()

clearChanged ( )

Переопределяет метод предка OrderBase.

См. определение в файле order.php строка 1979

1980 {
1981 parent::clearChanged();
1982
1983 $this->getPaymentCollection()->clearChanged();
1984
1985 $this->getShipmentCollection()->clearChanged();
1986
1987 $this->getTradeBindingCollection()->clearChanged();
1988 }

◆ clearSettings()

static clearSettings ( )
staticinherited

Переопределяется в Price.

См. определение в файле entity.php строка 970

970: void {}

◆ clearStartField()

clearStartField ( )
inherited

Reset order flags: \Bitrix\Sale\OrderBase::$isStartField, \Bitrix\Sale\OrderBase::$isMeaningfulField

Возвращает
void

См. определение в файле orderbase.php строка 2096

2097 {
2098 $this->isStartField = null;
2099 $this->isMeaningfulField = false;
2100 }
isStartField($isMeaningfulField=false)
Definition: orderbase.php:2106

◆ completeSaving()

completeSaving (   $needUpdateDateInsert)
protectedinherited
Аргументы
$needUpdateDateInsert
Возвращает
Result
Исключения
Main

ArgumentOutOfRangeException

Исключения
Main

NotImplementedException

См. определение в файле orderbase.php строка 1236

1237 {
1238 $result = new Result();
1239
1240 $currentDateTime = new Type\DateTime();
1241 $updateFields = ['RUNNING' => 'N'];
1242
1243 $changedFields = $this->fields->getChangedValues();
1244 if ($this->isNew
1245 || (
1246 $this->isChanged()
1247 && !array_key_exists('DATE_UPDATE', $changedFields)
1248 )
1249 )
1250 {
1251 $updateFields['DATE_UPDATE'] = $currentDateTime;
1252 }
1253
1254 if ($needUpdateDateInsert)
1255 {
1256 $updateFields['DATE_INSERT'] = $currentDateTime;
1257 }
1258
1259 $this->setFieldsNoDemand($updateFields);
1260 $r = static::updateInternal($this->getId(), $updateFields);
1261 if (!$r->isSuccess())
1262 {
1263 $result->addErrors($r->getErrors());
1264 }
1265
1266 return $result;
1267 }

◆ create()

static create (   $siteId,
  $userId = null,
  $currency = null 
)
staticinherited

Create \Bitrix\Sale\OrderBase object

Аргументы
$siteId
null$userId
null$currency
Возвращает
Order
Исключения
Main

ArgumentOutOfRangeException

Исключения
Main

NotImplementedException

Исключения
Main

ObjectException

См. определение в файле orderbase.php строка 203

204 {
205 $fields = [
206 'CANCELED' => 'N',
207 'DEDUCTED' => 'N',
208 'ALLOW_DELIVERY' => 'N',
209 'PAYED' => 'N',
210 ];
211
212 $order = static::createOrderObject($fields);
213 $order->setFieldNoDemand('LID', $siteId);
214 if (intval($userId) > 0)
215 {
216 $order->setFieldNoDemand('USER_ID', $userId);
217 }
218
219 if ($currency == null)
220 {
221 $currency = Internals\SiteCurrencyTable::getSiteCurrency($siteId);
222 }
223
224 if ($currency == null)
225 {
226 $currency = Currency\CurrencyManager::getBaseCurrency();
227 }
228
229 $order->setFieldNoDemand('CURRENCY', $currency);
230 $order->setField('STATUS_ID', static::getInitialStatus());
231 $order->setFieldNoDemand('XML_ID', static::generateXmlId());
232
233 $order->calculateType = static::SALE_ORDER_CALC_TYPE_NEW;
234
235 return $order;
236 }

◆ delete()

static delete (   $id)
staticinherited

Delete entity item. Use instead of DataManager method.

Аргументы
int$id
Возвращает
ORM\Data\DeleteResult

Переопределяется в Product.

См. определение в файле entity.php строка 317

317 : ORM\Data\DeleteResult
318 {
319 $result = new ORM\Data\DeleteResult();
320
321 $entity = static::getEntity();
322
323 if (Event::existEventHandlers($entity, ORM\Data\DataManager::EVENT_ON_BEFORE_DELETE))
324 {
325 $event = new Event(
326 $entity,
327 ORM\Data\DataManager::EVENT_ON_BEFORE_DELETE,
328 ['id' => $id]
329 );
330 $event->send();
331
332 if ($event->getErrors($result))
333 return $result;
334 }
335
336 if (Event::existEventHandlers($entity, ORM\Data\DataManager::EVENT_ON_DELETE))
337 {
338 $event = new Event(
339 $entity,
340 ORM\Data\DataManager::EVENT_ON_DELETE,
341 ['id' => $id]
342 );
343 $event->send();
344 unset($event);
345 }
346
347 if ($entity->fieldsCount > 0 && !isset($entity->cache[$id]))
348 $entity->loadEntityCacheItem($id);
349
350 $result = $entity->getTablet()->delete($id);
351 $success = $result->isSuccess();
352 if ($success)
353 $entity->expireEntityCacheItem((int)$id);
354
355 if (Event::existEventHandlers($entity, ORM\Data\DataManager::EVENT_ON_AFTER_DELETE))
356 {
357 $event = new Event(
358 $entity,
359 ORM\Data\DataManager::EVENT_ON_AFTER_DELETE,
360 ['id' => $id, 'success' => $success]
361 );
362 $event->send();
363 unset($event);
364 }
365
366 if ($success)
367 static::runDeleteExternalActions($id);
368
369 unset($success, $entity);
370
371 return $result;
372 }

◆ deleteExternalEntities()

static deleteExternalEntities (   $orderId)
staticprotectedinherited
Аргументы
$orderId

См. определение в файле orderbase.php строка 2334

2335 {
2336 return;
2337 }

◆ deleteInternal()

static deleteInternal (   $primary)
staticprotected
Аргументы
$primary
Возвращает
Entity\DeleteResult
Исключения

Exception

Переопределяет метод предка OrderBase.

См. определение в файле order.php строка 2364

2365 {
2366 return Internals\OrderTable::delete($primary);
2367 }

◆ deleteNoDemands()

static deleteNoDemands (   $id)
staticprotectedinherited

Delete entity item without entity events (tablet events only).

Аргументы
int$id
Возвращает
ORM\Data\DeleteResult
Исключения
Main

ObjectNotFoundException

См. определение в файле entity.php строка 534

534 : ORM\Data\DeleteResult
535 {
536 $entity = static::getEntity();
537
538 if ($entity->fieldsCount > 0 && !isset($entity->cache[$id]))
539 $entity->loadEntityCacheItem($id);
540
541 $result = $entity->getTablet()->delete($id);
542 if ($result->isSuccess())
543 {
544 if ($entity->fieldsCount > 0)
545 $entity->expireEntityCacheItem((int)$id);
546 static::runDeleteExternalActions($id);
547 }
548
549 unset($entity);
550
551 return $result;
552 }

◆ fetch()

fetch ( Main\Text\Converter  $converter = null)
inherited

Entity fetch. Work with entity change cache.

Аргументы
Main\Text\Converter | null$converter
Возвращает
array|false

См. определение в файле entity.php строка 112

113 {
114 if ($this->result === null)
115 return false;
116 $row = $this->result->fetch($converter);
117 if (!$row)
118 {
119 $this->result = null;
120 $this->fetchCutMask = [];
121 return false;
122 }
123 if (empty($this->fields))
124 return $row;
125 if (!isset($row['ID']))
126 return $row;
127
128 $this->setEntityCacheItem((int)$row['ID'], $row, true);
129 if (!empty($this->fetchCutMask))
130 $row = array_diff_key($row, $this->fetchCutMask);
131 return $row;
132 }

◆ generateXmlId()

static generateXmlId ( )
staticprotectedinherited
Возвращает
string

См. определение в файле orderbase.php строка 241

242 {
243 return uniqid('bx_');
244 }

◆ getAvailableFields()

static getAvailableFields ( )
staticinherited

Return field names that can set in \Bitrix\Sale\OrderBase::setField

Возвращает
array

См. определение в файле orderbase.php строка 111

112 {
113 $result = array(
114 "LID", "PERSON_TYPE_ID", "CANCELED", "DATE_CANCELED",
115 "EMP_CANCELED_ID", "REASON_CANCELED", "STATUS_ID", "DATE_STATUS", "EMP_STATUS_ID", "DEDUCTED",
116 "MARKED", "DATE_MARKED", "EMP_MARKED_ID", "REASON_MARKED",
117 "PRICE", "CURRENCY", "DISCOUNT_VALUE", "USER_ID",
118 "DATE_INSERT", "DATE_UPDATE", "USER_DESCRIPTION", "ADDITIONAL_INFO", "COMMENTS", "TAX_VALUE",
119 "STAT_GID", "RECURRING_ID", "LOCKED_BY", "IS_RECURRING",
120 "DATE_LOCK", "RECOUNT_FLAG", "AFFILIATE_ID", "DELIVERY_DOC_NUM", "DELIVERY_DOC_DATE", "UPDATED_1C",
121 "STORE_ID", "ORDER_TOPIC", "RESPONSIBLE_ID", "DATE_BILL", "DATE_PAY_BEFORE", "ACCOUNT_NUMBER",
122 "XML_ID", "ID_1C", "VERSION_1C", "VERSION", "EXTERNAL_ORDER", "COMPANY_ID", "IS_SYNC_B24"
123 );
124
125 return array_merge($result, static::getCalculatedFields());
126 }

◆ getBasePrice()

getBasePrice ( )

Returns order price without discounts.

Возвращает
float

Переопределяет метод предка OrderBase.

См. определение в файле order.php строка 637

637 : float
638 {
639 $price = parent::getBasePrice();
640
641 return $price + $this->getShipmentCollection()->getBasePriceDelivery();
642 }

◆ getBasket()

getBasket ( )
inherited

Return order basket.

Возвращает
BasketBase

См. определение в файле orderbase.php строка 423

424 {
425 if (!isset($this->basketCollection) || empty($this->basketCollection))
426 {
427 $this->basketCollection = $this->loadBasket();
428 }
429
431 }

◆ getBusinessValueProviderInstance()

getBusinessValueProviderInstance (   $mapping)
Аргументы
$mapping
Возвращает
Order|null|string

Замещает IBusinessValueProvider.

См. определение в файле order.php строка 1897

1898 {
1899 $providerInstance = null;
1900
1901 if (is_array($mapping))
1902 {
1903 switch ($mapping['PROVIDER_KEY'])
1904 {
1905 case 'ORDER':
1906 case 'PROPERTY':
1907 $providerInstance = $this;
1908 break;
1909 case 'USER':
1910 $providerInstance = $this->getField('USER_ID');
1911 break;
1912 case 'COMPANY':
1913 $providerInstance = $this->getField('COMPANY_ID');
1914 break;
1915 }
1916 }
1917
1918 return $providerInstance;
1919 }

◆ getCachedFieldList()

static getCachedFieldList ( )
staticinherited

Returns fields list in cache.

Возвращает
array

См. определение в файле entity.php строка 465

465 : array
466 {
467 $entity = static::getEntity();
468 return $entity->fields;
469 }

◆ getCacheItem()

static getCacheItem (   $id,
bool  $load = false 
)
staticinherited

Returns item cache.

Аргументы
int$id
bool$load
Возвращает
array|null

См. определение в файле entity.php строка 396

396 : ?array
397 {
398 $id = (int)$id;
399 if ($id <= 0)
400 return null;
401 return static::getEntity()->getEntityCacheItem($id, $load);
402 }

◆ getCalculatedFields()

static getCalculatedFields ( )
staticprotectedinherited

Return virtual field names

Возвращает
array

См. определение в файле orderbase.php строка 133

134 {
135 return array(
136 'PRICE_WITHOUT_DISCOUNT',
137 'ORDER_WEIGHT',
138 'DISCOUNT_PRICE',
139 'BASE_PRICE_DELIVERY',
140
141 'DELIVERY_LOCATION',
142 'DELIVERY_LOCATION_ZIP',
143 'TAX_LOCATION',
144 'TAX_PRICE',
145
146 'VAT_RATE',
147 'VAT_VALUE',
148 'VAT_SUM',
149 'VAT_DELIVERY',
150 'USE_VAT',
151 );
152 }

◆ getCalculateType()

getCalculateType ( )
inherited

Return value: OrderBase::SALE_ORDER_CALC_TYPE_REFRESH, OrderBase::SALE_ORDER_CALC_TYPE_CHANGE, OrderBase::SALE_ORDER_CALC_TYPE_NEW

Возвращает
null|string

См. определение в файле orderbase.php строка 1546

1547 {
1548 return $this->calculateType;
1549 }

◆ getCallbackRestEvent()

static getCallbackRestEvent ( )
staticinherited

См. определение в файле entity.php строка 822

822 : array
823 {
824 return [Main\Rest\Event::class, 'processItemEvent'];
825 }

◆ getCurrency()

getCurrency ( )
inherited

Return currency

Возвращает
string

См. определение в файле orderbase.php строка 819

820 {
821 return $this->getField('CURRENCY');
822 }

◆ getDateInsert()

getDateInsert ( )
inherited

Return date order insert

Возвращает
mixed

См. определение в файле orderbase.php строка 1536

1537 {
1538 return $this->getField('DATE_INSERT');
1539 }

◆ getDefaultCachedFieldList()

static getDefaultCachedFieldList ( )
staticprotectedinherited

Returns entity default fields list for caching.

Возвращает
array

Переопределяется в Price, Product и Vat.

См. определение в файле entity.php строка 616

616 : array
617 {
618 return [];
619 }

◆ getDeliveryLocation()

getDeliveryLocation ( )
inherited
Возвращает
float

См. определение в файле orderbase.php строка 783

784 {
785 return $this->getField('DELIVERY_LOCATION');
786 }

◆ getDeliveryPrice()

getDeliveryPrice ( )
inherited
Возвращает
float

См. определение в файле orderbase.php строка 775

776 {
777 return floatval($this->getField('PRICE_DELIVERY'));
778 }

◆ getDeliverySystemId()

getDeliverySystemId ( )
Уст.:
Возвращает
array
Исключения
Main

ObjectNotFoundException

См. определение в файле order.php строка 2437

2438 {
2439 return $this->getDeliveryIdList();
2440 }

◆ getDiscount()

getDiscount ( )
inherited

Return discount object

Возвращает
Discount

См. определение в файле orderbase.php строка 2375

2376 {
2377 if ($this->discount === null)
2378 {
2379 $this->discount = $this->loadDiscount();
2380 }
2381
2382 return $this->discount;
2383 }

◆ getDiscountPrice()

getDiscountPrice ( )
inherited

Return discount price

Возвращает
float

См. определение в файле orderbase.php строка 809

810 {
811 return floatval($this->getField('DISCOUNT_PRICE'));
812 }

◆ getEntity()

static getEntity ( )
staticinherited

Returns entity class.

Возвращает
Entity

См. определение в файле entity.php строка 56

56 : Entity
57 {
58 $className = get_called_class();
59 if (empty(self::$entity[$className]))
60 {
61 $entity = new static;
62 self::$entity[$className] = $entity;
63 }
64
65 return self::$entity[$className];
66 }

◆ getEntityEventName()

static getEntityEventName ( )
staticinherited

См. определение в файле orderbase.php строка 2847

2848 {
2849 return 'SaleOrder';
2850 }

◆ getField()

getField (   $name)
inherited

Return field value

Аргументы
$name
Возвращает
null|string

См. определение в файле orderbase.php строка 569

570 {
571 if ($this->isCalculatedField($name))
572 {
573 return $this->calculatedFields->get($name);
574 }
575
576 return parent::getField($name);
577 }

◆ getFieldsMap()

static getFieldsMap ( )
staticprotected
Возвращает
array

См. определение в файле order.php строка 50

51 {
52 return Internals\OrderTable::getMap();
53 }

◆ getInternalId()

getInternalId ( )
inherited

Return internal index of order

Возвращает
int

См. определение в файле orderbase.php строка 94

95 {
96 static $idPool = 0;
97 if ($this->internalId == 0)
98 {
99 $idPool++;
100 $this->internalId = $idPool;
101 }
102
103 return $this->internalId;
104 }

◆ getList()

static getList ( array  $parameters = array())
static
Аргументы
array$parameters
Возвращает
Main\DB\Result
Исключения
Main

ArgumentException

Переопределяет метод предка OrderBase.

См. определение в файле order.php строка 1927

1928 {
1929 return Internals\OrderTable::getList($parameters);
1930 }

◆ getLockedStatus()

static getLockedStatus (   $id)
static

Return order locked status.

Аргументы
int$idOrder id.
Возвращает
Result
Исключения
Main

ArgumentException

См. определение в файле order.php строка 1841

1842 {
1843 $result = new Result();
1844
1845 $res = static::getList(array(
1846 'filter' => array('=ID' => $id),
1847 'select' => array(
1848 'LOCKED_BY',
1849 'LOCK_STATUS',
1850 'DATE_LOCK'
1851 )
1852 ));
1853
1854 if ($data = $res->fetch())
1855 {
1856 $result->addData(array(
1857 'LOCKED_BY' => $data['LOCKED_BY'],
1858 'LOCK_STATUS' => $data['LOCK_STATUS'],
1859 'DATE_LOCK' => $data['DATE_LOCK'],
1860 ));
1861 }
1862
1863 return $result;
1864 }

◆ getMeaningfulFields()

static getMeaningfulFields ( )
staticprotectedinherited
Возвращает
array

См. определение в файле orderbase.php строка 165

166 {
167 return array('PERSON_TYPE_ID', 'PRICE');
168 }

◆ getPaymentCollection()

getPaymentCollection ( )

Return payment collection

Возвращает
PaymentCollection

Замещает IPaymentOrder.

См. определение в файле order.php строка 791

792 {
793 if (empty($this->paymentCollection))
794 {
795 $this->paymentCollection = $this->loadPaymentCollection();
796 }
797
798 return $this->paymentCollection;
799 }

◆ getPaymentSystemId()

getPaymentSystemId ( )
Уст.:
Возвращает
array
Исключения
Main

ObjectNotFoundException

См. определение в файле order.php строка 2447

2448 {
2449 return $this->getPaySystemIdList();
2450 }

◆ getPersonTypeId() [1/2]

getPersonTypeId ( )
inherited

Замещается в Payment и Shipment.

◆ getPersonTypeId() [2/2]

getPersonTypeId ( )
inherited

Return person type id of order

Возвращает
int

См. определение в файле orderbase.php строка 722

723 {
724 return $this->getField('PERSON_TYPE_ID');
725 }

◆ getPrice()

getPrice ( )
inherited

Return order price

Возвращает
float

См. определение в файле orderbase.php строка 744

745 {
746 return floatval($this->getField('PRICE'));
747 }

◆ getPrintedChecks()

getPrintedChecks ( )

Return printed check list

Возвращает
array
Исключения
Main

ArgumentException

См. определение в файле order.php строка 69

70 {
71 if (!$this->printedChecks
72 && !$this->isNew()
73 )
74 {
75 $this->printedChecks = $this->loadPrintedChecks();
76 }
77
78 return $this->printedChecks;
79 }

◆ getPropertyCollection()

getPropertyCollection ( )
inherited
Возвращает
PropertyValueCollectionBase
Исключения
Main

ArgumentException

Исключения
Main

NotImplementedException

Исключения
Main

ObjectPropertyException

Исключения
Main

SystemException

См. определение в файле orderbase.php строка 611

612 {
613 if(empty($this->propertyCollection))
614 {
615 $this->propertyCollection = $this->loadPropertyCollection();
616 }
617
619 }

◆ getRegistryEntity()

static getRegistryEntity ( )
staticinherited
Возвращает
string

См. определение в файле orderbase.php строка 187

188 {
190 }

◆ getRegistryType()

static getRegistryType ( )
static
Возвращает
string

См. определение в файле order.php строка 41

42 {
44 }
const REGISTRY_TYPE_ORDER
Definition: registry.php:16

◆ getRow()

static getRow ( array  $parameters)
staticinherited

Entity getRow with change cache. Wrapper for entity getList.

Аргументы
array$parameters
Возвращает
array|null
Исключения
Main

ArgumentException

Исключения
Main

ObjectNotFoundException

Исключения
Main

ObjectPropertyException

Исключения
Main

SystemException

См. определение в файле entity.php строка 97

97 : ?array
98 {
99 $parameters['limit'] = 1;
100 $result = static::getList($parameters);
101 $row = $result->fetch();
102
103 return (is_array($row) ? $row : null);
104 }

◆ getSettableFields()

static getSettableFields ( )
staticinherited
Уст.:
Use \Bitrix\Sale\OrderBase::getAvailableFields instead
Возвращает
array

См. определение в файле orderbase.php строка 2837

2838 {
2839 return static::getAvailableFields();
2840 }

◆ getShipmentCollection()

getShipmentCollection ( )

Return shipment collection

Возвращает
ShipmentCollection
Исключения
Main

ArgumentException

Исключения
Main

ArgumentNullException

Замещает IShipmentOrder.

См. определение в файле order.php строка 758

759 {
760 if (empty($this->shipmentCollection))
761 {
762 $this->shipmentCollection = $this->loadShipmentCollection();
763 }
764
765 return $this->shipmentCollection;
766 }

◆ getSiteId()

getSiteId ( )
inherited

Return site id

Возвращает
null|string

См. определение в файле orderbase.php строка 871

872 {
873 return $this->getField('LID');
874 }

◆ getStatusOnPaid()

getStatusOnPaid ( )
protected
Возвращает
mixed
Исключения
Main

ArgumentException

Исключения
Main

SystemException

См. определение в файле order.php строка 1515

1516 {
1517 $registry = Registry::getInstance(static::getRegistryType());
1518
1519 $optionClassName = $registry->get(Registry::ENTITY_OPTIONS);
1520 return $optionClassName::get('sale', 'status_on_paid', '');
1521 }

◆ getStatusOnPartialPaid()

getStatusOnPartialPaid ( )
protected
Возвращает
mixed
Исключения
Main

ArgumentException

Исключения
Main

SystemException

См. определение в файле order.php строка 1528

1529 {
1530 $registry = Registry::getInstance(static::getRegistryType());
1531
1532 $optionClassName = $registry->get(Registry::ENTITY_OPTIONS);
1533 return $optionClassName::get('sale', 'status_on_half_paid', '');
1534 }

◆ getSumPaid()

getSumPaid ( )
inherited

Return paid sum

Возвращает
float

См. определение в файле orderbase.php строка 767

768 {
769 return floatval($this->getField('SUM_PAID'));
770 }

◆ getTablet()

getTablet ( )
protectedinherited

Returns entity table object.

Возвращает
ORM\Data\DataManager
Исключения
Main

ObjectNotFoundException

См. определение в файле entity.php строка 477

477 : ORM\Data\DataManager
478 {
479 if (!($this->tablet instanceof ORM\Data\DataManager))
480 throw new Main\ObjectNotFoundException(sprintf(
481 'Tablet not found in entity `%s`',
482 get_class($this)
483 ));
484 return $this->tablet;
485 }

◆ getTabletClassName()

static getTabletClassName ( )
staticinherited

Returns entity tablet name.

Возвращает
string

Переопределяется в Price, Product и Vat.

См. определение в файле entity.php строка 424

424 : string
425 {
426 return '';
427 }

◆ getTabletFieldNames()

static getTabletFieldNames ( int  $fields = self::FIELDS_MAIN)
staticinherited

Returns list of tablet field names, include user fields.

Аргументы
int$fields
Возвращает
array

См. определение в файле entity.php строка 435

435 : array
436 {
437 $result = [];
438 $entity = static::getEntity();
439 if ($fields & self::FIELDS_MAIN)
440 {
441 $result = array_keys($entity->tabletFields);
442 }
443 if ($fields & self::FIELDS_UF)
444 {
445 $list = array_keys($entity->tabletUserFields);
446 if (!empty($list))
447 {
448 $result = (empty($result)
449 ? $list
450 : array_merge($result, $list)
451 );
452 }
453 unset($list);
454 }
455
456 unset($entity);
457 return $result;
458 }

◆ getTax()

getTax ( )
inherited

Get the entity of taxes

Возвращает
Tax

См. определение в файле orderbase.php строка 1841

1842 {
1843 if ($this->tax === null)
1844 {
1845 $this->tax = $this->loadTax();
1846 }
1847 return $this->tax;
1848 }

◆ getTaxLocation()

getTaxLocation ( )
inherited

Return tax location

Возвращает
null|string

См. определение в файле orderbase.php строка 2057

2058 {
2059 if ((string)$this->getField('TAX_LOCATION') === "")
2060 {
2062
2063 if ($property = $propertyCollection->getTaxLocation())
2064 {
2065 $this->setField('TAX_LOCATION', $property->getValue());
2066 }
2067
2068 }
2069
2070 return $this->getField('TAX_LOCATION');
2071 }

◆ getTaxPrice()

getTaxPrice ( )
inherited
Возвращает
float

См. определение в файле orderbase.php строка 791

792 {
793 return floatval($this->getField('TAX_PRICE'));
794 }

◆ getTaxValue()

getTaxValue ( )
inherited
Возвращает
float

См. определение в файле orderbase.php строка 799

800 {
801 return floatval($this->getField('TAX_VALUE'));
802 }

◆ getTradeBindingCollection()

getTradeBindingCollection ( )

Return trade binding collection

Возвращает
TradeBindingCollection
Исключения
Main

ArgumentException

Исключения
Main

ArgumentTypeException

Исключения
Main

SystemException

См. определение в файле order.php строка 776

777 {
778 if (empty($this->tradeBindingCollection))
779 {
780 $this->tradeBindingCollection = $this->loadTradeBindingCollection();
781 }
782
783 return $this->tradeBindingCollection;
784 }

◆ getUfId()

static getUfId ( )
static
Возвращает
null|string

Переопределяет метод предка OrderBase.

См. определение в файле order.php строка 58

59 {
60 return Internals\OrderTable::getUfId();
61 }

◆ getUserId()

getUserId ( )
inherited

Return user id

Возвращает
int

См. определение в файле orderbase.php строка 861

862 {
863 return $this->getField('USER_ID');
864 }

◆ getVatRate()

getVatRate ( )
inherited

Return order vat rate

Возвращает
mixed|null

См. определение в файле orderbase.php строка 897

898 {
899 $vatRate = $this->getField('VAT_RATE');
900 if ($vatRate === null && $this->getId() > 0)
901 {
902 $this->refreshVat();
903 return $this->getField('VAT_RATE');
904 }
905 return $vatRate;
906 }

◆ getVatSum()

getVatSum ( )
inherited

Return order vat sum

Возвращает
float

См. определение в файле orderbase.php строка 913

914 {
915 $vatSum = $this->getField('VAT_SUM');
916 if ($vatSum === null && $this->getId() > 0)
917 {
918 $this->refreshVat();
919 return $this->getField('VAT_SUM');
920 }
921 return $vatSum;
922 }

◆ hasMeaningfulField()

hasMeaningfulField ( )
inherited
Возвращает
bool

См. определение в файле orderbase.php строка 2086

2087 {
2089 }

◆ initField()

initField (   $name,
  $value 
)
inherited

См. определение в файле orderbase.php строка 589

590 {
591 if ($this->isCalculatedField($name))
592 {
593 $this->calculatedFields->set($name, $value);
594 }
595
596 if ($name === 'ID')
597 {
598 $this->isNew = false;
599 }
600
601 parent::initField($name, $value);
602 }

◆ isAllowDelivery()

isAllowDelivery ( )
inherited

Return TRUE, if order is allowed delivery. Else return FALSE

Возвращает
bool

См. определение в файле orderbase.php строка 1953

1954 {
1955 return $this->getField('ALLOW_DELIVERY') === 'Y';
1956 }

◆ isCalculatedField()

isCalculatedField (   $field)
protectedinherited
Аргументы
$field
Возвращает
bool

См. определение в файле orderbase.php строка 1039

1040 {
1041 if ($this->calculatedFields == null )
1042 {
1043 $this->calculatedFields = new Internals\Fields();
1044 }
1045
1046 return (in_array($field, static::getCalculatedFields()));
1047 }

◆ isCanceled()

isCanceled ( )
inherited

Return TRUE, if order is canceled. Else return FALSE

Возвращает
bool

См. определение в файле orderbase.php строка 1973

1974 {
1975 return $this->getField('CANCELED') === 'Y';
1976 }

◆ isChanged()

isChanged ( )
Возвращает
bool

См. определение в файле order.php строка 1955

1956 {
1957 if (parent::isChanged())
1958 {
1959 return true;
1960 }
1961
1962 if ($this->getPaymentCollection()->isChanged())
1963 {
1964 return true;
1965 }
1966
1967 if ($this->getShipmentCollection()->isChanged())
1968 {
1969 return true;
1970 }
1971
1972 return false;
1973 }
getShipmentCollection()
Definition: order.php:758

◆ isClone()

isClone ( )
inherited

Return TRUE, if this order is cloned. Else return FALSE

Возвращает
bool

См. определение в файле orderbase.php строка 1933

1934 {
1935 return $this->isClone;
1936 }

◆ isDeducted()

isDeducted ( )
inherited

Return TRUE, if order is deducted. Else return FALSE

Возвращает
bool

См. определение в файле orderbase.php строка 1963

1964 {
1965 return $this->getField('DEDUCTED') === 'Y';
1966 }

◆ isExists()

static isExists (   $id)
staticprotectedinherited
Аргументы
$id
Возвращает
bool
Исключения
Main

NotImplementedException

См. определение в файле orderbase.php строка 2304

2305 {
2306 $dbRes = static::getList(array('filter' => array('ID' => $id)));
2307 if ($dbRes->fetch())
2308 return true;
2309
2310 return false;
2311 }

◆ isExternal()

isExternal ( )
inherited

Return TRUE if order is external. Else return FALSE

Возвращает
bool

См. определение в файле orderbase.php строка 1030

1031 {
1032 return $this->getField('EXTERNAL_ORDER') == "Y";
1033 }

◆ isMarked()

isMarked ( )
inherited

Return TRUE if order has problems. Else return FALSE

Возвращает
null|string

См. определение в файле orderbase.php строка 928

929 {
930 return $this->getField('MARKED') === "Y";
931 }

◆ isMathActionOnly()

isMathActionOnly ( )
inherited

Return TRUE if calculations are based on current values. Data from the provider is not requested. Else return false

Возвращает
bool

См. определение в файле orderbase.php строка 2078

2079 {
2081 }

◆ isNew()

isNew ( )
inherited

См. определение в файле orderbase.php строка 1857

1858 {
1859 return $this->isNew;
1860 }

◆ isPaid()

isPaid ( )
inherited

Return TRUE, if order is payed. Else return FALSE

Возвращает
bool

См. определение в файле orderbase.php строка 1943

1944 {
1945 return $this->getField('PAYED') === 'Y';
1946 }

◆ isSaveRunning()

isSaveRunning ( )
inherited
Возвращает
bool

См. определение в файле orderbase.php строка 157

158 {
160 }

◆ isShipped()

isShipped ( )
Возвращает
bool

Переопределяет метод предка OrderBase.

См. определение в файле order.php строка 906

907 {
908 return $this->getShipmentCollection()->isShipped();
909 }

◆ isStartField()

isStartField (   $isMeaningfulField = false)
inherited
Аргументы
bool$isMeaningfulField
Возвращает
bool

См. определение в файле orderbase.php строка 2106

2107 {
2108 if ($this->isStartField === null)
2109 {
2110 $this->isStartField = true;
2111 }
2112 else
2113 {
2114 $this->isStartField = false;
2115 }
2116
2117 if ($isMeaningfulField === true)
2118 {
2119 $this->isMeaningfulField = true;
2120 }
2121
2122 return $this->isStartField;
2123 }

◆ isUsedVat()

isUsedVat ( )
inherited

Return TRUE if VAT is used. Else return FALSE

Возвращает
bool

См. определение в файле orderbase.php строка 881

882 {
883 $useVat = $this->getField('USE_VAT');
884 if ($useVat === null)
885 {
886 $this->refreshVat();
887 }
888
889 return $this->getField('USE_VAT') === 'Y';
890 }

◆ load()

static load (   $id)
staticinherited

Load order object by id

Аргументы
int$id
Возвращает
null|static
Исключения
Main

ArgumentNullException

См. определение в файле orderbase.php строка 253

254 {
255 $id = (int)$id;
256 if ($id <= 0)
257 {
258 throw new Main\ArgumentNullException("id");
259 }
260
261 $filter = [
262 'filter' => ['ID' => $id],
263 'select' => ['*'],
264 ];
265
266 $list = static::loadByFilter($filter);
267 if (!empty($list) && is_array($list))
268 {
269 return reset($list);
270 }
271
272 return null;
273 }

◆ loadByAccountNumber()

static loadByAccountNumber (   $value)
staticinherited

Load object order by account number

Аргументы
$value
Возвращает
mixed|null
Исключения
Main

ArgumentException

Исключения
Main

ArgumentNullException

Исключения
Main

NotImplementedException

См. определение в файле orderbase.php строка 345

346 {
347 if (trim($value) == '')
348 {
349 throw new Main\ArgumentNullException("value");
350 }
351
352 $parameters = [
353 'filter' => ['=ACCOUNT_NUMBER' => $value],
354 'select' => ['*'],
355 ];
356
357 $list = static::loadByFilter($parameters);
358
359 return reset($list);
360 }

◆ loadFromDb()

static loadFromDb ( array  $parameters)
staticprotectedinherited
Аргументы
array$parameters
Возвращает
Main\DB\Result
Исключения
Main

NotImplementedException

См. определение в файле orderbase.php строка 367

368 {
369 return static::getList($parameters);
370 }

◆ loadPaymentCollection()

loadPaymentCollection ( )
inherited

◆ loadPrintedChecks()

loadPrintedChecks ( )
protected
Возвращает
array
Исключения
Main

ArgumentException

См. определение в файле order.php строка 85

86 {
87 $result = [];
88
89 $dbRes = Cashbox\CheckManager::getList([
90 'filter' => [
91 '=ORDER_ID' => $this->getId()
92 ]
93 ]);
94
95 while ($data = $dbRes->fetch())
96 {
97 $result[] = Cashbox\CheckManager::create($data);
98 }
99
100 return $result;
101 }

◆ loadShipmentCollection()

loadShipmentCollection ( )
inherited

◆ lock()

static lock (   $id)
static

Lock order.

Аргументы
int$idOrder id.
Возвращает
Entity\UpdateResult|Result
Исключения

Exception

См. определение в файле order.php строка 1753

1754 {
1755 global $USER;
1756
1757 $result = new Result();
1758 $id = (int)$id;
1759 if ($id <= 0)
1760 {
1761 $result->addError( new ResultError(Loc::getMessage('SALE_ORDER_WRONG_ID'), 'SALE_ORDER_WRONG_ID') );
1762 return $result;
1763 }
1764
1765 return static::updateInternal($id, array(
1766 'DATE_LOCK' => new Main\Type\DateTime(),
1767 'LOCKED_BY' => (is_object($USER) ? $USER->GetID(): false)
1768 ));
1769 }

◆ normalize()

static normalize ( array &  $data)
staticprotectedinherited

Normalize data before prepare. Convert fields list into complex structure.

Аргументы
array&$data
Возвращает
void

См. определение в файле entity.php строка 560

560 : void
561 {
562 $result = [
563 'fields' => [],
564 'external_fields' => [],
565 'actions' => []
566 ];
567
568 if (isset($data['fields']) && is_array($data['fields']))
569 {
570 $result['fields'] = $data['fields'];
571 if (isset($data['external_fields']) && is_array($data['external_fields']))
572 $result['external_fields'] = $data['external_fields'];
573 if (isset($data['actions']) && is_array($data['actions']))
574 $result['actions'] = $data['actions'];
575 }
576 else
577 {
578 $result['fields'] = $data;
579 }
580
581 $data = $result;
582 unset($result);
583 }

◆ onAfterBasketRefresh()

onAfterBasketRefresh ( )
inherited

См. определение в файле orderbase.php строка 1831

1832 {
1833 return new Result();
1834 }

◆ onAfterSave()

onAfterSave ( )
protected
Возвращает
Result

Переопределяет метод предка OrderBase.

См. определение в файле order.php строка 2140

2141 {
2142 $result = parent::onAfterSave();
2143 if (!$result->isSuccess())
2144 {
2145 return $result;
2146 }
2147
2148 global $CACHE_MANAGER;
2149
2150 if (defined("CACHED_b_sale_order")
2151 && (
2152 $this->isNew
2153 || (
2154 $this->isChanged()
2155 && $this->getField("UPDATED_1C") != "Y"
2156 )
2157 )
2158 )
2159 {
2160 $CACHE_MANAGER->Read(CACHED_b_sale_order, "sale_orders");
2161 $CACHE_MANAGER->SetImmediate("sale_orders", true);
2162 }
2163
2164 return $result;
2165 }

◆ onBasketModify()

onBasketModify (   $action,
BasketItemBase  $basketItem,
  $name = null,
  $oldValue = null,
  $value = null 
)

Modify basket.

Аргументы
string$action
BasketItemBase$basketItem
null$name
null$oldValue
null$value
Возвращает
Result
Исключения
Main

ArgumentException

Исключения
Main

ArgumentNullException

Исключения
Main

ArgumentOutOfRangeException

Исключения
Main

NotImplementedException

Исключения
Main

NotSupportedException

Исключения
Main

ObjectNotFoundException

Исключения
Main

SystemException

См. определение в файле order.php строка 1176

1177 {
1178 $result = new Result();
1179
1180 if ($action === EventActions::DELETE)
1181 {
1182 $r = parent::onBasketModify($action, $basketItem, $name, $oldValue, $value);
1183 if (!$r->isSuccess())
1184 {
1185 $result->addErrors($r->getErrors());
1186 return $result;
1187 }
1188
1189 return $result;
1190 }
1191 elseif ($action === EventActions::ADD)
1192 {
1193 if ($basketItem->getField('ORDER_ID'))
1194 {
1195 return $result;
1196 }
1197
1198 return $this->getShipmentCollection()->onBasketModify($action, $basketItem, $name, $oldValue, $value);
1199 }
1200 elseif ($action !== EventActions::UPDATE)
1201 {
1202 return $result;
1203 }
1204
1205 if ($name === "QUANTITY")
1206 {
1207 $r = parent::onBasketModify($action, $basketItem, $name, $oldValue, $value);
1208 if (!$r->isSuccess())
1209 {
1210 $result->addErrors($r->getErrors());
1211 return $result;
1212 }
1213
1214 $r = $this->getShipmentCollection()->onBasketModify($action, $basketItem, $name, $oldValue, $value);
1215 if (!$r->isSuccess())
1216 {
1217 $result->addErrors($r->getErrors());
1218 return $result;
1219 }
1220 elseif ($r->hasWarnings())
1221 {
1222 $result->addWarnings($r->getWarnings());
1223 }
1224
1225 return $result;
1226 }
1227 elseif ($name === "PRICE")
1228 {
1229 $r = parent::onBasketModify($action, $basketItem, $name, $oldValue, $value);
1230 if (!$r->isSuccess())
1231 {
1232 $result->addErrors($r->getErrors());
1233 return $result;
1234 }
1235
1236 if ($this->getId() === 0 && !$this->isMathActionOnly())
1237 {
1238 return $this->getShipmentCollection()->onBasketModify($action, $basketItem, $name, $oldValue, $value);
1239 }
1240 }
1241 elseif ($name === 'WEIGHT')
1242 {
1243 return $this->getShipmentCollection()->onBasketModify($action, $basketItem, $name, $oldValue, $value);
1244 }
1245 else
1246 {
1247 $r = parent::onBasketModify($action, $basketItem, $name, $oldValue, $value);
1248 if (!$r->isSuccess())
1249 {
1250 $result->addErrors($r->getErrors());
1251 return $result;
1252 }
1253 }
1254
1255 return $result;
1256 }

◆ onBeforeBasketItemDelete()

onBeforeBasketItemDelete ( BasketItem  $basketItem)

См. определение в файле order.php строка 1139

1140 {
1141 $result = new Result();
1142
1143 $r = $this->getShipmentCollection()->onBeforeBasketItemDelete($basketItem);
1144 if (!$r->isSuccess())
1145 {
1146 return $result->addErrors($r->getErrors());
1147 }
1148
1149 $r = $this->getPaymentCollection()->onBeforeBasketItemDelete($basketItem);
1150 if (!$r->isSuccess())
1151 {
1152 return $result->addErrors($r->getErrors());
1153 }
1154
1155
1156 return $result;
1157 }

◆ onBeforeBasketRefresh()

onBeforeBasketRefresh ( )
Возвращает
Result

Переопределяет метод предка OrderBase.

См. определение в файле order.php строка 1261

1262 {
1263 $result = new Result();
1264
1265 $r = $this->getShipmentCollection()->tryUnreserve();
1266 if (!$r->isSuccess())
1267 {
1268 $result->addErrors($r->getErrors());
1269 }
1270
1271 return $result;
1272 }

◆ onBeforeSave()

onBeforeSave ( )
protectedinherited
Возвращает
Result

См. определение в файле orderbase.php строка 2435

2436 {
2437 return new Result();
2438 }

◆ onFieldModify()

onFieldModify (   $name,
  $oldValue,
  $value 
)
protected
Аргументы
string$name
float | int | mixed | string$oldValue
float | int | mixed | string$value
Возвращает
Result
Исключения
Main

ArgumentException

Исключения
Main

ArgumentNullException

Исключения
Main

ArgumentOutOfRangeException

Исключения
Main

NotImplementedException

Исключения
Main

NotSupportedException

Исключения
Main

ObjectNotFoundException

См. определение в файле order.php строка 1055

1056 {
1057 $result = parent::onFieldModify($name, $oldValue, $value);
1058
1059 if ($name == "PRICE")
1060 {
1061 $r = $this->getShipmentCollection()->onOrderModify($name, $oldValue, $value);
1062 if (!$r->isSuccess())
1063 {
1064 return $result->addErrors($r->getErrors());
1065 }
1066
1067 $r = $this->getPaymentCollection()->onOrderModify($name, $oldValue, $value);
1068 if (!$r->isSuccess())
1069 {
1070 return $result->addErrors($r->getErrors());
1071 }
1072
1073 $r = $this->syncOrderAndPayments();
1074 if (!$r->isSuccess())
1075 {
1076 $result->addErrors($r->getErrors());
1077 }
1078 }
1079 elseif($name == "MARKED")
1080 {
1081 global $USER;
1082
1083 if (is_object($USER))
1084 {
1085 $this->setField('EMP_MARKED_ID', $USER->GetID());
1086 }
1087
1088 $this->setField('DATE_MARKED', new Main\Type\DateTime());
1089
1090 $r = $this->getShipmentCollection()->onOrderModify($name, $oldValue, $value);
1091 if (!$r->isSuccess())
1092 {
1093 return $result->addErrors($r->getErrors());
1094 }
1095 }
1096
1097 return $result;
1098 }

◆ onOrderModify()

onOrderModify (   $name,
  $oldValue,
  $value 
)
protected
Аргументы
$name
$oldValue
$value
Возвращает
Result
Исключения
Main

NotSupportedException

Исключения
Main

ObjectNotFoundException

Переопределяет метод предка OrderBase.

См. определение в файле order.php строка 1108

1109 {
1110 $result = new Result();
1111
1112 $r = $this->getPaymentCollection()->onOrderModify($name, $oldValue, $value);
1113 if (!$r->isSuccess())
1114 {
1115 return $result->addErrors($r->getErrors());
1116 }
1117
1118 $r = $this->getShipmentCollection()->onOrderModify($name, $oldValue, $value);
1119 if (!$r->isSuccess())
1120 {
1121 return $result->addErrors($r->getErrors());
1122 }
1123
1124 return $result;
1125 }

◆ onPropertyValueCollectionModify()

onPropertyValueCollectionModify (   $action,
EntityPropertyValue  $property,
  $name = null,
  $oldValue = null,
  $value = null 
)
inherited

См. определение в файле orderbase.php строка 647

648 {
649 return new Result();
650 }

◆ onTradeBindingCollectionModify()

onTradeBindingCollectionModify (   $action,
TradeBindingEntity  $entity,
  $name = null,
  $oldValue = null,
  $value = null 
)

См. определение в файле order.php строка 596

597 {
598 if ($action === EventActions::ADD)
599 {
600 if (
601 $entity->getId() === 0
602 && $entity->getField('TRADING_PLATFORM_ID') > 0
603 )
604 {
605 $this->propertyCollection = $this->loadPropertyCollection();
606 }
607 }
608 elseif ($action === EventActions::UPDATE)
609 {
610 if ($name === 'TRADING_PLATFORM_ID')
611 {
612 $this->propertyCollection = $this->loadPropertyCollection();
613 }
614 }
615
616 return new Result();
617 }

◆ prepareFloatValue()

static prepareFloatValue (   $value)
staticprotectedinherited

См. определение в файле entity.php строка 974

974 : ?float
975 {
976 if ($value === null)
977 {
978 return null;
979 }
980
981 $result = null;
982 if (is_string($value))
983 {
984 if ($value !== '' && is_numeric($value))
985 {
986 $value = (float)$value;
987 if (is_finite($value))
988 {
989 $result = $value;
990 }
991 }
992 }
993 else
994 {
995 if (is_int($value))
996 {
997 $value = (float)$value;
998 }
999 if (
1000 is_float($value) && is_finite($value)
1001 )
1002 {
1003 $result = $value;
1004 }
1005 }
1006
1007 return $result;
1008 }

◆ prepareForAdd()

static prepareForAdd ( ORM\Data\AddResult  $result,
  $id,
array &  $data 
)
staticprotectedinherited

Check and modify fields before add entity item. Need for entity automation.

Аргументы
ORM\Data\AddResult$result
int | null$id
array&$data
Возвращает
void

Переопределяется в Price, Product и Vat.

См. определение в файле entity.php строка 495

495 : void
496 {
497 $data = static::getEntity()->checkTabletWhiteList($data);
498 if (empty($data))
499 {
500 $result->addError(new ORM\EntityError(sprintf(
501 'Empty data for add in entity `%s`',
502 get_called_class()
503 )));
504 }
505 }

◆ prepareForUpdate()

static prepareForUpdate ( ORM\Data\UpdateResult  $result,
  $id,
array &  $data 
)
staticprotectedinherited

Check and modify fields before update entity item. Need for entity automation.

Аргументы
ORM\Data\UpdateResult$result
int$id
array&$data
Возвращает
void

Переопределяется в Price, Product и Vat.

См. определение в файле entity.php строка 515

515 : void
516 {
517 $data = static::getEntity()->checkTabletWhiteList($data);
518 if (empty($data))
519 {
520 $result->addError(new ORM\EntityError(sprintf(
521 'Empty data for update in entity `%s`',
522 get_called_class()
523 )));
524 }
525 }

◆ prepareIntValue()

static prepareIntValue (   $value)
staticprotectedinherited

См. определение в файле entity.php строка 1010

1010 : ?int
1011 {
1012 if ($value === null)
1013 {
1014 return null;
1015 }
1016
1017 $result = null;
1018 if (is_string($value))
1019 {
1020 if ($value !== '' && is_numeric($value))
1021 {
1022 $result = (int)$value;
1023 }
1024 }
1025 elseif (is_int($value))
1026 {
1027 $result = $value;
1028 }
1029
1030 return $result;
1031 }

◆ prepareStringValue()

static prepareStringValue (   $value)
staticprotectedinherited

См. определение в файле entity.php строка 1033

1033 : ?string
1034 {
1035 if (is_string($value))
1036 {
1037 return trim($value) ?: null;
1038 }
1039
1040 return null;
1041 }

◆ refreshInternal()

refreshInternal ( )
protected
Возвращает
Result
Исключения
Main

ArgumentException

Исключения
Main

ArgumentNullException

Исключения
Main

ArgumentOutOfRangeException

Исключения
Main

NotImplementedException

Исключения
Main

NotSupportedException

См. определение в файле order.php строка 1689

1690 {
1691 $result = parent::refreshInternal();
1692 if (!$result->isSuccess())
1693 {
1694 return $result;
1695 }
1696
1697 return $this->getShipmentCollection()->refreshData();
1698 }

◆ refreshVat()

refreshVat ( )
inherited

См. определение в файле orderbase.php строка 951

952 {
953 $this->resetVat();
954
955 $vatInfo = $this->calculateVat();
956 if ($vatInfo && $vatInfo['VAT_RATE'] > 0)
957 {
958 return $this->applyCalculatedVat($vatInfo);
959 }
960
961 return new Result();
962 }

◆ resetData()

resetData (   $select = array('PRICE'))
Аргументы
array$select
Исключения
Main

ArgumentException

Исключения
Main

ArgumentNullException

Исключения
Main

ArgumentOutOfRangeException

Переопределяет метод предка OrderBase.

См. определение в файле order.php строка 625

626 {
627 $this->getShipmentCollection()->resetData();
628
629 parent::resetData($select);
630 }

◆ resetTax()

resetTax ( )
inherited

Reset the value of taxes

См. определение в файле orderbase.php строка 1867

1868 {
1869 $this->setFieldNoDemand('TAX_PRICE', 0);
1870 $this->setFieldNoDemand('TAX_VALUE', 0);
1871 }

◆ resetVat()

resetVat ( )
protectedinherited

Clear VAT info

Исключения
Main

ArgumentOutOfRangeException

См. определение в файле orderbase.php строка 937

938 {
939 $this->setFieldNoDemand('USE_VAT', 'N');
940 $this->setFieldNoDemand('VAT_RATE', 0);
941
942 $this->setFieldNoDemand('VAT_SUM', 0);
943 $this->setFieldNoDemand('VAT_DELIVERY', 0);
944 }

◆ runAddExternalActions()

static runAddExternalActions (   $id,
array  $data 
)
staticprotectedinherited

Run core automation after add entity item.

Аргументы
int$id
array$data
Возвращает
void

Переопределяется в Price и Product.

См. определение в файле entity.php строка 592

592: void {}

◆ runDeleteExternalActions()

static runDeleteExternalActions (   $id)
staticprotectedinherited

Run core automation after delete entity item.

Аргументы
int$id
Возвращает
void

Переопределяется в Price и Product.

См. определение в файле entity.php строка 609

609: void {}

◆ runUpdateExternalActions()

static runUpdateExternalActions (   $id,
array  $data 
)
staticprotectedinherited

Run core automation after update entity item.

Аргументы
int$id
array$data
Возвращает
void

Переопределяется в Price и Product.

См. определение в файле entity.php строка 601

601: void {}

◆ saveEntities()

saveEntities ( )
protectedinherited
Возвращает
Result
Исключения
Main

ArgumentException

Исключения
Main

ArgumentNullException

Исключения
Main

NotImplementedException

Исключения
Main

ObjectNotFoundException

Исключения
Main

ObjectPropertyException

Исключения
Main

SystemException

См. определение в файле orderbase.php строка 1467

1468 {
1469 $result = new Result();
1470
1471 $r = $this->getBasket()->save();
1472 if (!$r->isSuccess())
1473 {
1474 $result->addWarnings($r->getErrors());
1475 }
1476
1477 $r = $this->getTax()->save();
1478 if (!$r->isSuccess())
1479 {
1480 $result->addWarnings($r->getErrors());
1481 }
1482
1483 $r = $this->getPropertyCollection()->save();
1484 if (!$r->isSuccess())
1485 {
1486 $result->addWarnings($r->getErrors());
1487 }
1488
1489 return $result;
1490 }

◆ setAccountNumber()

setAccountNumber ( )
protectedinherited

Set account number.

Исключения
Main

ArgumentNullException

Исключения
Main

ArgumentOutOfRangeException

Исключения
Main

NotImplementedException

Исключения
Main

SystemException

См. определение в файле orderbase.php строка 1500

1501 {
1502 $accountNumber = Internals\AccountNumberGenerator::generateForOrder($this);
1503 if ($accountNumber !== false)
1504 {
1505 $this->setField('ACCOUNT_NUMBER', $accountNumber);
1506
1507 static::updateInternal($this->getId(), ['ACCOUNT_NUMBER' => $accountNumber]);
1508 }
1509 }

◆ setBasket()

setBasket ( BasketBase  $basket)
Аргументы
BasketBase$basket
Возвращает
Result
Исключения
Main

ArgumentException

Исключения
Main

ArgumentNullException

Исключения
Main

ArgumentOutOfRangeException

Исключения
Main

NotSupportedException

Исключения
Main

ObjectNotFoundException

См. определение в файле order.php строка 653

654 {
655 $result = new Result();
656
657 $isStartField = $this->isStartField();
658
659 $r = parent::setBasket($basket);
660 if (!$r->isSuccess())
661 {
662 $result->addErrors($r->getErrors());
663 return $result;
664 }
665
666 $result = $this->getShipmentCollection()->resetCollection();
667 if (!$r->isSuccess())
668 {
669 $result->addErrors($r->getErrors());
670 return $result;
671 }
672
673 if (!$this->isMathActionOnly())
674 {
675 $r = $this->refreshData();
676 if (!$r->isSuccess())
677 {
678 $result->addErrors($r->getErrors());
679 }
680 }
681
682 if ($isStartField)
683 {
684 $hasMeaningfulFields = $this->hasMeaningfulField();
685
686 $r = $this->doFinalAction($hasMeaningfulFields);
687 if (!$r->isSuccess())
688 {
689 $result->addErrors($r->getErrors());
690 }
691 }
692
693 return $result;
694 }

◆ setCacheItem()

static setCacheItem (   $id,
array  $row 
)
staticinherited

Fill item cache data. Do not use without good reason.

Аргументы
int$id
array$row
Возвращает
void

См. определение в файле entity.php строка 381

381 : void
382 {
383 $id = (int)$id;
384 if ($id <= 0 || empty($row))
385 return;
386 static::getEntity()->setEntityCacheItem($id, $row, false);
387 }

◆ setField()

setField (   $name,
  $value 
)
inherited

Set value with call events on field modify

Аргументы
$name
$value
Возвращает
Result
Исключения
Main

ArgumentNullException

Исключения
Main

ArgumentOutOfRangeException

Исключения
Main

NotImplementedException

См. определение в файле orderbase.php строка 464

465 {
466 $priceFields = array(
467 'PRICE' => 'PRICE',
468 'PRICE_DELIVERY' => 'PRICE_DELIVERY',
469 'SUM_PAID' => 'SUM_PAID',
470 'PRICE_PAYMENT' => 'PRICE_PAYMENT',
471 'DISCOUNT_VALUE' => 'DISCOUNT_VALUE',
472 );
473 if (isset($priceFields[$name]))
474 {
475 $value = PriceMaths::roundPrecision($value);
476 }
477
478 if ($this->isCalculatedField($name))
479 {
480 $this->calculatedFields->set($name, $value);
481 return new Result();
482 }
483
484 return parent::setField($name, $value);
485 }

◆ setFieldNoDemand()

setFieldNoDemand (   $name,
  $value 
)
inherited

См. определение в файле orderbase.php строка 527

528 {
529 $priceFields = array(
530 'PRICE' => 'PRICE',
531 'PRICE_DELIVERY' => 'PRICE_DELIVERY',
532 'SUM_PAID' => 'SUM_PAID',
533 'PRICE_PAYMENT' => 'PRICE_PAYMENT',
534 'DISCOUNT_VALUE' => 'DISCOUNT_VALUE',
535 );
536 if (isset($priceFields[$name]))
537 {
538 $value = PriceMaths::roundPrecision($value);
539 }
540
541 if ($this->isCalculatedField($name))
542 {
543 $this->calculatedFields->set($name, $value);
544 return;
545 }
546
547 if (!$this->fields->isChanged("UPDATED_1C") && $name != 'UPDATED_1C')
548 {
549 $this->setField("UPDATED_1C", "N");
550 }
551
552 if ($this->isSaveExecuting === false)
553 {
554 if ($name === 'ID')
555 {
556 $this->isNew = false;
557 }
558 }
559
560 parent::setFieldNoDemand($name, $value);
561 }

◆ setMathActionOnly()

setMathActionOnly (   $value = false)
inherited

См. определение в файле orderbase.php строка 2132

2133 {
2134 $this->isOnlyMathAction = $value;
2135 }

◆ setPersonTypeId()

setPersonTypeId (   $personTypeId)
inherited

Set person type id of order

Аргументы
$personTypeId
Возвращает
Result

См. определение в файле orderbase.php строка 734

735 {
736 return $this->setField('PERSON_TYPE_ID', intval($personTypeId));
737 }

◆ setVatDelivery()

setVatDelivery (   $price)
inherited

Set VAT delivery sum

Аргументы
$price

См. определение в файле orderbase.php строка 1526

1527 {
1528 $this->setField('VAT_DELIVERY', $price);
1529 }

◆ setVatSum()

setVatSum (   $price)
inherited

Set VAT sum

Аргументы
$price

См. определение в файле orderbase.php строка 1516

1517 {
1518 $this->setField('VAT_SUM', $price);
1519 }

◆ toArray()

toArray ( )
Возвращает
array
Исключения
Main

ArgumentException

Исключения
Main

SystemException

Переопределяет метод предка OrderBase.

См. определение в файле order.php строка 2457

2457 : array
2458 {
2459 $result = parent::toArray();
2460
2461 $result['PAYMENTS'] = $this->getPaymentCollection()->toArray();
2462 $result['SHIPMENTS'] = $this->getShipmentCollection()->toArray();
2463 $result['TRADE_BINDINGS'] = $this->getTradeBindingCollection()->toArray();
2464
2465 return $result;
2466 }

◆ unlock()

static unlock (   $id)
static

Unlock order.

Аргументы
int$idOrder id.
Возвращает
Entity\UpdateResult|Result
Исключения
Main

ArgumentNullException

Исключения

Exception

См. определение в файле order.php строка 1779

1780 {
1781 global $USER;
1782
1783 $result = new Result();
1784 $id = (int)$id;
1785 if ($id <= 0)
1786 {
1787 $result->addError( new ResultError(Loc::getMessage('SALE_ORDER_WRONG_ID'), 'SALE_ORDER_WRONG_ID') );
1788 return $result;
1789 }
1790
1791 if(!$order = static::load($id))
1792 {
1793 $result->addError( new ResultError(Loc::getMessage('SALE_ORDER_ENTITY_NOT_FOUND'), 'SALE_ORDER_ENTITY_NOT_FOUND') );
1794 return $result;
1795 }
1796
1797 $userRights = \CMain::getUserRight("sale", $USER->getUserGroupArray(), "Y", "Y");
1798
1799 if (($userRights >= "W") || ($order->getField("LOCKED_BY") == $USER->getID()))
1800 {
1801 return static::updateInternal($id, array(
1802 'DATE_LOCK' => null,
1803 'LOCKED_BY' => null
1804 ));
1805 }
1806
1807 return $result;
1808 }

◆ update() [1/2]

static update (   $id,
array  $data 
)
staticinherited

Update entity item. Use instead of DataManager method.

Аргументы
int$id
array$data
Возвращает
ORM\Data\UpdateResult

См. определение в файле entity.php строка 229

230 {
231 $result = new ORM\Data\UpdateResult();
232
233 $entity = static::getEntity();
234
235 static::normalize($data);
236
237 if (Event::existEventHandlers($entity, ORM\Data\DataManager::EVENT_ON_BEFORE_UPDATE))
238 {
239 $event = new Event(
240 $entity,
241 ORM\Data\DataManager::EVENT_ON_BEFORE_UPDATE,
242 [
243 'id' => $id,
244 'fields' => $data['fields'],
245 'external_fields' => $data['external_fields'],
246 'actions' => $data['actions']
247 ]
248 );
249 $event->send();
250
251 $event->mergeData($data);
252 if ($event->getErrors($result))
253 return $result;
254 }
255
256 static::prepareForUpdate($result, $id, $data);
257 if (!$result->isSuccess())
258 return $result;
259 unset($result);
260
261 if (Event::existEventHandlers($entity, ORM\Data\DataManager::EVENT_ON_UPDATE))
262 {
263 $event = new Event(
264 $entity,
265 ORM\Data\DataManager::EVENT_ON_UPDATE,
266 [
267 'id' => $id,
268 'fields' => $data['fields'],
269 'external_fields' => $data['external_fields'],
270 'actions' => $data['actions']
271 ]
272 );
273 $event->send();
274 unset($event);
275 }
276
277 $result = $entity->getTablet()->update($id, $data['fields']);
278 $success = $result->isSuccess();
279 if ($success)
280 {
281 $data['fields'] = $result->getData();
282 if ($entity->fieldsCount > 0)
283 $entity->modifyEntityCacheItem($id, $data['fields']);
284 }
285
286 if (Event::existEventHandlers($entity, ORM\Data\DataManager::EVENT_ON_AFTER_UPDATE))
287 {
288 $event = new Event(
289 $entity,
290 ORM\Data\DataManager::EVENT_ON_AFTER_UPDATE,
291 [
292 'id' => $id,
293 'fields' => $data['fields'],
294 'external_fields' => $data['external_fields'],
295 'actions' => $data['actions'],
296 'success' => $success
297 ]
298 );
299 $event->send();
300 unset($event);
301 }
302
303 if ($success && !empty($data['actions']))
304 static::runUpdateExternalActions($id, $data);
305
306 unset($success, $entity);
307
308 return $result;
309 }

◆ update() [2/2]

update ( )
protectedinherited
Возвращает
Result
Исключения
Main

ArgumentOutOfRangeException

Исключения
Main

NotImplementedException

См. определение в файле orderbase.php строка 1335

1336 {
1337 $result = new Result();
1338
1339 $fields = $this->fields->getChangedValues();
1340
1341 if ($this->isChanged())
1342 {
1343 if (array_key_exists('DATE_UPDATE', $fields) && $fields['DATE_UPDATE'] === null)
1344 {
1345 unset($fields['DATE_UPDATE']);
1346 }
1347
1348 $fields['VERSION'] = intval($this->getField('VERSION')) + 1;
1349 $this->setFieldNoDemand('VERSION', $fields['VERSION']);
1350
1351 if (array_key_exists('REASON_MARKED', $fields) && mb_strlen($fields['REASON_MARKED']) > 255)
1352 {
1353 $fields['REASON_MARKED'] = mb_substr($fields['REASON_MARKED'], 0, 255);
1354 }
1355
1356 $r = static::updateInternal($this->getId(), $fields);
1357
1358 if (!$r->isSuccess())
1359 {
1360 return $result->addErrors($r->getErrors());
1361 }
1362
1363 if ($resultData = $r->getData())
1364 {
1365 $result->setData($resultData);
1366 }
1367 }
1368
1369 return $result;
1370 }

◆ updateInternal()

static updateInternal (   $primary,
array  $data 
)
staticprotected
Аргументы
$primary
array$data
Возвращает
Entity\UpdateResult
Исключения

Exception

Переопределяет метод предка OrderBase.

См. определение в файле order.php строка 2354

2355 {
2356 return Internals\OrderTable::update($primary, $data);
2357 }

◆ verify()

verify ( )
Возвращает
Result
Исключения
Main

ArgumentException

Исключения
Main

ArgumentNullException

Исключения
Main

ArgumentOutOfRangeException

Исключения
Main

NotSupportedException

Исключения
Main

ObjectNotFoundException

См. определение в файле order.php строка 1874

1875 {
1876 $result = parent::verify();
1877
1878 $r = $this->getPaymentCollection()->verify();
1879 if (!$r->isSuccess())
1880 {
1881 $result->addErrors($r->getErrors());
1882 }
1883
1884 $r = $this->getShipmentCollection()->verify();
1885 if (!$r->isSuccess())
1886 {
1887 $result->addErrors($r->getErrors());
1888 }
1889
1890 return $result;
1891 }

Поля

◆ $basketCollection

BasketBase $basketCollection
protectedinherited

См. определение в файле orderbase.php строка 28

◆ $calculatedFields

$calculatedFields = null
protectedinherited

См. определение в файле orderbase.php строка 25

◆ $calculateType

null string $calculateType = null
protectedinherited

См. определение в файле orderbase.php строка 62

◆ $discount

Discount $discount = null
protectedinherited

См. определение в файле orderbase.php строка 34

◆ $internalId

$internalId = 0
protectedinherited

См. определение в файле orderbase.php строка 40

◆ $isClone

bool $isClone = false
protectedinherited

См. определение в файле orderbase.php строка 49

◆ $isMeaningfulField

bool $isMeaningfulField = false
protectedinherited

См. определение в файле orderbase.php строка 55

◆ $isNew

bool $isNew = true
protectedinherited

См. определение в файле orderbase.php строка 43

◆ $isOnlyMathAction

bool $isOnlyMathAction = null
protectedinherited

См. определение в файле orderbase.php строка 52

◆ $isSaveExecuting

$isSaveExecuting = false
protectedinherited

См. определение в файле orderbase.php строка 46

◆ $isStartField

bool $isStartField = null
protectedinherited

См. определение в файле orderbase.php строка 58

◆ $paymentCollection

$paymentCollection
protected

См. определение в файле order.php строка 25

◆ $printedChecks

array $printedChecks = array()
protected

См. определение в файле order.php строка 31

◆ $propertyCollection

PropertyValueCollectionBase $propertyCollection
protectedinherited

См. определение в файле orderbase.php строка 31

◆ $shipmentCollection

$shipmentCollection
protected

См. определение в файле order.php строка 22

◆ $tax

Tax $tax = null
protectedinherited

См. определение в файле orderbase.php строка 37

◆ $tradeBindingCollection

$tradeBindingCollection
protected

См. определение в файле order.php строка 28

◆ EVENT_ON_BUILD_CACHED_FIELD_LIST

const EVENT_ON_BUILD_CACHED_FIELD_LIST = 'OnBuildCachedFieldList'
inherited

См. определение в файле entity.php строка 15

◆ FIELDS_ALL

const FIELDS_ALL = self::FIELDS_MAIN|self::FIELDS_UF
inherited

См. определение в файле entity.php строка 19

◆ FIELDS_MAIN

const FIELDS_MAIN = 0x0001
inherited

См. определение в файле entity.php строка 17

◆ FIELDS_UF

const FIELDS_UF = 0x0002
inherited

См. определение в файле entity.php строка 18

◆ PREFIX_OLD

const PREFIX_OLD = 'OLD_'
inherited

См. определение в файле entity.php строка 13

◆ SALE_ORDER_CALC_TYPE_CHANGE

const SALE_ORDER_CALC_TYPE_CHANGE = 'C'
inherited

См. определение в файле orderbase.php строка 65

◆ SALE_ORDER_CALC_TYPE_NEW

const SALE_ORDER_CALC_TYPE_NEW = 'N'
inherited

См. определение в файле orderbase.php строка 64

◆ SALE_ORDER_CALC_TYPE_REFRESH

const SALE_ORDER_CALC_TYPE_REFRESH = 'R'
inherited

См. определение в файле orderbase.php строка 66

◆ SALE_ORDER_LOCK_STATUS_GREEN

const SALE_ORDER_LOCK_STATUS_GREEN = 'green'

См. определение в файле order.php строка 35

◆ SALE_ORDER_LOCK_STATUS_RED

const SALE_ORDER_LOCK_STATUS_RED = 'red'

См. определение в файле order.php строка 34

◆ SALE_ORDER_LOCK_STATUS_YELLOW

const SALE_ORDER_LOCK_STATUS_YELLOW = 'yellow'

См. определение в файле order.php строка 36


Объявления и описания членов класса находятся в файле: