- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/paysystem/cashbox/events/deletecashboxesondisabledfiscalization.php
- Класс: BitrixSalePaySystemCashboxEventsDeleteCashboxesOnDisabledFiscalization
- Вызов: DeleteCashboxesOnDisabledFiscalization::executeEvent
public function executeEvent(): SaleResult
{
$result = new SaleResult();
if (!$this->service || !$this->service->isSupportPrintCheck())
{
return $result;
}
$cashboxList = SaleCashboxManager::getList([
'select' => ['ID', 'KKM_ID'],
'filter' => [
'=HANDLER' => $this->service->getCashboxClass(),
'=KKM_ID' => $this->kkmId,
],
]);
foreach ($cashboxList as $cashboxItem)
{
$cashboxId = $cashboxItem['ID'];
$serviceCashbox = SaleCashboxManager::getObjectById($cashboxId);
if (SaleCashboxManager::isCashboxChecksExist($cashboxId))
{
SaleCashboxManager::deactivateCashbox($cashboxId);
}
else
{
$deleteResult = SaleCashboxManager::delete($cashboxId);
if ($deleteResult->isSuccess())
{
AddEventToStatFile('sale', 'deleteCashbox', '', $serviceCashbox::getCode());
}
else
{
$result->addErrors($deleteResult->getErrors());
}
}
}
return $result;
}