|
проверить на наличие реквизита в запросе |
☑ |
0
arhiordinator
26.07.15
✎
23:08
|
Подскажите как в запросе можно проверить на наличие реквизита, количество.
Дело в том, что в некоторых документах он есть, в некоторых отсутствует, если количество отсутствует выводить нуль.
|
|
1
Naumov
26.07.15
✎
23:10
|
ЕстьNULL
|
|
2
FIXXXL
26.07.15
✎
23:14
|
(1) не прокатит, запрос не выполнится, если в объекте нет реквизита
|
|
3
arhiordinator
26.07.15
✎
23:15
|
|ВЫБРАТЬ
|ТИПЗНАЧЕНИЯ(Ссылка) КАК Тип,
| Док.Номер ,
| Док.Дата ,
| ВЫБОР
|КОГДА ЕСТЬNULL(Док.Ссылка.Сумма, ИСТИНА) = ИСТИНА
| ТОГДА 0
|ИНАЧЕ Док.Сумма
| КОНЕЦ КАК Сумма
|ИЗ Документ.Распродажа КАК Док";
не работает
|
|
4
FIXXXL
26.07.15
✎
23:16
|
(0) у тебя имя объекта через переменную в запрос попадает?
Тогда формируй текст запроса динамически, в зависимости от наличия реквизита
|
|
5
arhiordinator
26.07.15
✎
23:18
|
(4) Находил посты где люди ЕСТЬNULL проверяли и всё было ок
|
|
6
arhiordinator
26.07.15
✎
23:18
|
ток у меня чет не получается.
|
|
7
GROOVY
26.07.15
✎
23:19
|
У тебя в собеседовании куча дебильных задач на работу с метаданными.
|
|
8
FIXXXL
26.07.15
✎
23:19
|
(3) в этом случае можно через параметр в запрос сунуть проверку
Выбор когда &НетКоличества тогда 0
Иначе документ.количество
НетКоличества узнай перед запросом
|
|
9
arhiordinator
26.07.15
✎
23:22
|
(7) Точняк, такая скука, щас сдохну, всякая херь, ниче интересного в целом.
|
|
10
arhiordinator
26.07.15
✎
23:46
|
(8) Спасибо сделал как сказал, а то бы мучился с ЕСТЬNULL
|
|
11
Serg_1960
27.07.15
✎
00:03
|
(3) "Док.Ссылка.Сумма" лишнее, достаточно Док.Сумма и вместо выбора можно короче - "ЕСТЬNULL(Док.Сумма, 0) КАК Сумма"
|
|
12
Serg_1960
27.07.15
✎
00:17
|
+(11) Но если в документе нет реквизита "Сумма" - вам запрос не помощник - нет в языке запросов функционала, позволяющего обработать ситуацию обращения к "отсутствующему".
|
|
13
Zamestas
27.07.15
✎
00:20
|
(12) Метаданные в топку?
|
|
14
Serg_1960
27.07.15
✎
00:26
|
(13) В запросе? О_О
|
|
15
Zamestas
27.07.15
✎
01:17
|
(14) До.
|
|
16
ИС-2
27.07.15
✎
07:08
|
(14) если и только в запросе выбрать все поля (выбрать *), поместить в временную таблицу и работать уже дальше с ней
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший