О системах планирования ресурсов предприятия Scala, iScala
“ Очень часто я слышал за свою консультационную деятельность: "Ваша Scala/iScala не умеет считать!". Давайте разберёмся, кто на самом деле не умеет считать. Во-первых, Scala или iScala не моя, а Ваша :) Во-вторых, считать, скорее всего не умеет тот, кто подымает этот вопрос, а Scala или iScala вообще ни причём и я готов пояснить это на конкретных примерах
  • Главная
    • О проекте
      • Разъяснение о проекте и его участниках
      • Заявление / Memorandum
    • Новости проекта
    • Список опубликованных материалов основного раздела
    • Информация, перенесённая из старых форумов
    • Подписаться на новостную рассылку
  • Наши услуги
  • Статьи
    • Статьи
    • Избранное
    • Мысли вслух
  • Процедуры
  • Доходчиво о сложном
    • Обучение
    • Как сделать?
    • iScala «для чайников»
    • Оч.умелые ручки
  • Структура таблиц
    • Scala 5.1 SR13
    • iScala 2.2 HF 2.3318
    • Tables structure changes history from iScala 2.2 SR2 to iScala 3.0 FSP4
    • Epicor iScala 2.3 — 2.03.3363
    • Epicor iScala 2.3 SR1
    • Epicor iScala 2.3 SR2
    • Epicor iScala 2.3 SR3
    • Epicor iScala 3.00 FSP 2 — 3.00.02254
    • Epicor iScala 3.0 FSP4 — 3.0.4267
    • Изменение структуры таблиц iScala 3.1 по сравнению с iScala 3.0 FSP4 / Table structure changes between iScala 3.0 FSP4 and iScala 3.1
    • Epicor iScala 3.1 — 3.1.0511
    • Epicor iScala 3.2 — 3.2.0317
    • Epicor iScala 3.3 — 3.3.0419
    • Epicor iScala 3.4 — 3.4.0399
    • Epicor iScala 3.5 — 3.5.0.0429
    • Изменение полей в таблицах БД iScala 3.4 по сравнению с iScala 3.2 / Difference between DB structure of iScala 3.4 and iScala 3.2
    • Изменение полей в таблицах БД iScala 3.5 по сравнению с iScala 2.2 / Difference between DB structure of iScala 3.5 and iScala 2.2
  • Материалы по модулям iScala
    • Главная Книга
    • Основные Средства
    • Книга Закупок
    • Книга Продаж
    • Заказы на Закупку
      • Требования
    • Заказы на Продажу
    • Управление Запасами
    • Установка, Администрирование
      • Настройка определений документов MSRS
    • Заработная плата
    • Структура базы данных
    • Отчётность SSRS
    • Отчётность AFR
    • Примеры отчётов
    • Примеры отчётов AFR
    • Интеграция с другими системами
    • Epicor Service Connect
  • English
  • Контакты
  • Поиск
Главная  »»»  Заказы на Продажу  »»»  iScala и округления. Кто неправ?

iScala и округления. Кто неправ?

18.05.2020 Автор Алексей Васильев

Очень часто я слышал за свою консультационную деятельность: «Ваша Scala/iScala не умеет считать!». Давайте разберёмся, кто на самом деле не умеет считать.

Во-первых, Scala или iScala не моя, а Ваша 🙂

Во-вторых, считать, скорее всего не умеет тот, кто подымает этот вопрос, а Scala или iScala вообще ни причём и я готов пояснить это на конкретных примерах

Начнём с того, что если ваша компания что-то продаёт с НДС со ставкой 20% и цена продаваемого товара без НДС не кратна 50 копейкам (или 60 копейкам с учётом НДС), то округлений или коллизий как в примерах ниже просто невозможно избежать. Важно лишь понимать это, тогда и не будет вопросов про то, кто не умеет считать. Даже если у вас цены без НДС кратны 50 копейкам, но вы используете дробные единицы измерения, т.е., например, не штуки, которые предполагают целые количества, а, например, метры, килограммы или литры, то это также приводит к округлениям. Если не верите, проделайте эксперимент в Экселе.


Давайте разберём конкретный пример. Предположим, что у нас цены продажи содержат НДС, предположим также, что параметры округления установлены следующим образом (везде 0, т.е. округления не делаются). Тогда мы получим примерно следующую картину:

Округление цены за единицу Округление по строке Округление НДС по строке Округление итогов Округление итогов НДС
0.00 0.00 0.00 0.00 0.00
Реальные значения
№ строки Цена с НДС (справочно) Цена без НДС Кол-во Итого без НДС НДС % Итого НДС Итого с НДС
1 123.45 102.875 678.901 69841.940375 20% 13968.388075 83810.32845
2 234.56 195.4666667 123.456 24131.5328 20% 4826.30656 28957.83936
ИТОГО 802.357 93973.473175 18794.694635 112768.16781

