• Модуль: 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;
}