• Модуль: 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;
}