diff --git a/src/AtolOnline/Entities/ItemArray.php b/src/AtolOnline/Entities/ItemArray.php index 55d82cd..059f243 100644 --- a/src/AtolOnline/Entities/ItemArray.php +++ b/src/AtolOnline/Entities/ItemArray.php @@ -106,7 +106,7 @@ class ItemArray extends Entity protected function validateCount(?array $items = null): bool { if ((!empty($items) && count($items) >= self::MAX_COUNT) || count($this->items) >= self::MAX_COUNT) { - throw new AtolTooManyItemsException(self::MAX_COUNT); + throw new AtolTooManyItemsException(count($items), self::MAX_COUNT); } return true; } diff --git a/src/AtolOnline/Entities/PaymentArray.php b/src/AtolOnline/Entities/PaymentArray.php index 27e9b7d..f30920a 100644 --- a/src/AtolOnline/Entities/PaymentArray.php +++ b/src/AtolOnline/Entities/PaymentArray.php @@ -9,7 +9,6 @@ namespace AtolOnline\Entities; -use AtolOnline\Api\SellSchema; use AtolOnline\Exceptions\AtolTooManyPaymentsException; /** @@ -19,6 +18,11 @@ use AtolOnline\Exceptions\AtolTooManyPaymentsException; */ class PaymentArray extends Entity { + /** + * Максимальное количество элементов массива + */ + public const MAX_COUNT = 10; + /** * @var Payment[] Массив оплат */ @@ -99,9 +103,8 @@ class PaymentArray extends Entity */ protected function validateCount(?array $payments = null): bool { - $max_items = SellSchema::get()->properties->receipt->properties->payments->maxItems; - if ((!empty($payments) && count($payments) >= $max_items) || count($this->payments) >= $max_items) { - throw new AtolTooManyPaymentsException($max_items); + if ((!empty($payments) && count($payments) >= self::MAX_COUNT) || count($this->payments) >= self::MAX_COUNT) { + throw new AtolTooManyPaymentsException(count($payments), self::MAX_COUNT); } return true; } diff --git a/src/AtolOnline/Entities/VatArray.php b/src/AtolOnline/Entities/VatArray.php index 391fe4a..c292127 100644 --- a/src/AtolOnline/Entities/VatArray.php +++ b/src/AtolOnline/Entities/VatArray.php @@ -9,7 +9,6 @@ namespace AtolOnline\Entities; -use AtolOnline\Api\SellSchema; use AtolOnline\Exceptions\AtolTooManyVatsException; /** @@ -19,6 +18,11 @@ use AtolOnline\Exceptions\AtolTooManyVatsException; */ class VatArray extends Entity { + /** + * Максимальное количество элементов массива + */ + public const MAX_COUNT = 6; + /** * @var Vat[] Массив ставок НДС */ @@ -103,9 +107,8 @@ class VatArray extends Entity */ protected function validateCount(?array $vats = null): bool { - $max_items = SellSchema::get()->properties->receipt->properties->vats->maxItems; - if ((!empty($vats) && count($vats) >= $max_items) || count($this->vats) >= $max_items) { - throw new AtolTooManyVatsException(count($vats), $max_items); + if ((!empty($vats) && count($vats) >= self::MAX_COUNT) || count($this->vats) >= self::MAX_COUNT) { + throw new AtolTooManyVatsException(count($vats), self::MAX_COUNT); } return true; }