• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/cashbox/check.php
  • Класс: BitrixSaleCashboxCheck
  • Вызов: Check::validate
public function validate()
{
	$result = new Result();

	$data = $this->extractData();

	if (!isset($data['PRODUCTS']))
	{
		$result->addError(new MainError(MainLocalizationLoc::getMessage('SALE_CASHBOX_CHECK_ERROR_NO_PRODUCTS')));
	}
	else
	{
		$errors = [];

		foreach ($data['PRODUCTS'] as $product)
		{
			if (isset($product['MARKING_CODE']) && $product['MARKING_CODE'] === '')
			{
				if (isset($errors[$product['PRODUCT_ID']]))
				{
					continue;
				}

				$errors[$product['PRODUCT_ID']] = new MainError(
					MainLocalizationLoc::getMessage(
						'SALE_CASHBOX_CHECK_ERROR_NO_NOMENCLATURE_CODE',
						[
							'#PRODUCT_NAME#' => $product['NAME']
						]
					)
				);
			}
		}

		if ($errors)
		{
			$result->addErrors($errors);
		}
	}

	if (!$this->isCorrectSum($data))
	{
		$result->addError(new MainError(MainLocalizationLoc::getMessage('SALE_CASHBOX_CHECK_ERROR_CHECK_SUM')));
	}

	if (!isset($data['BUYER']) || !$data['BUYER'])
	{
		$result->addError(new MainError(MainLocalizationLoc::getMessage('SALE_CASHBOX_CHECK_ERROR_NO_BUYER_INFO')));
	}

	return $result;
}