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