28.11.2022 Юлия Романяк 48034
Округление в запросе

Содержание:

1.     Использование в 1С ОКР функции
2.     Синтаксис описание функции ВЫРАЗИТЬ
3.     Округление в запросе 1С при помощи функции ВЫРАЗИТЬ
4.     Исключение для значений типа NULL
5.     Как округлить в запросе 1С число до целых сотен  

 

1.     Использование в 1С ОКР функции

 

Для округления чисел встроенный язык 1С предусматривает использование функции ОКР в 1С. Ее можно использовать при обработке результата запроса в процедурах модулей объектов конфигурации. Однако, в языке запросов 1С Предприятие также есть возможность округлить результат вычисления непосредственно при помощи формулы в произвольном выражении. Для этого предусмотрена функция ВЫРАЗИТЬ(<Выражение> КАК <Тип>).

 

2.     Синтаксис описание функции ВЫРАЗИТЬ


Параметры:

Выражение – описание преобразуемого объекта.

Тип – можно указывать строковое описание типа, либо значения ЧИСЛО или СТРОКА.

Для типа ЧИСЛО в 1С необходимо указывать формат, к которому нужно привести выражение:

 

ЧИСЛО( <Количество знаков целой части>, <Количество знаков дробной части>)

 

Для типа СТРОКА в 1С нужно указать длину строки:

СТРОКА(<Длина строки>)

 

В нашем случае параметр <Выражение> должен обязательно иметь числовой тип. Параметр <Тип> задается как ЧИСЛО.   

 

3.     Округление в запросе 1С при помощи функции ВЫРАЗИТЬ

 

Для округления числа до целого указываем в произвольном выражении:


ВЫРАЗИТЬ(&ОкругляемоеЧисло КАК ЧИСЛО(15.0)), где

15 – длина целой части,

0 – количество знаков дробной части

Результат вычисления в запросе будет следующий:

При &ОкругляемоеЧисло = 123.456      результат = 123     

При &ОкругляемоеЧисло = 123.5      результат = 124


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

Если нужно округлить до определенного количества знаков после запятой в 1С, задаем после точки количество знаков:

 

ВЫРАЗИТЬ(123.456 КАК ЧИСЛО(15.1)) = 123.5

 

4.     Исключение для значений типа NULL

 

Если в функцию для округления в запросе 1С передается какой-либо реквизит объекта и в таблице значений для данного объекта этот реквизит не заполнен (т.е. в таблице БД имеет значение NULL), то в результате вычисления по формуле, приведенной выше мы получим нечисловое значение типа NULL:

 

ВЫРАЗИТЬ(NULL КАК ЧИСЛО(15.1)) = NULL

 

Для того, чтобы избежать в таблицах результата запроса строк с таким значением, нужно использовать функцию обхода пустых значений в 1С 8.3, принудительно приравнивая пустые значения нулю:

 

ЕСТЬNULL(ВЫРАЗИТЬ(NULL КАК ЧИСЛО(15.1)), 0) = 0   

 

5.     Как округлить в запросе 1С число до целых сотен

 

Выше мы рассмотрели возможность округления в запросе 1С числа до целых значений.

Но как быть если нужно округлить до целых сотен, десятков или, например, тысяч? Напрямую функция ВЫРАЗИТЬ в 1С 8.3 такой возможности не предоставляет. В этом случае нужно при помощи функции ВЫРАЗИТЬ в 1С 8.3 округлить до целого результат от деления округляемого числа на нужную кратность (100, 10, 1000 и т.д.) и затем умножить полученное число на ту же кратность.


Например – нужно округлить до целых сотен число 1525634.123456789.

100 * (ВЫРАЗИТЬ(1525634.123456789 / 100 КАК ЧИСЛО(15, 0))) = 1525600


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

Юлия Романяк

Наши проекты

Фармацевтическое предприятие «Оболенское»
АО «Фармацевтическое предприятие «Оболенское»

Отрасль:
Фармацевтическая промышленность

Внедренное типовое решение:
1С:Управление производственным предприятием

- Адаптации блоков/подсистем планирования продаж, закупок и казначейства. ...

Внедрение 1С:Управление торговлей в оптово-розничной компании «Ална-Байк»
ИП Титов Виктор Сергеевич «Ална-Байк»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

- Управление складами;
- Управление заказами поставщиков;
- Управление зак...

Автоматизация торговых операций на базе "1С:Управление торговлей" в ОАО "Авиазапчасть"
ОАО «Авиазапчасть»

Отрасль:
Авиационно-космическая промышленность

Внедренное типовое решение:
1С:Управление торговлей

- Оптовая торговля;
- Оформление заказов покупателей;
- Планирование прод...

ООО «ДАФ Тракс Рус» (DAF Trucks Rus)
ООО «ДАФ Тракс Рус» (DAF Trucks Rus)

Отрасль:
Машиностроение

Внедренное типовое решение:
«1С:Управление корпоративными финансами»

- Осуществлена разработка матрицы прав и ролей для финансового подразделени...

ООО «ТейблТок»
ООО «ТейблТок»

Отрасль:
Общественное питание и рестораны

Внедренное типовое решение:
1С:Управление торговлей

Оформление заказов поставщикам Оформление заказов покупателей Управление ...

Филиал ГлавУпДК при МИД России фирма «Инпредкадры»
Филиал ГлавУпДК при МИД России фирма «Инпредкадры»

Отрасль:
Государственное управление

Внедренное типовое решение:
1С:Бухгалтерия

- Расчеты с контрагентами;
- Управленческий учет;
- Формирование отраслев...

Автоматизация документооборота в компании ООО "Ликард"
ООО «Ликард» (ОАО ЛУКОЙЛ)

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:Документооборот КОРП

- Отказ от бумажного документооборота, от громоздких систем на базе офисного...

Внедрение ПП "1С:Бухгалтерия 8 ПРОФ" в ООО "ДЕКОР"
ООО «ДЕКОР»

Отрасль:
Производство

Внедренное типовое решение:
1С:Бухгалтерия 8 ПРОФ

Управление персоналом и кадровый учет (HRM):
- Кадровый учет
- Расчет зарпл...

Внедрение ПП "1С:Бухгалтерия 8 ПРОФ" в ООО «Союз Три» (Кондитерский дом Renardi)
ООО «Союз Три»

Отрасль:
Производство

Внедренное типовое решение:
1С:Бухгалтерия 8 ПРОФ

Бухгалтерский учет
- Банк и касса
- Расчеты с контрагентами
Налоговый ...

Группа компаний АО «Киномакс»
Группа компаний АО «Киномакс»

Отрасль:
Культура, шоу-бизнес

Внедренное типовое решение:
БИТ.Финанс

- Разработка Положения о Казначействе группы компаний
- Разработка Положе...

Внедрение 1С:Управление торговлей в оптово-розничной компании «Много Плитки»
ООО «Много Плитки»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

Закупки (снабжение) и управление отношениями с поставщиками:
- Оформление ...

Компания IBS
Компания IBS

Отрасль:
Системный интегратор

Внедренное типовое решение:
1С:Управление производственным предприятием

- Интеграция систем – АСУП и «1С:Управление производственным предприятием»...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение