• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/cashbox/cashboxorangedata.php
  • Класс: BitrixSaleCashboxCashboxOrangeData
  • Вызов: CashboxOrangeData::buildCorrectionCheckQuery
public function buildCorrectionCheckQuery(CorrectionCheck $check)
{
	$data = $this->getCheckData($check);

	$calculatedSignMap = $this->getCalculatedSignMap();

	$result = [
		'id' => static::buildUuid(static::UUID_TYPE_CHECK, $data['unique_id']),
		'inn' => $this->getValueFromSettings('SERVICE', 'INN'),
		'group' => $this->getField('NUMBER_KKM') ?: null,
		'key' => $this->getValueFromSettings('SECURITY', 'KEY_SIGN') ?: null,
		'content' => [
			'type' => $calculatedSignMap[$data['calculated_sign']],
			'correctionType' => $this->getCorrectionTypeMap($data['correction_info']['type']),
			'causeDocumentDate' => $this->getCorrectionCauseDocumentDate($data['correction_info']),
			'causeDocumentNumber' => $this->getCorrectionCauseDocumentNumber($data['correction_info']),
			'totalSum' => $this->getCorrectionTotalSum($data['correction_info']),
			'taxationSystem' => $this->getValueFromSettings('TAX', 'SNO')
		],
	];

	foreach ($data['payments'] as $payment)
	{
		if ($payment['type'] === Check::PAYMENT_TYPE_CASH)
		{
			$result['content']['cashSum'] = (float)$payment['sum'];
		}
		else
		{
			$result['content']['eCashSum'] = (float)$payment['sum'];
		}
	}

	$vats = $this->getVatsByCheckData($data);
	if (is_array($vats))
	{
		foreach ($vats as $vat)
		{
			$result['content'][$vat['code']] = $vat['value'];
		}
	}

	return $result;
}