Документация для разработчиков
Темная тема

addByType

\Bitrix\Sale\Result public static
\Bitrix\Sale\Cashbox\CheckManager::addByType(
	array $entities,
	string $type,
	array $relatedEntities = []
);

Метод создает чек указанного типа для объектов оплаты или отгрузки, проверяет его и сохраняет. Если доступная касса поддерживает немедленную печать, метод отправляет чек на печать. Статический метод.

Параметры

Параметр Описание
$entities Массив объектов \Bitrix\Sale\Payment или \Bitrix\Sale\Shipment, по которым нужно создать чек.
$type Строковый тип чека. Тип должен присутствовать в карте, которую возвращает CheckManager::getCheckTypeMap().
$relatedEntities Связанные оплаты и отгрузки. По умолчанию используется пустой массив.

Возвращаемое значение

Метод возвращает объект \Bitrix\Sale\Result. При успешном сохранении идентификатор чека доступен через getId(). Ошибки содержат причины, по которым чек не создан или не прошел проверку.

Особенности

Метод сохраняет чек и может сразу отправить его в кассу. Перед вызовом объекты должны относиться к одному заказу, а в системе должна быть настроена активная касса.

Исключения

Метод может выбросить \Bitrix\Main\ArgumentTypeException, если переданные объекты относятся к разным заказам или типам реестра.

Пример

<?php

use Bitrix\Main\Loader;

use Bitrix\Sale\Cashbox\CheckManager;
use Bitrix\Sale\Cashbox\SellCheck;
use Bitrix\Sale\Order;

if (!Loader::includeModule('sale'))
{
	throw new RuntimeException('Не удалось подключить модуль sale');
}

// Идентификатор существующего заказа
$orderId = 100;
$order = Order::load($orderId);
if ($order === null)
{
	throw new RuntimeException('Заказ не найден');
}

$payment = $order->getPaymentCollection()->current();
if ($payment === null)
{
	throw new RuntimeException('В заказе нет оплаты');
}

// Метод создаст чек и может отправить его на печать
$result = CheckManager::addByType([$payment], SellCheck::getType());
if (!$result->isSuccess())
{
	print_r($result->getErrorMessages());
	return;
}

echo 'Идентификатор чека: ' . $result->getId();


Была ли эта страница полезна?

Пользовательские комментарии

Помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2026, «1С-Битрикс», 2026
Наверх