- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/cashbox/cashboxbitrixv2.php
- Класс: BitrixSaleCashboxCashboxBitrixV2
- Вызов: CashboxBitrixV2::buildCheckQuery
public function buildCheckQuery(Check $check)
{
$data = $check->getDataForCheck();
/** @var MainTypeDateTime $dateTime */
$dateTime = $data['date_create'];
$phone = NormalizePhone($data['client_phone']);
if (is_string($phone))
{
if ($phone[0] === '7')
$phone = '+'.$phone;
}
else
{
$phone = '';
}
$client = $data['client_email'];
if ($this->getValueFromSettings('CLIENT', 'INFO') === 'PHONE'
&& $phone
)
{
$client = $phone;
}
$result = [
'type' => $check::getCalculatedSign() === Check::CALCULATED_SIGN_INCOME ? 'sell' : 'sellReturn',
'timestamp' => $dateTime->format('d.m.Y H:i:s'),
'external_id' => static::buildUuid(static::UUID_TYPE_CHECK, $data['unique_id']),
'taxationType' => $this->getValueFromSettings('TAX', 'SNO'),
'zn' => (string)$this->getField('NUMBER_KKM'),
'clientInfo' => [
'emailOrPhone' => $client,
],
'payments' => [],
'items' => [],
'total' => (float)$data['total_sum']
];
foreach ($data['payments'] as $payment)
{
$result['payments'][] = [
'type' => $this->getValueFromSettings('PAYMENT_TYPE', $payment['type']),
'sum' => (float)$payment['sum']
];
}
foreach ($data['items'] as $item)
{
$result['items'][] = $this->buildPosition($data, $item);
}
return $result;
}