Проблема с округлением в отчете о занятости и трудоустройстве инвалидов
При заполнении показателя среднесписочной численности, на определенном этапе попадаем в функцию
Если входящее значение лежит в пределах диапазона от значение = 0,5 до значение < 0,6 округляет до 0.
Функция ОкруглитьПоПравилуЧетнойЦифры(Значение)
Если (Значение = Неопределено) или (Значение = NULL) Тогда
Возврат 0;
КонецЕсли;
ЦелаяЧасть = Цел(Значение);
ДробнаяЧасть = Значение - ЦелаяЧасть;
Если (ДробнаяЧасть >= 0.6) или (ДробнаяЧасть < 0.5) Тогда
//Стандартно
Возврат Окр(Значение);
КонецЕсли;
ПоловинаЦелой = Цел(ЦелаяЧасть/2);
Если (ЦелаяЧасть = (ПоловинаЦелой*2)) Тогда
//четное - округляем в меньшую
Возврат ЦелаяЧасть;
Иначе
//нечетное - округляем в большую
Возврат ЦелаяЧасть+1;
КонецЕсли;
КонецФункции
ПоказатьЕсли входящее значение лежит в пределах диапазона от значение = 0,5 до значение < 0,6 округляет до 0.
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) МодульФормы, Процедура ЗаполнитьАвто() Экспорт
тут ловим
РегламентированныйОтчет10ПИ. Как лучше/оптимальнее решить проблему ?
тут ловим
ТаблСреднеспЧисленности = ПроведениеРасчетов.ПолучитьСреднююЧисленность(мДатаНачалаПериодаОтчета, КонецКвартала(мДатаКонцаПериодаОтчета), "ССЧ", "КВАРТАЛСНАЧАЛАГОДА", Организация, "ИНВШТАТ");
РегламентированныйОтчет10ПИ. Как лучше/оптимальнее решить проблему ?
(9)Блин, я только начинаю программировать (ведь вопрос-то по сути не сложный, как я понимаю) вот и спрашиваю у опытных прогеров как лучше, Вы говорите - Исправь как требуется... Я-то могу исправить как мне нравится, но потом когда следующий прогер работающий с этой ИБ откроет код, то скорее всего, будет плеваться - какой криворукий урод это написал!!! ВОт я и спрашиваю наперед, что бы научиться писать не как мне хочется, а аккуратно, лаконично и правильно.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот