Имя: Пароль:
1C
1С v8
либо возвращается не Null и не число, либо ЕстьNULL() не работает (что вряд ли)
,
0 loonypy
 
04.03.13
17:58
В СКД сделал запрос к ОстаткиИОбороты свежего регистра остатков - начальных остатков нет. Вместо пустых ячеек хочется, чтобы 0 стояли. В конструкторе запросов сделал такое условие:

ЕСТЬNULL(ПродажаПокупкаОстаткиИОбороты.КоличествоНачальныйОстаток, 0)

Все равно в отчете выводит пустую ячейку.
1 ДенисЧ
 
04.03.13
18:00
А откуда в остаткахиоборотах NULL возьмётся? Левого соединения же у тебя нет?
2 Джинн
 
04.03.13
18:00
Формат
3 drcrasher
 
04.03.13
18:00
формат ячейки уже предлагали?
4 samozvanec
 
04.03.13
18:00
(0) смирись. либо выводи строку
5 Rie
 
04.03.13
18:02
(0) Формат использовать предлагали? (по умолчанию 0 выводится как пустая строка, если что).
6 loonypy
 
04.03.13
18:02
(1) нет. NULL -- это когда соединение таблицы с "пустотой"? А когда с пустой ячейкой - что в такой хранится?

(2) Что, как и почему?
9 Rie
 
04.03.13
18:05
(6) В  "пустой" ячейке хранится значение по умолчанию. Для чисел - 0. (c) Ваш Капитан Очевидность
10 loonypy
 
04.03.13
18:15
ВЫБОР
  КОГДА  ПродажаПокупкаОстаткиИОбороты.КоличествоНачальныйОстаток = 0
  ТОГДА 0
КОНЕЦ

Так же пустую ячейку выводит в отчете. Что не так сделал?
11 Aleksey
 
04.03.13
18:16
(10) а где иначе?
12 Ахиллес
 
04.03.13
18:18
(10) У тебя в макете представление нуля, как пустая ячейка, пока в макете не поменяешь, хоть об стенку расшибись, ничего не поменяется.
Кстате. Тебе уже в этой ветке намекали.
13 КонецЦикла
 
04.03.13
18:18
(10) Оригинально :)
14 Джинн
 
04.03.13
18:19
(10) Формат. Но подход тоже интересный.
15 Ахиллес
 
04.03.13
18:21
Не вдаваясь в подробности, чё там внутри
ВЫБОР
  КОГДА  ПродажаПокупкаОстаткиИОбороты.КоличествоНачальныйОстаток = 0
  ТОГДА "0"
КОНЕЦ
Как говорится найди хотя бы одно отличие.
(13)(14) Харошь стебаться. Счас доведёте человека, пойдёт на 25 этаж гостиницы "Космос".
16 loonypy
 
04.03.13
18:21
(10)Намекали, только макет делал в СКД - ничего не рисовал. Поэтому не понял, где формат менять.
17 loonypy
 
04.03.13
18:25
(15)спасибо. А почему в скобках? Думал, что так только строки сравниваются.
18 Джинн
 
04.03.13
18:26
(16) Вы это, бросайте семерочные замашки с макетами...

Первая закладка "Наборы данных", поле Оформление. Там Формат.
19 Джинн
 
04.03.13
18:26
(17) За это не спасибо говорить нужно, а руки отрывать.
20 loonypy
 
04.03.13
18:29
(19)нашел. Почему "отрывать"? Что не так с вариантом Ахиллеса?
21 Rie
 
04.03.13
18:31
(20) То, что надо не в запросе надо число в строку преобразовывать (тем паче через ВЫБОР), а формат задавать правильно.
22 Ахиллес
 
04.03.13
18:31
(20) Это не совет, так делать, это просто намёк, задуматься, о представлении нуля, как числа и строки.
З.Ы. Согласен с Джином, руки за такое отрывать надо :-)
23 Джинн
 
04.03.13
18:40
(22) Да я приколоться просто. Обычно я помню старожилов и могу оценить их кунг-фу :)
24 loonypy
 
04.03.13
18:42
Спасибо Джинну.
(21) >>  преобразовывать (тем паче через ВЫБОР), а формат задавать правильно  
В чем разница между ВЫБОР и настройкой формата в СКД?  В базе хранится ячейка какого-то типа --> читаем запросом значение этой ячейки --> отображаем значение в отчет.
25 Rie
 
04.03.13
18:45
(24) В том и разница, что ВЫБОР выполняется внутри запроса, а форматирование - уже опосля, при выводе данных пользователю на экран (или ещё куда).
Отображаются пользователю только выбранные данные. А запросу приходится выполнять куда более тяжкую работу.
26 loonypy
 
04.03.13
18:58
(25) ясно, спасибо.
27 loonypy
 
04.03.13
19:28
Просто немного не логично (по-моему): если запрос возвращает значение типа число, то 1с автоматически должна его распознать и вывести: числа-то в отчет нормально выводятся; пустое значение числового типа интерпретируется как 0 -- значит 1с его так же должен нормально распознать и вывести в отчет как 0. Вместо этого вручную формат указывать нужно.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс