Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 ноя 2024, 17:06

Расчет цены

Автор gabi, 16 сен 2024, 12:39

0 Пользователей и 1 гость просматривают эту тему.

gabi

день добрый
не выходят точные цифры в расчетах. в рмк есть 2 поля скидки - в процентах и в валюте. нужно рассчитать по формуле сколько в рублях выйдет скидка
например, товар стоит 1500 рублей за  штуку , кассир вводит  скидка(%) - 30 итог должен получиться 1050. здесь формула
"НОВАЯСУММА = (ЦЕНА*КОЛИЧЕСТВО)/100*СКИДКА% - (1500*3)/100%*30% = 1350рублей"
"СУММАСКИДКИ = СУММА - НОВАЯСУММА"

Как рассчитать скидку от суммы и скидки в рублях. например, сумма (3*1500)=4500рублей , кассир ставит скидку в 150рублей и нужна рассчитать скидку в процентах и пересчитать цену .

и как рассчитать скидку в % и валюты, если изменяется цена? пример:
цена фиксированная 90
количество 3
цена 90
сумма 270
если мы изменяем цену на 68, то нужно сделать перерасчет суммы (68*3=204) и найти скидку в %, и в рублях как это сделать?? у меня по коду недосчет



&НаКлиенте
Процедура ЦенаПриИзменении(Элемент)
ТоварыИтогСумма = количество * цена;
новаяцена = цена / 100;
суммап = 100 - (цена / новаяцена);
КонецПроцедуры

&НаКлиенте
Процедура СкидкаППриИзменении(Элемент) 
//скидкавалюта = (цена * количество) / 100 * скидкаП;         //1500/100%=15% | (новая цена)1000/15%=66,6666% | 100%-66,6666%= 33,3333%
//суммановая = цена - скидкавалюта;
//сумма = суммановая;
суммановая =  (цена * количество/100 )  * СкидкаП;   
скидкавалюта = сумма - суммановая;
КонецПроцедуры

&НаКлиенте
Процедура СкидкаВалютаПриИзменении(Элемент)

КонецПроцедуры

gabi

&НаКлиенте
Процедура СкидкаППриИзменении(Элемент) 
//скидкавалюта = (цена * количество) / 100 * скидкаП;         //1500/100%=15% | (новая цена)1000/15%=66,6666% | 100%-66,6666%= 33,3333%
//суммановая = цена - скидкавалюта;
//сумма = суммановая;
СкидкаВалюта = (цена * количество/100 )  * СкидкаП;   
сумма = Сумма - СкидкаВалюта;
КонецПроцедуры
проверяю данный код, здесь "(цена * количество/100 )  * СкидкаП" получилось 450, а в СкидкаВалюта = 0

fruitella

Не уверен, но может у тебя 2 реквизита один с верхним регистром Сумма, а второй с нижним сумма. В первом примере ты пишешь одно, а втором другое.
Проверь отладкой, что у тебя в этих суммах.

gabi

fruitella, прошу прощения, вставила старый код. второй пример не полностью работает. (Сумма/100)  * СкидкаП - высчитывает верно но в переменную СкидкаВалюта в отладчике стоит 0

gabi

&НаКлиенте
Процедура СкидкаППриИзменении(Элемент) 
//скидкавалюта = (цена * количество) / 100 * скидкаП;         //1500/100%=15% | (новая цена)1000/15%=66,6666% | 100%-66,6666%= 33,3333%
//суммановая = цена - скидкавалюта;
//сумма = суммановая;
СкидкаВалюта = (Сумма/100)  * СкидкаП;   
сумма = Сумма - СкидкаВалюта;
КонецПроцедуры


fruitella

gabi, ну чудеса, что еще сказать, раз в переменную не присваивается значение  :xfbnsdfb: 

gabi

fruitella, очень помогло

gabi

fruitella, ладно с этим, сможете объяснить почему один товар с ценной 60 , количеством 3, скидкой 25% посчитал сумму верно - 135, а другой товар с тем же количеством , но ценной 1500 и скидкой 30% посчитал и вывел 1400. сумма валюты 99,99

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск