Самый быстрый алгоритм сделать цены "красивыми" #96149


#0 by topasha
стоит задача подогнать цену товара так, чтобы НДС с этой цены был целым числом, точнее целое число копеек. Далее, чтобы исчисленный НДС с цены с НДС был в точности равен начисленному НДС на цену без НДС.Сейчас для этого использую след. функцию-затычку:КонецФункцииНо она некорректно работает, если НДС=18% и цена меньше рубля. Что народ посоветует, а то уже туплю совсем...
#1 by VZ
Может, дело в метОде? НДС начисляется, вообще-то, не от цены, а от стоимости. Потому аргументом стоит сделать Цена, Количество.И тогда копеешная Цена не вызовет затруднений, ибо в комплекте с Количеством... А возвращать стОит Цена, Стоимость, НДС
#2 by topasha
Это я знаю. Просто в подшефной конторе надо создать поступление товаров по реализации. Суммы и цены реализации в НДС. НДС на товары разный. Надо делать расчет "от обратного", но так, чтобы (ЦенаБезНДС*Количество+НДС)/Количество=ЦенеСНДС. Раньше, для 20% НДС просто ставились цены, кратные 6 коп., для 10% - кратные 10 коп. И все было красиво. Теперь НДС 18%. Потом, возможно будет 16%. Надо написать функцию, которая бы автоматически находила ближайшую "красивую" цену.
#3 by VZ
Вопрос, ГДЕ. Если в отпускных документах (Накладная, Счет) - то это одна задача, Цена для одного клиента невидимы для другого, и не всем клиентам такой подгон нужен. Если в прайсе, ценниках - то это совершенно другое дело. Здесь, кстати, есть неявное условие: кратное количество. И здесь есть порог цены, ниже которого копейки неизбежны при еденичном количестве. Это арифменика, а ее "править" и Бог не в силах. Здесь можно только подбирать цену непременно с неким кратным количеством. И решение становится неопределенным, т.е. надо выбирать кратность количества. Интерактивно и много-много раз. Пока выбирающий не выберет компромиссное между "нравится ему" и "понравится покупателю". А что делать, Арифметика...
#4 by topasha
Понимаю, что арифметика. Именно в прайсе и надо проставить "красивые" цены. На копеечные товары будет выставляться цена за десяток или сотню. Понравится ли покупателю - абсолютно по барабану: обязательно понравится (специфика такая). Вот надо некую функцию придумать, которая подгоняла бы цену для прайса.
#5 by SiAl
"Цены обязательно понравятся покупателю". Естественная монополия? Лекарства, нефть, хлеб?
#6 by 101
неразрешимо в принципе
#7 by topasha
Не монополия, а специфика работы такая. Почему?
#8 by topasha
В качестве апа. Разве эта тема никому не интересна?Неужели никто не занимается восстановлением бухучета?
#9 by TriO
2 А в чем проблема умножить цену на 100 и получить остаток от деления по модулю ставки НДС, а уж его анализировать: вверх округлять или вниз?
#10 by topasha
Почти так и делаю (см. функцию в сабже).Только цены все получаются рублевые, без копеек.С копейками, если НДС 10%.
#11 by topasha
Сузим проблему: Как по ивестной ставке НДС вычислить кратность цены?Например, при ставке 10% - кратность цены равна 10. При 6тавке 20% кратность равна 6 и т.д.
#12 by КонецЦикла
Ну вы как маленькие... Кратность = (100+СтавкаНДС/СтавкаНДС)
#13 by topasha
(100+18)/18=6,5555555555555555555А надо найти целое число, кратно которому устанавливать цены.
#14 by КонецЦикла
Тогда Кратность = Цел((100+СтавкаНДС)/СтавкаНДС)?
#15 by VZ
Неверно. Включи дельту: Стоимость*0.18 и _округляется_. 0.5 копеек в результате умножения можно отбрасывать (или прибавлять). Формулу сам, лениво...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С