- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/cashbox/cashboxbitrix.php
- Класс: BitrixSaleCashboxCashboxBitrix
- Вызов: CashboxBitrix::saveCashbox
static function saveCashbox(array $cashbox)
{
if (isset($cashbox['ID']) && (int)$cashbox['ID'] > 0)
{
if ($cashbox['ENABLED'] !== $cashbox['PRESENTLY_ENABLED'])
{
Manager::update($cashbox['ID'], array('ENABLED' => $cashbox['PRESENTLY_ENABLED']));
if ($cashbox['PRESENTLY_ENABLED'] === 'N')
{
static::showAlarmMessage($cashbox['ID']);
}
}
$fields = array('DATE_LAST_CHECK' => new MainTypeDateTime());
if (isset($cashbox['SETTINGS']))
{
$fields['SETTINGS'] = $cashbox['SETTINGS'];
}
if (isset($cashbox['HANDLER']))
{
$fields['HANDLER'] = $cashbox['HANDLER'];
}
Manager::update($cashbox['ID'], $fields);
}
else
{
$result = Manager::add(
array(
'ACTIVE' => 'N',
'DATE_CREATE' => new MainTypeDateTime(),
'NAME' => static::getName(),
'NUMBER_KKM' => $cashbox['NUMBER_KKM'],
'HANDLER' => $cashbox['HANDLER'],
'ENABLED' => $cashbox['PRESENTLY_ENABLED'],
'DATE_LAST_CHECK' => new MainTypeDateTime(),
'EMAIL' => self::getCashboxDefaultEmail(),
)
);
if ($result->isSuccess())
{
if ($cashbox['PRESENTLY_ENABLED'] === 'N')
{
static::showAlarmMessage($result->getId());
}
InternalsCashboxZReportTable::add(array(
'STATUS' => 'Y',
'CASHBOX_ID' => $result->getId(),
'DATE_CREATE' => new MainTypeDateTime(),
'DATE_PRINT_START' => new MainTypeDateTime(),
'LINK_PARAMS' => '',
'CASH_SUM' => $cashbox['CACHE'],
'CASHLESS_SUM' => $cashbox['INCOME'] - $cashbox['CACHE'],
'CUMULATIVE_SUM' => $cashbox['NZ_SUM'],
'RETURNED_SUM' => 0,
'CURRENCY' => 'RUB',
'DATE_PRINT_END' => new MainTypeDateTime()
));
}
}
}