kostya77 @ 28.10.24, 13:25

,
Можна й порозважатися:
Функция ОкруглитьЦены(прЦенаРозн,прСпособ)
//прСпособ = Варианты: 5,10,25,50,1
//прЦенаРозн = Число;
лпЦенаРозн = прЦенаРозн;
лпСпособ = прСпособ;
лпКопейки=лпЦенаРозн-Цел(лпЦенаРозн);
Если лпКопейки=0 Тогда
Возврат лпЦенаРозн;
КонецЕсли;
лпДециКопейки=лпКопейки*10;
лпДельта=лпДециКопейки-Цел(лпДециКопейки);
~Метка:
Если лпСпособ = 5 Тогда
Если лпДельта > 0.7 Тогда //округляем до десяти
лпКопейки=(Цел(лпДециКопейки)+1)/10;
ИначеЕсли лпДельта > 0.2 Тогда//округляем до пяти
лпКопейки=(Цел(лпДециКопейки)+0.5)/10;
Иначе
лпКопейки=(Цел(лпДециКопейки))/10;
КонецЕсли;
ИначеЕсли лпСпособ = 10 Тогда
лпКопейки=Окр(лпДециКопейки,0)/10;
ИначеЕсли лпСпособ = 25 Тогда
Если лпЦенаРозн < 1.75 Тогда
лпСпособ = 5;//Нет смысла меньше 1,75
Перейти ~Метка;
КонецЕсли;
Если лпКопейки > 0.85 Тогда
лпКопейки = 1;
ИначеЕсли лпКопейки > 0.60 Тогда
лпКопейки = 0.75;
ИначеЕсли лпКопейки > 0.35 Тогда
лпКопейки = 0.50;
ИначеЕсли лпКопейки > 0.10 Тогда
лпКопейки = 0.25;
Иначе
лпКопейки = 0;
КонецЕсли;
ИначеЕсли лпСпособ = 50 Тогда
Если лпДельта < 0.75 Тогда
лпКопейки = 0.50;
Иначе
лпКопейки = 1;
КонецЕсли;
ИначеЕсли лпСпособ = 1 Тогда
Если лпКопейки < 0.5 Тогда
лпКопейки = 0;
Иначе
лпКопейки = 1;
КонецЕсли;
КонецЕсли;
лпЦенаРозн=Цел(лпЦенаРозн)+лпКопейки;
Возврат лпЦенаРозн;
КонецФункции // ОкруглитьЦены
То, что для одного человека константа, для другого - переменная. (Алан.Дж.Перлис)