См. определение в файле converterdocumentshipment.php строка 20
◆ externalize()
externalize |
( |
array |
$fields | ) |
|
См. определение в файле converterdocumentshipment.php строка 173
177 $traits = $fields[
'TRAITS'];
178 $items = $fields[
'ITEMS'];
179 $stories = isset($fields[
'STORIES']) ? $fields[
'STORIES']: array();
180 $taxes = $fields[
'TAXES'];
181 $businessValue = $fields[
'BUSINESS_VALUE'];
186 $settings = $this->getSettings();
188 foreach ($availableFields as $k=>$v)
194 $value = ($traits[
'ID_1C']<>
'' ? $traits[
'ID_1C']:$traits[
'ID']);
197 $value = $traits[
'ID'];
200 $value = $traits[
'DATE_INSERT'];
209 $replaceCurrency = $settings->getReplaceCurrency();
210 $value = substr($replaceCurrency<>
'' ? $replaceCurrency:$traits[$k], 0, 3);
212 case 'CURRENCY_RATE':
213 $value = self::CURRENCY_RATE_DEFAULT;;
217 foreach ($items as $item)
220 $price = $price + $item[
'PRICE'] * $item[
'QUANTITY'];
223 $value = $price + $traits[
'PRICE_DELIVERY'];
227 $value = $traits[
'VERSION'];
230 $value = $traits[
'ORDER_ID'];
237 if(count($stories)>0)
241 $value = $traits[
'DATE_INSERT'];
244 $value = $traits[
'COMMENTS'];
252 foreach($v[
'FIELDS'] as $name=>$fieldInfo)
257 case 'PRICE_DELIVERY':
258 $valueRV = (strlen($traits[
'PRICE_DELIVERY'])>0? $traits[
'PRICE_DELIVERY']:
"0.0000");
260 case 'DATE_ALLOW_DELIVERY':
261 case 'DELIVERY_LOCATION':
262 case 'DATE_DEDUCTED':
263 case 'REASON_UNDO_DEDUCTED':
265 case 'REASON_MARKED':
266 case 'TRACKING_NUMBER':
267 $valueRV = $traits[$name];
270 $valueRV = $traits[
'CANCELED'];
272 case 'DELIVERY_SYSTEM_ID':
273 $valueRV = $traits[
'DELIVERY_ID'];
275 case 'DELIVERY_STATUS':
276 $valueRV = $traits[
'STATUS_ID'];
278 case 'DELIVERY_DEDUCTED':
279 $valueRV = $traits[
'DEDUCTED'];
282 $valueRV = $traits[
'DELIVERY_NAME'];
284 case 'DELIVERY_DATE_CANCEL':
285 $valueRV = $traits[
'DATE_CANCELED'];
287 case 'CANCEL_REASON':
288 $valueRV = $traits[
'REASON_CANCELED'];
291 $valueRV =
'['.$traits[
'LID'].
'] '.static::getSiteNameByLid($traits[
'LID']);
294 $value = array_merge($value, $this->externalizeRekv($businessValue[$name], $fieldInfo));
297 if(!in_array($name, array(
'REKV')))
299 $value[] = $this->externalizeRekvValue($name, $valueRV, $fieldInfo);
304 if(!in_array($k, array(
'TAXES',
'STORES',
'ITEMS',
'REK_VALUES')))
306 $this->externalizeField($value, $v);
309 $result[$k] = $value;
311 $result = $this->modifyTrim($result);
◆ externalizeItems()
externalizeItems |
( |
array |
$taxes, |
|
|
array |
$info |
|
) |
| |
◆ externalizeStories()
externalizeStories |
( |
array |
$stories, |
|
|
array |
$info |
|
) |
| |
◆ externalizeTaxes()
externalizeTaxes |
( |
array |
$items, |
|
|
array |
$info |
|
) |
| |
◆ getBasePriceDelivery()
getBasePriceDelivery |
( |
|
$list = [] | ) |
|
|
protected |
◆ getFieldsInfo()
◆ resolveParams()
resolveParams |
( |
|
$documentImport | ) |
|
- Аргументы
-
- Возвращает
- array
- Исключения
-
См. определение в файле converterdocumentshipment.php строка 35
37 if(!($documentImport instanceof DocumentBase))
38 throw new ArgumentException(
"Document must be instanceof DocumentBase");
42 $params = $documentImport->getFieldValues();
46 foreach ($availableFields as $k)
52 if(isset($params[$k]))
53 $fields[$k] = $params[$k];
56 if(isset($params[
'COMMENT']))
57 $fields[$k] = $params[
'COMMENT'];
59 case 'DELIVERY_DOC_DATE':
60 if(isset($params[
'1C_DATE']))
61 $fields[$k] = $params[
'1C_DATE'];
63 case 'DELIVERY_DOC_NUM':
64 if(isset($params[
'REK_VALUES'][
'1C_DELIVERY_NUM']))
65 $fields[$k] = $params[
'REK_VALUES'][
'1C_DELIVERY_NUM'];
71 if(isset($params[
'REK_VALUES'][
'DEDUCTED']))
72 $deducted = $params[
'REK_VALUES'][
'DEDUCTED'];
73 if(isset($params[
'REK_VALUES'][
'CANCEL']))
74 $cancel = $params[
'REK_VALUES'][
'CANCEL'];
78 elseif($cancel ==
'Y')
81 case 'ALLOW_DELIVERY':
83 if(isset($params['REK_VALUES']['DEDUCTED']))
84 $value = $params['REK_VALUES']['DEDUCTED'];
89 case 'TRACKING_NUMBER':
90 if(isset($params['REK_VALUES']['1C_TRACKING_NUMBER']))
91 $fields[$k] = $params['REK_VALUES']['1C_TRACKING_NUMBER'];
93 case 'BASE_PRICE_DELIVERY':
97 $deliverySystemId = 0;
98 if(isset($params['REK_VALUES']['DELIVERY_SYSTEM_ID']))
100 $deliverySystemId = $params[
'REK_VALUES'][
'DELIVERY_SYSTEM_ID'];
103 if($deliverySystemId<=0)
105 if(isset($params[
'REK_VALUES'][
'DELIVERY_SYSTEM_ID_DEFAULT']))
107 $deliverySystemId = $params[
'REK_VALUES'][
'DELIVERY_SYSTEM_ID_DEFAULT'];
112 $settings = $this->getSettings();
114 if($deliverySystemId<=0)
116 $deliverySystemId = $settings->shipmentServiceFor($this->getEntityTypeId());
119 if($deliverySystemId<=0)
121 $deliverySystemId = $settings->shipmentServiceDefaultFor($this->getEntityTypeId());
124 $fields[$k] = $deliverySystemId;
129 $result[
'TRAITS'] = isset($fields)? $fields:array();
130 $result[
'ITEMS'] = isset($params[
'ITEMS'])? $this->modifyItemIdByItemName($params[
'ITEMS']):array();
131 $result[
'TAXES'] = isset($params[
'TAXES'])? $params[
'TAXES']:array();
◆ sanitizeFields()
static sanitizeFields |
( |
|
$shipment = null , |
|
|
array & |
$fields, |
|
|
ISettings |
$settings |
|
) |
| |
|
static |
- Аргументы
-
- Исключения
-
См. определение в файле converterdocumentshipment.php строка 141
143 if(!empty($shipment) && !($shipment instanceof Shipment))
144 throw new ArgumentException(
"Entity must be instanceof Shipment");
146 foreach($fields as $k=>$v)
150 case 'BASE_PRICE_DELIVERY':
151 if((!empty($shipment)? $shipment->getPrice():
'') != $v)
154 $fields[
'CURRENCY'] = $settings->getCurrency();
155 $fields[
'CUSTOM_PRICE_DELIVERY'] =
"Y";
159 unset($fields[
'BASE_PRICE_DELIVERY']);
163 if(!empty($shipment))
165 unset($fields[
'DELIVERY_ID']);
170 unset($fields[
'ID']);
Объявления и описания членов класса находятся в файле: