|
Распределить сумму по табл. части | ☑ | ||
---|---|---|---|---|
0
ilyavorobyev
11.12.14
✎
15:10
|
У меня есть сумма документа, допустим 1800000, есть сумма табличной части 1200000, как получить процент на который сумма документа больше табличной части и на какой процент нужно умножить цены чтобы оно распределилось и сумма табличной части стала 1800000
|
|||
1
butterbean
11.12.14
✎
15:11
|
ппц
|
|||
2
vicof
11.12.14
✎
15:11
|
С элементарной математикой все плохо?
|
|||
3
Gesperid
11.12.14
✎
15:14
|
(2) это не элементарная математика
|
|||
4
vicof
11.12.14
✎
15:16
|
(3) Да, четыре арифметические операции это не элементарная математика. Единственная проблема, которая может возникнуть, - округление.
|
|||
5
KUBIK
11.12.14
✎
15:17
|
(4) для этого есть в БП 2.0:
// Функция выполняет пропорциональное распределение суммы в соответствии // с заданными коэффициентами распределения // // Параметры: // ИсхСумма - распределяемая сумма // МассивКоэф - массив коэффициентов распределения // Точность - точность округления при распределении. Необязателен. // // Возврат: // МассивСумм - массив размерностью равный массиву коэффициентов, содержит // суммы в соответствии с весом коэффициента (из массива коэффициентов) // В случае если распределить не удалось (сумма = 0, кол-во коэф. = 0, // или суммарный вес коэф. = 0), тогда возвращается значение Неопределено // Функция РаспределитьПропорционально(Знач ИсхСумма, МассивКоэф, Знач Точность = 2) Экспорт .......... |
|||
6
Gesperid
11.12.14
✎
15:18
|
(4) Пример. Невинная фраза из ТЗ:
"Все количество распределяется по всем покупателям поровну с округлением до 1 шт. Погрешность округления относится на последнего покупателя" приводит к очень интересным результатам. Итак, на 100 покупателей поступило 40 штук. Поровну означает 40/100 = 0,4 штуки. С округлением до одной штуки получается 0, то есть все 40 штук получит последний покупатель. Еще веселее, если на 100 покупателей поступило 60 штук. Тогда все покупатели, кроме последнего, получат по одной штуке, а последний... -39 (минус тридцать девять) штук. Программа соответствует ТЗ. |
|||
7
Gesperid
11.12.14
✎
15:20
|
(5) ага, а в ЗУПе и УПП ещё есть
но кривая, поэтому о элементарности поспорю |
|||
8
mzelensky
11.12.14
✎
15:25
|
(4) Округления тоже не проблема. Последняя копейка кидается в первую строку, как поправка и все.
|
|||
9
hhhh
11.12.14
✎
15:47
|
(6) просто ТЗ уточнить надо.
|
|||
10
mikecool
11.12.14
✎
15:49
|
один проход циклом, в котором запоминается минимум и максимум
если при распределении осталось отриц число - отнимается с максимума, полож - прибавляется к минимуму ну и отслеживая (6) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |