38 $params = $documentImport->getFieldValues();
43 rsort($availableFields);
45 foreach ($availableFields as
$k)
62 case 'PAY_VOUCHER_DATE':
63 if(isset(
$params[
'REK_VALUES'][
'1C_PAYED_DATE']))
66 case 'PAY_VOUCHER_NUM':
67 if(isset(
$params[
'REK_VALUES'][
'1C_PAYED_NUM']))
74 if(isset(
$params[
'REK_VALUES'][
'1C_PAYED']))
75 $payed =
$params[
'REK_VALUES'][
'1C_PAYED'];
76 if(isset(
$params[
'REK_VALUES'][
'CANCEL']))
85 if(isset(
$params[
'REK_VALUES'][
'1C_RETURN']))
87 $value =
$params[
'REK_VALUES'][
'1C_RETURN'];
92 case 'PAY_RETURN_COMMENT':
93 if(isset(
$params[
'REK_VALUES'][
'1C_RETURN_REASON']))
99 case 'CASH_BOX_CHECKS':
102 foreach(
$params[
$k] as $property=>$value)
107 $cashBoxChecks[$property] = $value;
110 $cashBoxChecks[
'LINK_PARAMS'][
'URL'] = $value;
112 case 'CASHBOX_FISCAL_SIGN':
113 $cashBoxChecks[
'LINK_PARAMS'][
'FISCAL_SIGN'] = $value;
115 case 'CASHBOX_REG_NUMBER_KKT':
116 $cashBoxChecks[
'LINK_PARAMS'][
'REG_NUMBER_KKT'] = $value;
125 $result[
'CASH_BOX_CHECKS'] = isset($cashBoxChecks)? $cashBoxChecks:
array();
134 public function getPaySystemId(
$fields)
137 if(isset(
$fields[
'PAY_SYSTEM_ID']))
139 $paySystemId =
$fields[
'PAY_SYSTEM_ID'];
144 if(isset(
$fields[
'PAY_SYSTEM_ID_DEFAULT']))
146 $paySystemId =
$fields[
'PAY_SYSTEM_ID_DEFAULT'];
154 $paySystemId =
$settings->paySystemIdFor($this->getEntityTypeId());
159 $paySystemId =
$settings->paySystemIdDefaultFor($this->getEntityTypeId());
172 throw new ArgumentException(
"Entity must be instanceof Payment");
184 case 'PAY_SYSTEM_ID':
187 unset(
$fields[
'PAY_SYSTEM_ID']);
206 $businessValue =
$fields[
'BUSINESS_VALUE'];
207 $checks =
$fields[
'CASH_BOX_CHECKS'] ?? [];
214 foreach ($availableFields as
$k=>$v)
220 $value = ($traits[
'ID_1C']<>
'' ? $traits[
'ID_1C']:$traits[
'ID']);
227 $value = $traits[
'DATE_BILL'];
236 $replaceCurrency =
$settings->getReplaceCurrency();
237 $value = mb_substr($replaceCurrency <>
''? $replaceCurrency : $traits[
$k], 0, 3);
239 case 'CURRENCY_RATE':
240 $value = self::CURRENCY_RATE_DEFAULT;
246 $value = $traits[
'VERSION'];
249 $value = $traits[
'ORDER_ID'];
252 $value = $traits[
'COMMENTS'];
254 case 'CASH_BOX_CHECKS':
262 foreach($v[
'FIELDS'] as
$name=>$fieldInfo)
267 case '1C_PAYED_DATE':
268 $valueRV = $traits[
'DATE_PAID'];
271 $valueRV = $traits[
'PAY_VOUCHER_NUM'];
276 case 'PAY_SYSTEM_ID':
277 $valueRV = $traits[
'PAY_SYSTEM_ID'];
280 $valueRV = $traits[
'PAY_SYSTEM_NAME'];
283 $valueRV = $traits[
'PAID'];
286 $valueRV = $traits[
'IS_RETURN'];
288 case 'PAY_RETURN_REASON':
289 $valueRV = $traits[
'PAY_RETURN_COMMENT'];
292 $valueRV =
'['.$traits[
'LID'].
'] '.static::getSiteNameByLid($traits[
'LID']);
295 $value = array_merge($value, $this->externalizeRekv($businessValue[
$name], $fieldInfo));
300 $value[] = $this->externalizeRekvValue(
$name, $valueRV, $fieldInfo);
305 if(!in_array(
$k,
array(
'REK_VALUES',
'CASH_BOX_CHECKS')))
307 $this->externalizeField($value, $v);
324 foreach($fieldsInfo[
'FIELDS'] as
$name=>$fieldInfo)
331 $this->externalizeField($value, $fieldInfo);
335 foreach ($fieldInfo[
'FIELDS'] as $nameProp=>$fieldInfoProp)
340 $value =
'PRINT_CHECK';
346 $this->externalizeField($value, $fieldInfoProp);
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)