|
Округление в запросе | ☑ | ||
---|---|---|---|---|
0
_barracuda_
01.06.17
✎
16:41
|
Добрый день.Подскажите как правльно округлить до 2-х знаком в запросе.а то целая цифра вылазит,хотя записана 30.44,но вылазит 30
ВЫБОР КОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена, 0) <> 0 И (ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена,0) < ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена,0)) ТОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена,0) |
|||
1
Джинн
01.06.17
✎
16:43
|
Не совсем понятен вопрос. Округление в запросе через ВЫРАЗИТЬ, но непонятно причем тут округление.
|
|||
2
Сильф
01.06.17
✎
16:44
|
(0) Чувствую, запрос тут не при чём. Где-то после него у тебя обрезается.
|
|||
3
Ц_У
01.06.17
✎
16:44
|
куда там что вылазит, результат запроса сам себя не округлит?
|
|||
4
_barracuda_
01.06.17
✎
16:46
|
ВЫБОР
КОГДА ЕСТЬ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
Гаврилин Игор
01.06.17
✎
16:48
|
А вылазит куда? может реквизит имеет тип Число 15,0 ?
|
|||
6
_barracuda_
01.06.17
✎
16:56
|
ВЫБРАТЬ
Выразить(СпрНоменклатура.Ссылка.НаименованиеПолное КАК строка(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)) ТОГДА ЕСТЬNULL(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена,0) КОНЕЦ КАК Цена, ИЗ Справочник.Номенклатура.Изменения КАК СпрНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки() КАК ТоварыНаСкладахОстатки ПО СпрНоменклатура.Ссылка = ТоварыНаСкладахОстатки.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК ЦеныНоменклатурыКонтрагентовГРн ПО СпрНоменклатура.Ссылка = ЦеныНоменклатурыКонтрагентовГРн.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК ХарактеристикиНоменклатуры ПО СпрНоменклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец ГДЕ СпрНоменклатура.Ссылка.ПометкаУдаления = ЛОЖЬ СГРУППИРОВАТЬ ПО Выразить(СпрНоменклатура.Ссылка.НаименованиеПолное КАК строка (1000)), ХарактеристикиНоменклатуры.ШтрихКод, ЦеныНоменклатурыСрезПоследнихГРн.Цена, Выразить(ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена КАК ЧИСЛО (10,2)) так ругается на Поле не входит в группу "ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена" КОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена, 0) <> 0 И (ЕСТЬNULL(ЦеныНоменклатурыСрезПоследнихГРн.Цена,0) < ЕСТЬNULL(<<?>>ЦеныНоменклатурыКонтрагентовГРн.МинимальнаяЦена,0)) |
|||
7
_barracuda_
01.06.17
✎
16:56
|
(5)реквизит 10.2
|
|||
8
_barracuda_
01.06.17
✎
17:18
|
идеи есть?
|
|||
9
dezss
01.06.17
✎
17:20
|
(8) посмотри значения после того, как сделал Выполнить().Выгрузить()
Там точно округленные значения? |
|||
10
_barracuda_
01.06.17
✎
17:20
|
(9)понял сейчас гляну
|
|||
11
_barracuda_
01.06.17
✎
17:58
|
(9) есть две цифры 30,79 и 30.80.так вот начало цикла сообщает что в самом запросе содержится 30 круглое число
Выб=Запрос.Выполнить().Выбрать(); Пока Выб.Следующий()>0 Цикл |
|||
12
_barracuda_
01.06.17
✎
18:27
|
есть идеи?
|
|||
13
Неверный Параметр И
01.06.17
✎
19:06
|
Значения 30.79, 30.80 и 30.44 из (0) взяты с оштукатуренного или с натяжного?
|
|||
14
dezss
02.06.17
✎
08:19
|
(12) убери после Тогда все естьnull и Выразить и посмотри что будет. Ты и так уже проверил на естьnull, зачем же еще раз проверять.
|
|||
15
Дмитрий
02.06.17
✎
08:52
|
(12) не там ищешь. запрос ничего сам не округляет
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |