Как получить остаток от деления в 1С
-

Как получить остаток от деления в 1С

2
32043
22.01.2020 Евгения Скунцева

Содержание:

1.      Получение остатка в запросе

2.      Работа с СКД 1С

 

Иногда бывают ситуации, когда нужно получить остаток от деления. Остаток от деления в 1С можно получить с помощью знака %.


Пример: Допустим, нам нужно получить остаток от деления 10 на 3 в переменную в примере с именем А. Как выглядит выражение:

А=10%3;  



 

1.    Получение остатка в запросе


Тут все просто и понятно. Несколько сложнее ситуация обстоит, если нужно получить остаток в запросе.


В этом случае можно написать вот такое выражение:

x- y * (ВЫРАЗИТЬ(x / y - 0.5 КАК ЧИСЛО(15, 0)))

где x – делимое, а y – делитель.


Если взять пример с теми же x=10 и y=3, получим такое выражение:

10- 3 * (ВЫРАЗИТЬ(10 / 3 - 0.5 КАК ЧИСЛО(15, 0)))


И результат вычисления выражения:  



2.    Работа с СКД 1С


Есть третий способ, но, к сожалению, он подходит только для системы компоновки данных (СКД 1С). Он редко используется, но имеет право на существование. Для этого нужно создать экспортную функцию в общем модуле.




Затем нужно создать вычисляемое поле во вкладке Вычисляемые поля и заполнить его так, как показано на картинке. Переменные Х и Y берутся из запроса в СКД.




Результат работы простого отчета.




К сожалению, этот способ не подойдет, если нужно оставить конфигурацию на поддержке 1С. Но может подойти для сложных отчетов в 1С 8 внутри самописной или доработанной конфигурации 1С 8.3.


Специалист компании ООО «Кодерлайн» 

Евгения Скунцева.

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

0
Дмитрий
В разделе 2 «Работа с СКД 1С» в выражении вычисляемого поля можно просто написать X % Y, это тоже сработает, необязательно добавлять в общий модуль МойМодуль функцию ПолучитьЧастное.
Имя Цитировать 0
0
Guest
Нужно добавить проверку делимого на 0.
Код
ВЫБОР
      КОГДА Делимое <> 0 
            ТОГДА Делимое - Делитель * (ВЫРАЗИТЬ(Делимое / Делитель - 0.5 КАК ЧИСЛО(15, 0)))
      ИНАЧЕ 0
КОНЕЦ
Имя Цитировать 0
Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.