0

1C Округление

Как в 1С Округлять числа программно

Сразу скажу что я не гуру 1С программист, опыт у меня не совсем большой но все же он есть. Я достаточно часто пишу статьи в которых стараюсь поделиться полезными советами или дать более полный ответ на какой либо вопрос касаемый 1С разработки. Я когда то сам был новичком и пытался найти ответы на свои вопросы на различных форумах. Где как правило сидят опытные программисты и они дают советы с высоты своего опыта. Которые в свою очередь новичкам мало чем помогают. Сегодня хочу разобрать тему округления чисел. Поговорим об округление целой и дробной части.

Если вы только начинаете свой путь 1С программиста то рекомендую прочитать следующие статьи.

Условное оформление 1С

Как рассчитать сумму всех строкам табличной части

Подключение и настройка ТСД

Как изменить дату в ТЧ у всех записей

Как пользоваться оператором «Подобно» в запросах

Программное округление целой и дробной части числа

И так программно можно округлить любое число как до целых так и до десятых , сотых. Делается это с помощью функции Окр, синтаксис такой.

Окр(Число , 0, 0);

Окр — сама функция

Число — соответственно число которое хотим округлить

0 — разрядность, число знаков после запятой

0 — Режим округления 0 в меньшую сторону 1 в большую, его можно не указывать по умолчанию всегда 0

Скажем если взять число = 12,123 то после применения Окр(Число , 0, 0); число будет 12.

Надеюсь объяснил понятно если нет то можете открыть Синтаксис-помощник.

1C Округление

Для примера я сделал форму, на которой размести реквизит «Цена» и 4 кнопки. Первая округляет введённое число в большую сторону, вторая в меньшею. Т.е если будет например число 10,12 при нажатии первой кнопки число округлиться до 11 а при нажатии второй до 10.

Третья и четвертая кнопка округляет дробную часть, т.е копейки, возьмем тоже число 10,12. Если нажмем третью кнопку результатом будет число 10,20, а если нажмем четвертую то 10,10.

Программное округление целой и дробной части числа 1С

Допустим у вас есть табличная часть, в которой выбирается номенклатура и подставляется цена из справочника. Что бы округлить число в этом случае нужно создать событие при изменение табличной части и написать вот такой код.

&НаКлиенте
Процедура ТабличнаяЧастьПриИзмененииПосле(Элемент)
// Вставить содержимое обработчика.
Округление = Элементы.ТабличнаяЧасть.ТекущиеДанные;
Округление.Сумма = Окр(Округление.Сумма-0.05,1);

КонецПроцедуры

В результате все суммы будут округлены до сотых причем в меньшую сторону. Надеюсь все объяснил достаточно подробно но если остались вопросы обязательно спрашивайте!

admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*

code