В то же время в документе, например, в накладной или счёте на оплату это будет выглядеть следующим образом (цены и все суммы отображаются с точностью до копейки, но в то же время на самом деле являются неокругленными. В этом случае возникает недоумённый возглас подобный описанному в самом верху страницы). Пользователь забывает о том, что базовой является цена с учётом НДС и просто берёт отображаемую цену без НДС, умножает её на количество и сравнивает с отображаемой суммой без НДС. И она не совпадает:

Отображается Ожидается из отображаемой цены без НДС
№ строки Цена с НДС (справочно) Цена без НДС Кол-во Итого без НДС НДС % Итого НДС Итого с НДС Итого без НДС Итого НДС Итого с НДС
1 123.45 102.88 678.901 69841.94 20% 13968.39 83810.33 69845.33 13969.07 83814.40
2 234.56 195.47 123.456 24131.53 20% 4826.31 28957.84 24131.94 4826.39 28958.33
ИТОГО 802.357 93973.47 18794.69 112768.17 93977.27 18795.46 112772.73

А что будет, если изменить параметры округления для итогов по строке?

Округление цены за единицу Округление по строке Округление НДС по строке Округление итогов Округление итогов НДС
0.00 0.01 0.01 0.00 0.00
Реальные значения
№ строки Цена с НДС (справочно) Цена без НДС Кол-во Итого без НДС НДС % Итого НДС Итого с НДС
1 123.45 102.875 678.901 69841.94 20% 13968.39 83810.33
2 234.56 195.4666667 123.456 24131.53 20% 4826.31 28957.84
ИТОГО 802.357 93973.47 18794.70 112768.17
Отображается Ожидается из отображаемой цены без НДС
№ строки Цена с НДС (справочно) Цена без НДС Кол-во Итого без НДС НДС % Итого НДС Итого с НДС Итого без НДС Итого НДС Итого с НДС
1 123.45 102.88 678.901 69841.94 20% 13968.39 83810.33 69845.33 13969.07 83814.40
2 234.56 195.47 123.456 24131.53 20% 4826.31 28957.84 24131.94 4826.39 28958.33
ИТОГО 802.357 93973.47 18794.70 112768.17 93977.27 18795.46 112772.73

Как видим изменилось не особо, просто реальные значения в итогах по строке стали равны отображаемым в соответствующих столбцах. Но недоуменные восклицания при этом не уйдут 🙂
Может быть тогда стоит округлить до целой копейки цену без НДС?
Можно попробовать:

Округление цены за единицу Округление по строке Округление НДС по строке Округление итогов Округление итогов НДС
0.01 0.01 0.01 0.00 0.00
Реальные значения
№ строки Цена с НДС (справочно) Цена без НДС Кол-во Итого без НДС НДС % Итого НДС Итого с НДС
1 123.45 102.88 678.901 69845.33 20% 13969.07 83814.40
2 234.56 195.47 123.456 24131.94 20% 4826.39 28958.33
ИТОГО 802.357 93977.27 18795.46 112772.73
Отображается Ожидается из отображаемой цены без НДС
№ строки Цена с НДС (справочно) Цена без НДС Кол-во Итого без НДС НДС % Итого НДС Итого с НДС Итого без НДС Итого НДС Итого с НДС
1 123.45 102.88 678.901 69845.33 20% 13969.07 83814.40 69845.33 13969.07 83814.40
2 234.56 195.47 123.456 24131.94 20% 4826.39 28958.33 24131.94 4826.39 28958.33
ИТОГО 802.357 93977.27 18795.46 112772.73 93977.27 18795.46 112772.73

Теперь, вроде бы всё отлично. Вот только тот, кто привык восклицать теперь будет говорить, что если умножить цену с НДС на количество, то не получится то, что отображается в столбце «Итого с НДС»
А оно и не может так получиться, так как либо мы говорим, что все цифры «пляшут» относительно цены без НДС, либо относительно цены с НДС и округлений не избежать и iScala здесь ни причём, смотрите самый верх страницы, а если вы думаете иначе, то советую посчитать на калькуляторе. Ну, или на счётах 🙂

Кстати, все примеры сделаны не в Scala/iScala, а в Excel’е и я даже не пытаюсь говорить, что воспроизвожу логику работы iScala, я просто выстраиваю определённую логику. Если угодно, простую математическую, я бы даже сказал, арифметическую 🙂

Рубрика: Заказы на Продажу, Установка, Администрирование Метки: НДС, округления, параметр
VK Telegram Про канал в WhatsApp

Copyright © 2025 О системах планирования ресурсов предприятия Scala, iScala.

Gammapolis WordPress Theme by ERP & Business Consulting

Прокрутка вверх