|
Высчитать процент | ☑ | ||
---|---|---|---|---|
0
Recrut1
28.02.14
✎
09:12
|
Всем доброго времени суток! Есть такая задачка,имеется три показателя.
1 показатель - 83.5% 2 показатель - 7.5% 3 показатель - 9% В сумме должно получиться 100%, но показатели должны выводиться в целых числах.Если использовать Окр(), то 0.5 будет всегда округлять в большую сторону. Итог 84+8+9= 101. Если бы было 2 показателя, то можно из 100 - показатель 1, но их 3. Есть ли способ высчитать его? Как я думаю, можно высчитать дельту и вешать его на макс. показатель. У кого какие соображения? |
|||
1
Starhan
28.02.14
✎
09:13
|
Правильно думаешь.
|
|||
2
Ненавижу 1С
гуру
28.02.14
✎
09:14
|
84
7 9 |
|||
3
Recrut1
28.02.14
✎
09:15
|
(2) ?
|
|||
4
Azverin
28.02.14
✎
09:17
|
почему бы не сложить 83,5 + 7,5 +9 ?
|
|||
5
Azverin
28.02.14
✎
09:17
|
(4) извините, пью кофе и прихожу в себя))))
|
|||
6
Recrut1
28.02.14
✎
09:17
|
(4) В целых, дружище
|
|||
7
zak555
28.02.14
✎
09:18
|
> Итог 84+8+9= 101
посмотри баланс, там бы получилось не 101, а 100 |
|||
8
KUBIK
28.02.14
✎
09:24
|
(0) Посмотри в типовой бухии (2.0) функцию в ОМ РаспределитьПропорционально(...). Там это реализовано
|
|||
9
Recrut1
28.02.14
✎
09:27
|
(8) Спасибо, гляну
|
|||
10
Recrut1
28.02.14
✎
10:33
|
Кому интересно, как то так получилось:
КолОкр = 0; Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ДробнаяЧасть = ВыборкаДетальныеЗаписи.Процент%1; Если ДробнаяЧасть = 0.5 Тогда КолОкр = КолОкр + 1; КонецЕсли; КонецЦикла; КолОкр = КолОкр / 2; ВыборкаДетальныеЗаписи.Сбросить(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ДробнаяЧасть = ВыборкаДетальныеЗаписи.Процент%1; ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи); Если ДробнаяЧасть = 0.5 Тогда Если Не КолОкр = 0 Тогда Процент= Окр(ВыборкаДетальныеЗаписи.Процент); КолОкр = КолОкр - 1; Иначе Процент= Окр(ВыборкаДетальныеЗаписи.Процент, 0,РежимОкругления.Окр15как10); КонецЕсли; ОбластьДетальныхЗаписей.Параметры.Процент= Процент; КонецЕсли; ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень()); КонецЦикла; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |