7.7 Расхождение сумм при подсчете скидок

Тема в разделе "Общие вопросы "1С:Предприятие 7.7"", создана пользователем Mozes, 14 ноя 2006.

  1. TopicStarter Overlay
    Mozes
    Offline

    Mozes

    Регистрация:
    18 окт 2006
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    В ТиС имеется следущая трабла:
    При подсчете суммы в Заявке покуп или Расход накл скидка сначала умножается на кол-во ед, а потом вычитается из цены и округляется. Формула получается Цена*Количество - Скидка*Количество
    Когда клиент вбивает у себя цену уже со скидкой, происходит умножение по формуле (Цена-скидка) * Количество. Итого разница в несколько копеек.

    Пример: 25 шт ; цена 31,94 ; скидка 30%
    мои цены = 25*31,94 - 25*9,582 = 558,95
    штучная цена для клиента = 31,94 - 9,582 = 22,36
    цены у клиента = 22,36 * 25 = 559

    Корректна ли замена в гл.модуле ( Процедура глПересчетТаблЧасти, глПересчитатьСкидки ) формулы
    Конт.Сумма = Конт.Цена*Конт.Количество-ПроцентСкидки/100*Конт.Цена*Конт.Количество;
    на
    Конт.Сумма = Окр((Конт.Цена - ПроцентСкидки/100*Конт.Цена),2)*Конт.Количество ???

    Не люблю я гобальный модуль править, не накроется все после этого медным тазом? :unsure:
  2. Tiger
    Offline

    Tiger Опытный в 1С

    Регистрация:
    12 июл 2006
    Сообщения:
    489
    Симпатии:
    0
    Баллы:
    26
    Не накроется :unsure:
    Это же простое преобразование выражения a*b-c*a*b=(a-c*a)*b
    В результате округления действительно могут потеряться копейки, но как я понял, Вы этого и добиваетесь
    В Вашем случае скидка делается на цену. А в программе предусматривается скидка со всей суммы.
    Поэтому чем больше будет количество, тем больше будут различаться результаты вычислений

Поделиться этой страницей