Добрый день! Помогите новичку математикой в простой обработке. Есть 3 реквизита, НачальноеКоличество, Коэффициент (всегда 10) и Результат. Нужно округлить количество товара по коэффициенту в упаковке номенклатуры. К примеру, купили 3 шт. чего то, а в упаковке 10 шт, если коэффициент 10 чтобы округлял до 10 (я так понимаю алгоритм, то есть если 10 разделить на 3 это 3.3333. 3.33 <=10 = 10, если 23 куплено, то результат будет 20 ) Как мне это программно решить, буду благодарен за помощь!
---
вы четко сформулируйте: все что меньше 5 отбрасываем, все что больше 5 округляем до 10 и прибавляем. Тогда в моем выражении замените 0 на 5
Порог = 5;
?((НачальноеКоличество - (Цел(НачальноеКоличество / Коэффициент) * Коэффициент) > Порог), (Цел(НачальноеКоличество / Коэффициент) * Коэффициент) +Коэффициент, Цел(НачальноеКоличество / Коэффициент) * Коэффициент)

Значение порог указывайте как вам угодно. Если меньше порога то младший разряд числа будет отбрасываться если больше то округлятся до 10 и добавляться к НачальноеКоличество
---
Всем спасибо за помощь! Решил так:

```1c
    Остаток = НачальноеКоличество % Коэффициент;
    Результат = Цел(НачальноеКоличество / Коэффициент) * Коэффициент;
    Если Остаток > Коэффициент / 3 или Результат = 0 Тогда
    Результат = Результат + Коэффициент;
    КонецЕсли;
```
---
если 23 куплено, то результат будет 20 - почему не 30 ?
---
КМК и _должно_ быть 30
я бы считал так:
Результат = ОКР (НачальноеКоличество / Коэффициент + 0.5, 0)
---
нужно брать одну треть... 10/3= 3.3333... Если купили 13 шт: 3<3.333 тогда 10, если 3 >3.333 тогда 20... если будет 24 к примеру то тогда 30. Как то так.
---
3 >3.333 - ???
---
что то я запутался)) Это если купили 13 шт. НачальноеКоличество < 3.333 тогда 10, Если уже 14 то НачальноеКоличество > 3.333 тогда 20
---
я правильно понимаю что все что меньше 10 в начальном количестве вам надо округлить до 10 и добавить к начальному количеству?
тогда вот вам математика
Сообщить(?((НачальноеКоличество - (Цел(НачальноеКоличество / Коэффициент) * Коэффициент) > 0), (Цел(НачальноеКоличество / Коэффициент) * Коэффициент) +Коэффициент, Цел(НачальноеКоличество / Коэффициент) * Коэффициент)
---
да, все что меньше 10... А если куплено скажем 32 то 30, если 36 то по коэффициенту уже 40...
---
вы четко сформулируйте: все что меньше 5 отбрасываем, все что больше 5 округляем до 10 и прибавляем. Тогда в моем выражении замените 0 на 5
Порог = 5;
?((НачальноеКоличество - (Цел(НачальноеКоличество / Коэффициент) * Коэффициент) > Порог), (Цел(НачальноеКоличество / Коэффициент) * Коэффициент) +Коэффициент, Цел(НачальноеКоличество / Коэффициент) * Коэффициент)

Значение порог указывайте как вам угодно. Если меньше порога то младший разряд числа будет отбрасываться если больше то округлятся до 10 и добавляться к НачальноеКоличество
---
Спасибо, попробую!
---
```1c
    Результат = Цел(НачальноеКоличество / Коэффициент) * Коэффициент;
    Если Результат = 0 Тогда
    Результат = Коэффициент
    КонецЕсли;
```
---
Цел(НачальноеКоличество / Коэффициент) * Коэффициент

выполните в консоли кода Сообщить(Цел(332 / 10) * 10) вы изумитесь...
---
```1c
    Результат = Цел(НачальноеКоличество / Коэффициент) * Коэффициент;
    Если НачальноеКоличество > Результат Тогда
    Результат = Результат + Коэффициент;
    КонецЕсли;
```

Для 1 Результат = 10
2: 10
10: 10
11: 20
и т.д.
---
Непонятна постановка задачи. Почему три округляется в большую сторону, а 23 в меньшую сторону.
---
Всем спасибо за помощь! Решил так:

```1c
    Остаток = НачальноеКоличество % Коэффициент;
    Результат = Цел(НачальноеКоличество / Коэффициент) * Коэффициент;
    Если Остаток > Коэффициент / 3 или Результат = 0 Тогда
    Результат = Результат + Коэффициент;
    КонецЕсли;
```
---
Вы тернарный оператор разложили в 5 строк когда. Ваше право :)
---
Да, новичок))) Пока так легче читать код... Спасибо еще раз!