3namespace Bitrix\Sale\Rest\Entity;
6use Bitrix\Sale\Rest\Attributes;
15 'TYPE' => self::TYPE_INT,
21 'TYPE' => self::TYPE_INT,
28 'TYPE' => self::TYPE_CHAR,
30 'BASE_PRICE_DELIVERY' => [
31 'TYPE' => self::TYPE_FLOAT,
34 'TYPE' => self::TYPE_FLOAT,
37 'TYPE' => self::TYPE_CHAR,
42 'DATE_ALLOW_DELIVERY' => [
43 'TYPE' => self::TYPE_DATETIME,
48 'EMP_ALLOW_DELIVERY_ID' => [
49 'TYPE' => self::TYPE_INT,
55 'TYPE' => self::TYPE_CHAR,
61 'TYPE' => self::TYPE_DATETIME,
66 'EMP_DEDUCTED_ID' => [
67 'TYPE' => self::TYPE_INT,
72 'REASON_UNDO_DEDUCTED' => [
73 'TYPE' => self::TYPE_STRING,
79 'TYPE' => self::TYPE_INT,
84 'DELIVERY_DOC_NUM' => [
85 'TYPE' => self::TYPE_STRING,
87 'DELIVERY_DOC_DATE' => [
88 'TYPE' => self::TYPE_DATETIME,
90 'TRACKING_NUMBER' => [
91 'TYPE' => self::TYPE_STRING,
94 'TYPE' => self::TYPE_STRING,
97 'TYPE' => self::TYPE_STRING,
103 'TYPE' => self::TYPE_INT,
106 'TYPE' => self::TYPE_CHAR,
112 'TYPE' => self::TYPE_DATETIME,
118 'TYPE'=>self::TYPE_INT,
124 'TYPE' => self::TYPE_STRING,
130 'TYPE' => self::TYPE_CHAR,
136 'TYPE' => self::TYPE_DATETIME,
141 'EMP_CANCELED_ID' => [
142 'TYPE' => self::TYPE_INT,
147 'RESPONSIBLE_ID' => [
148 'TYPE' => self::TYPE_INT,
150 'DATE_RESPONSIBLE_ID' => [
151 'TYPE' => self::TYPE_DATETIME,
156 'EMP_RESPONSIBLE_ID' => [
157 'TYPE' => self::TYPE_INT,
163 'TYPE' => self::TYPE_STRING,
166 'TYPE' => self::TYPE_STRING,
171 'CUSTOM_PRICE_DELIVERY' => [
172 'TYPE' => self::TYPE_CHAR,
178 'TYPE' => self::TYPE_CHAR,
183 'EXTERNAL_DELIVERY' => [
184 'TYPE' => self::TYPE_CHAR,
190 'TYPE' => self::TYPE_STRING,
196 'TYPE' => self::TYPE_STRING,
201 'TRACKING_STATUS' => [
202 'TYPE' => self::TYPE_STRING,
207 'TRACKING_LAST_CHECK' => [
208 'TYPE' => self::TYPE_STRING,
213 'TRACKING_DESCRIPTION' => [
214 'TYPE' => self::TYPE_STRING,
219 'DISCOUNT_PRICE' => [
220 'TYPE' => self::TYPE_FLOAT,
226 'TYPE' => self::TYPE_DATETIME,
232 'TYPE' => self::TYPE_CHAR,
238 'TYPE' => self::TYPE_CHAR,
243 'DELIVERY_XML_ID' => [
244 'TYPE' => self::TYPE_STRING,
249 'ACCOUNT_NUMBER' => [
250 'TYPE' => self::TYPE_STRING,
255 'SHIPMENT_ITEMS' => [
256 'TYPE' => self::TYPE_LIST,
269 $fieldsInfo = empty($fieldsInfo)? $this->
getFields():$fieldsInfo;
273 if(isset(
$fields[
'ORDER'][
'ID']))
276 if(isset(
$fields[
'ORDER'][
'SHIPMENTS']))
278 foreach (
$fields[
'ORDER'][
'SHIPMENTS'] as
$k=>$item)
281 $this->
isNewItem($item)? $listFieldsInfoAdd:$listFieldsInfoUpdate
284 if(isset($item[
'SHIPMENT_ITEMS']))
286 $result[
'ORDER'][
'SHIPMENTS'][
$k][
'SHIPMENT_ITEMS'] = $shipmentItem->internalizeFieldsModify([
'SHIPMENT'=>[
'SHIPMENT_ITEMS'=>$item[
'SHIPMENT_ITEMS']]])[
'SHIPMENT'][
'SHIPMENT_ITEMS'];
298 'REFERENCE_FIELD'=>
'STATUS_TABLE.XML_ID'
301 'REFERENCE_FIELD'=>
'DELIVERY.XML_ID'
308 $shipmentItem = new \Bitrix\Sale\Rest\Entity\ShipmentItem();
312 if(isset(
$fields[
'SHIPMENT_ITEMS']))
313 $result[
'SHIPMENT_ITEMS'] = $shipmentItem->externalizeListFields(
$fields[
'SHIPMENT_ITEMS']);
328 if(!isset(
$fields[
'ORDER'][
'ID']))
330 $emptyFields[] =
'[order][id]';
332 if(!isset(
$fields[
'ORDER'][
'SHIPMENTS']) || !is_array(
$fields[
'ORDER'][
'SHIPMENTS']))
334 $emptyFields[] =
'[order][shipments][]';
337 if(
count($emptyFields)>0)
339 $r->addError(
new Error(
'Required fields: '.implode(
', ', $emptyFields)));
343 $r = parent::checkFieldsModify(
$fields);
358 foreach (
$fields[
'ORDER'][
'SHIPMENTS'] as
$k=>$item)
361 $this->
isNewItem($item)? $listFieldsInfoAdd:$listFieldsInfoUpdate
363 if(!$required->isSuccess())
365 $r->addError(
new Error(
'[shipments]['.
$k.
'] - '.implode(
', ', $required->getErrorMessages()).
'.'));
368 if(isset($item[
'SHIPMENT_ITEMS']))
370 $requiredShipmentItems = $shipmentItem->checkRequiredFieldsModify([
'SHIPMENT'=>[
'SHIPMENT_ITEMS'=>$item[
'SHIPMENT_ITEMS']]]);
371 if(!$requiredShipmentItems->isSuccess())
373 $requiredPShipmentItemsFields = [];
374 foreach ($requiredShipmentItems->getErrorMessages() as
$errorMessage)
376 $requiredPShipmentItemsFields[] =
'[shipments]['.$k.
']'.
$errorMessage;
378 $r->addError(
new Error(implode(
' ', $requiredPShipmentItemsFields)));
387 if(
$name =
'getallowdeliverydate'
388 ||
$name ==
'getallowdeliveryuserid'
389 ||
$name ==
'getcompanyid'
390 ||
$name ==
'getcurrency'
391 ||
$name ==
'getdeliveryid'
392 ||
$name ==
'getdeliveryname'
393 ||
$name ==
'getparentorderid'
394 ||
$name ==
'getpersontypeid'
395 ||
$name ==
'getprice'
396 ||
$name ==
'getphippeddate'
397 ||
$name ==
'getshippeduserId'
398 ||
$name ==
'getstoreid'
399 ||
$name ==
'getunshipreason'
400 ||
$name ==
'getvatrate'
401 ||
$name ==
'getvatsum'
402 ||
$name ==
'getweight'
403 ||
$name ==
'setbasepricedelivery'
407 parent::internalizeArguments(
$name, $arguments);
externalizeListFields($list)
getListFieldInfo(array $fieldsInfo, $params=[])
internalizeFields($fields, array $fieldsInfo)
checkRequiredFields($fields, array $fieldsInfo, $params=[])
externalizeFields($fields)
internalizeArguments($name, $arguments)
checkFieldsModify($fields)
externalizeFieldsModify($fields)
internalizeFieldsModify($fields, $fieldsInfo=[])
checkRequiredFieldsModify($fields)
while($arParentIBlockProperty=$dbParentIBlockProperty->Fetch()) $errorMessage
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"