В функции getVatRate допущена ошибка
[CODE]public function getVatRate()
{
$vatRate = 0;
$service = $this->getDelivery();
if ($service)
{
if (!Main\Loader::includeModule('catalog'))
{
return $vatRate;
}
$vatId = $service->getVatId();
if ($vatId <= 0)
{
return $vatRate;
}
$dbRes = VatTable::getById($vatId);
$vatInfo = $dbRes->fetch();
if ($vatInfo)
{
$vatRate = $vatInfo['RATE'] / 100;
}
}
return $vatRate;
}
[/CODE]
В частности в строках [CODE]$vatInfo = $dbRes->fetch();
if ($vatInfo)
{
$vatRate = $vatInfo['RATE'] / 100;
}[/CODE]Если $vatInfo['RATE'] будет равен NULL, то при делении $vatRate получит значение 0
Предлагаю использовать проверку на тип null [COLOR=#333333][FONT=ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace][SIZE=12px]
[/SIZE][/FONT][/COLOR][CODE]$vatRate = is_null($vatInfo['RATE']) ? $vatInfo['RATE'] : $vatInfo['RATE'] / 100;[/CODE]
[CODE]public function getVatRate()
{
$vatRate = 0;
$service = $this->getDelivery();
if ($service)
{
if (!Main\Loader::includeModule('catalog'))
{
return $vatRate;
}
$vatId = $service->getVatId();
if ($vatId <= 0)
{
return $vatRate;
}
$dbRes = VatTable::getById($vatId);
$vatInfo = $dbRes->fetch();
if ($vatInfo)
{
$vatRate = $vatInfo['RATE'] / 100;
}
}
return $vatRate;
}
[/CODE]
В частности в строках [CODE]$vatInfo = $dbRes->fetch();
if ($vatInfo)
{
$vatRate = $vatInfo['RATE'] / 100;
}[/CODE]Если $vatInfo['RATE'] будет равен NULL, то при делении $vatRate получит значение 0
Предлагаю использовать проверку на тип null [COLOR=#333333][FONT=ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace][SIZE=12px]
[/SIZE][/FONT][/COLOR][CODE]$vatRate = is_null($vatInfo['RATE']) ? $vatInfo['RATE'] : $vatInfo['RATE'] / 100;[/CODE]