Округление в запросе Код 1C v 8.х "ВЫБРАТЬ
| ПродажиОбороты.Номенклатура,
| ВЫРАЗИТЬ(ПродажиОбороты.СтоимостьОборот/ПродажиОбороты.КоличествоОборот КАК ЧИСЛО(15,2))
| КАК СредняяЦенаПродажи
| ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон)
| КАК ПродажиОбороты"
Код 1C v 8.х "ВЫРАЗИТЬ(ЧислоВыбр/10 КАК ЧИСЛО(10, 0)) * 10 КАК ОкругленноеДоДесятиЧисло"
Получение целой части числа в запросе?
Код 1C v 8.х "Выразить(ЧисловоеПоле-0.5 Как Число(10))"
Код 1C v 8.х "ВЫБОР КОГДА ЧисловоеПоле >= 0 ТОГДА
| ВЫРАЗИТЬ(ЧисловоеПоле - 0.5 КАК ЧИСЛО(10, 0))
| ИНАЧЕ ВЫРАЗИТЬ(ЧисловоеПоле + 0.5 КАК ЧИСЛО(10, 0))
| КОНЕЦ"
Как округлить в запросе в меньшую сторону?
Код 1C v 8.х Запрос = Новый Запрос("ВЫБРАТЬ РАЗНОСТЬДАТ(ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0), ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0), СЕКУНДА, ЧислоСДробнойЧастью), СЕКУНДА) КАК ЧислоБезДробнойЧасти");
или
Код 1C v 8.х "ВЫРАЗИТЬ(Ч + 0.5 КАК ЧИСЛО(15)) - 1"
Категория:
Запросы Округление при работе с вычисляемыми числовыми полями в запросе Код 1C v 8.х Запрос = Новый Запрос("
|ВЫБРАТЬ
| ПродажиОбороты.Номенклатура,
| ВЫРАЗИТЬ(ПродажиОбороты.СтоимостьОборот/ПродажиОбороты.КоличествоОборот КАК ЧИСЛО(15, 2)) КАК СредняяЦенаПродажи
|ИЗ
| РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон) КАК ПродажиОбороты");
Источником для запроса является виртуальная таблица РегистрНакопления.Продажи.Обороты, построенная по данным регистра в интервале между ДатаНач и ДатаКон.
В качестве выходных полей берем Номенклатура и результат деления значения полей источника СтоимостьОборот и КоличествоОборот. Причем оператором ВЫРАЗИТЬ() тип последнего поля приводится к примитивному типу Число с определенным форматом (длина – 15, точность – 2).
Категория:
Запросы Как применить округление при работе с вычисляемыми числовыми полями в запросе? Код 1C v 8.х ВЫБРАТЬ
ПродажиОбороты.Номенклатура,
ВЫРАЗИТЬ(ПродажиОбороты.СтоимостьОборот / ПродажиОбороты.КоличествоОборот КАК ЧИСЛО(15, 2)) КАК СредняяЦенаПродажи
ИЗ
РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон) КАК ПродажиОбороты
Категория:
Запросы