addCorrection
\Bitrix\Sale\Result public static \Bitrix\Sale\Cashbox\CheckManager::addCorrection( mixed $type, mixed $cashboxId, array $correction );
Метод создает чек коррекции и передает его выбранной кассе для немедленной печати. Статический метод.
Параметры
| Параметр | Описание |
|---|---|
$type |
Тип класса чека коррекции, например значение CorrectionSellCheck::getType(). |
$cashboxId |
Идентификатор активной кассы, которая поддерживает чеки коррекции. |
$correction |
Поля коррекции: тип операции, номер и дата документа, описание, массив оплат и массив ставок НДС. |
Возвращаемое значение
Метод возвращает объект \Bitrix\Sale\Result. При успешном сохранении результат содержит идентификатор чека. Ошибки возвращаются при недоступности коррекции, неверном типе чека, несовместимых ставках НДС или ошибке сохранения.
Особенности
Массив $correction поддерживает ключи:
CORRECTION_TYPE— причина коррекции:CorrectionCheck::CORRECTION_TYPE_SELFилиCorrectionCheck::CORRECTION_TYPE_INSTRUCTION;DOCUMENT_NUMBER— номер документа-основания;DOCUMENT_DATE— дата документа;DESCRIPTION— описание коррекции;CORRECTION_PAYMENT— массив оплат с ключамиTYPEиSUM;CORRECTION_VAT— массив сумм НДС с ключамиTYPEиSUM. Нельзя одновременно передавать ставки 20 и 22.
Исключения
Метод может выбросить \Bitrix\Main\ArgumentException при неизвестном поле коррекции и \Bitrix\Main\SystemException, если выбранная касса не поддерживает чеки коррекции.
Пример
<?php
use Bitrix\Main\Loader;
use Bitrix\Sale\Cashbox\Check;
use Bitrix\Sale\Cashbox\CheckManager;
use Bitrix\Sale\Cashbox\CorrectionCheck;
use Bitrix\Sale\Cashbox\CorrectionSellCheck;
if (!Loader::includeModule('sale'))
{
throw new RuntimeException('Не удалось подключить модуль sale');
}
// Идентификатор кассы с поддержкой чеков коррекции
$cashboxId = 3;
$correction = [
'CORRECTION_TYPE' => CorrectionCheck::CORRECTION_TYPE_SELF,
'DOCUMENT_NUMBER' => 'CORR-2026-001',
'DOCUMENT_DATE' => '24.07.2026',
'DESCRIPTION' => 'Исправление суммы расчета',
'CORRECTION_PAYMENT' => [
[
'TYPE' => Check::PAYMENT_TYPE_CASHLESS,
'SUM' => 1500.00,
],
],
'CORRECTION_VAT' => [
[
'TYPE' => 20,
'SUM' => 250.00,
],
],
];
// Метод создаст чек коррекции и отправит его на печать
$result = CheckManager::addCorrection(
CorrectionSellCheck::getType(),
$cashboxId,
$correction
);
if (!$result->isSuccess())
{
print_r($result->getErrorMessages());
return;
}
echo 'Идентификатор чека коррекции: ' . $result->getId();
© «Битрикс», 2001-2026, «1С-Битрикс», 2026