Округление в запросе #798540


#0 by _barracuda_
Добрый день.Подскажите как правльно округлить до 2-х знаком в запросе.а то целая цифра вылазит,хотя записана 30.44,но вылазит 30 ВЫБОР КОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена, 0) <> 0 И (ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена,0) < ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена,0))
#1 by Джинн
Не совсем понятен вопрос. Округление в запросе через ВЫРАЗИТЬ, но непонятно причем тут округление.
#2 by Сильф
Чувствую, запрос тут не при чём. Где-то после него у тебя обрезается.
#3 by Ц_У
куда там что вылазит, результат запроса сам себя не округлит?
#4 by _barracuda_
ВЫБОР КОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена, 0) <> 0 И (ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена,0) < ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена,0))    ТОГДА Выразить(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена,0) КАК ЧИСЛО (10,2)) КОГДА  ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена, 0) <> 0  И (ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена,0) < ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена,0))    ТОГДА Выразить(ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена,0)КАК ЧИСЛО (10,2)) КОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена, 0) <> 0 И ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена,0) = 0    ТОГДА Выразить(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена,0)КАК ЧИСЛО (10,2)) КОГДА ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена, 0) <> 0 И ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена,0) = 0    ТОГДА Выразить(ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена,0)КАК ЧИСЛО (10,2)) КОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена, 0) <> 0 И (ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена, 0) = ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена,0)) ТОГДА Выразить(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена,0)КАК ЧИСЛО (10,2)) КОГДА ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена, 0) <> 0 И (ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена, 0) = ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена,0)) ТОГДА Выразить(ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена,0)КАК ЧИСЛО (10,2)) КОНЕЦ КАК Цена, вроде правильно?
#5 by Гаврилин Игор
А вылазит куда? может реквизит имеет тип Число 15,0 ?
#6 by _barracuda_
ВЫБРАТЬ Выразить(СпрНоменклатура.Ссылка.НаименованиеПолное КАК строка(1000)) КАК ПолноеНаименование, ХарактеристикиНоменклатуры.ШтрихКод Как ШтрихКод, ВЫБОР КОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена, 0) <> 0 И (ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена,0) < ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена,0))    ТОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена,0) КОГДА  ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена, 0) <> 0  И (ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена,0) < ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена,0))    ТОГДА ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена,0) КОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена, 0) <> 0 И ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена,0) = 0    ТОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена,0) КОГДА ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена, 0) <> 0 И ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена,0) = 0    ТОГДА ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена,0) КОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена, 0) <> 0 И (ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена, 0) = ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена,0)) ТОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена,0) КОГДА ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена, 0) <> 0 И (ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена, 0) = ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена,0)) ИЗ Справочник.Номенклатура.Изменения КАК СпрНоменклатура      ХарактеристикиНоменклатуры.ШтрихКод, ЦеныНоменклатурыСрезПоследнихГРн.Цена, Выразить(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена КАК ЧИСЛО (10,2)) так ругается на Поле не входит в группу "ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена" КОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена, 0) <> 0 И (ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена,0) < ЕСТЬNULL(<<?>>ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена,0))
#7 by _barracuda_
реквизит 10.2
#8 by _barracuda_
идеи есть?
#9 by dezss
посмотри значения после того, как сделал Выполнить.Выгрузить Там точно округленные значения?
#10 by _barracuda_
понял сейчас гляну
#11 by _barracuda_
есть две цифры 30,79 и 30.80.так вот начало цикла сообщает что в самом запросе содержится 30 круглое число
#12 by _barracuda_
есть идеи?
#13 by Неверный Параметр И
Значения 30.79, 30.80 и 30.44 из взяты с оштукатуренного или с натяжного?
#14 by dezss
убери после Тогда все естьnull и Выразить и посмотри что будет. Ты и так уже проверил на естьnull, зачем же еще раз проверять.
#15 by Дмитрий
не там ищешь. запрос ничего сам не округляет
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С