getPrintableChecks
array public static \Bitrix\Sale\Cashbox\CheckManager::getPrintableChecks( array $cashboxIds, array $orderIds = [] );
Метод выбирает очередь чеков для указанных касс и переводит новые чеки в состояние печати. Повторно выбираются чеки, время ожидания которых превышает установленный интервал. Статический метод.
Параметры
| Параметр | Описание |
|---|---|
$cashboxIds |
Массив идентификаторов касс, для которых нужно получить очередь. |
$orderIds |
Массив идентификаторов заказов для дополнительного ограничения выборки. По умолчанию фильтр по заказам не применяется. |
Возвращаемое значение
Метод возвращает массив данных чеков с ключом по идентификатору чека. В каждый элемент добавляется CASHBOX_LIST со списком доступных касс и выбранный CASHBOX_ID. За один вызов возвращается не более пяти уникальных чеков.
Особенности
Метод блокирует конкурентную выборку очереди на уровне соединения с базой данных. Для новых чеков он сохраняет статус P, время начала печати и выбранную кассу.
Исключения
Метод может выбросить \Bitrix\Main\ArgumentException, \Bitrix\Main\Db\SqlQueryException, \Bitrix\Main\ObjectException, \Bitrix\Main\SystemException и другие исключения при выполнении запроса и обновлении чеков.
Пример
<?php
use Bitrix\Main\Loader;
use Bitrix\Sale\Cashbox\CheckManager;
if (!Loader::includeModule('sale'))
{
throw new RuntimeException('Не удалось подключить модуль sale');
}
// Идентификаторы касс, которые забирают очередь на печать
$cashboxIds = [2, 3];
// Необязательное ограничение по существующим заказам
$orderIds = [100];
// Метод переведет выбранные чеки в состояние печати
$checks = CheckManager::getPrintableChecks($cashboxIds, $orderIds);
print_r($checks);