1с запрос целая часть числа

Рассмотрим задачу, когда необходимо в запросе разделить число на целую и дробную часть.

Пример запроса:

Запрос = Новый Запрос;

| КОГДА (ВЫРАЗИТЬ(&ДробноеЧисло КАК ЧИСЛО(4, 0))) > &ДробноеЧисло

| ТОГДА (ВЫРАЗИТЬ(&ДробноеЧисло КАК ЧИСЛО(4, 0))) — 1

| ИНАЧЕ ВЫРАЗИТЬ(&ДробноеЧисло КАК ЧИСЛО(4, 0))

| КОНЕЦ КАК ЦелаяЧасть,

| КОГДА (ВЫРАЗИТЬ(&ДробноеЧисло КАК ЧИСЛО(4, 0))) = &ДробноеЧисло

| КОГДА (ВЫРАЗИТЬ(&ДробноеЧисло КАК ЧИСЛО(4, 0))) > &ДробноеЧисло

| ТОГДА 1 — ((ВЫРАЗИТЬ(&ДробноеЧисло КАК ЧИСЛО(4, 0))) — &ДробноеЧисло)

| ИНАЧЕ &ДробноеЧисло — (ВЫРАЗИТЬ(&ДробноеЧисло КАК ЧИСЛО(4, 0)))

Собственные наработки и набитые шишки в моей практике по программированию в 1С.

Страницы

среда, 28 октября 2015 г.

Как найти целое число от числа в запросе

Иногда необходимо получить целое число в запросе. Аналог Цел() языка. Необходимо прибегнуть к мелким хитростям, поскольку такого метода в запросе не существет. Но не стоит огорчаться.

Вот собственно необходимо задействовать конструкцию ВЫРАЗИТЬ(). Для положительных чисел необходимо вычесть 0.5, а для отрицательных чисел прибавить 0.5. Вот пример:

ВЫБОР КОГДА ВашеЧисло > 0 ТОГДА
ВЫРАЗИТЬ(ВашеЧисло — 0.5 КАК Число(15, 0))
ИНАЧЕ
ВЫРАЗИТЬ(ВашеЧисло + 0.5 КАК Число(15, 0))

Проконсультироваться
со специалистом 1С

Код 1C v 8.х
Код 1C v 8.х

Получение целой части числа в запросе?
Код 1C v 8.х
Код 1C v 8.х

Как округлить в запросе в меньшую сторону?
Код 1C v 8.х
или
Код 1C v 8.х

Оцените статью
Добавить комментарий