|
В запросе условие на субконто работает избирательно | ☑ | ||
---|---|---|---|---|
0
ixijixi
14.07.14
✎
15:35
|
ВЫБРАТЬ
АвансовыйОтчетПолучено.ДокументАванса КАК ДокументАванса, АвансовыйОтчетПолучено.Ссылка.Сотрудник.Контрагент ПОМЕСТИТЬ ПОЛУЧЕНОАВАНСОВ ИЗ Документ.АвансовыйОтчет.Получено КАК АвансовыйОтчетПолучено ГДЕ АвансовыйОтчетПолучено.Ссылка В(&Ссылка) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ЖурналПроводокЕПСБУДвиженияССубконто.КФО, ЖурналПроводокЕПСБУДвиженияССубконто.СчетДт, ЖурналПроводокЕПСБУДвиженияССубконто.КПСДт, ЖурналПроводокЕПСБУДвиженияССубконто.КЭКДт, ЖурналПроводокЕПСБУДвиженияССубконто.СчетКт, ЖурналПроводокЕПСБУДвиженияССубконто.КПСКт, ЖурналПроводокЕПСБУДвиженияССубконто.КЭККт, СУММА(ЖурналПроводокЕПСБУДвиженияССубконто.Сумма) КАК СуммаРуб, СУММА(ЖурналПроводокЕПСБУДвиженияССубконто.Сумма) КАК СуммаВал, СУММА(ЖурналПроводокЕПСБУДвиженияССубконто.Сумма) КАК СуммаПокрытияБух, СУММА(ЖурналПроводокЕПСБУДвиженияССубконто.Сумма) КАК СуммаПокрытияРасчетная ИЗ РегистрБухгалтерии.ЖурналПроводокЕПСБУ.ДвиженияССубконто( , , Регистратор В (ВЫБРАТЬ Т.ДокументАванса ИЗ ПОЛУЧЕНОАВАНСОВ КАК Т) И (ВЫБОР КОГДА СубконтоДт1 ССЫЛКА Справочник.Контрагенты ТОГДА СубконтоДт1 В (ВЫБРАТЬ Т.СотрудникКонтрагент ИЗ ПОЛУЧЕНОАВАНСОВ КАК Т) ИНАЧЕ ЛОЖЬ КОНЕЦ ИЛИ ВЫБОР КОГДА СубконтоКт1 ССЫЛКА Справочник.Контрагенты ТОГДА СубконтоКт1 В (ВЫБРАТЬ Т.СотрудникКонтрагент ИЗ ПОЛУЧЕНОАВАНСОВ КАК Т) ИНАЧЕ ЛОЖЬ КОНЕЦ), , ) КАК ЖурналПроводокЕПСБУДвиженияССубконто СГРУППИРОВАТЬ ПО ЖурналПроводокЕПСБУДвиженияССубконто.КФО, ЖурналПроводокЕПСБУДвиженияССубконто.СчетДт, ЖурналПроводокЕПСБУДвиженияССубконто.КПСДт, ЖурналПроводокЕПСБУДвиженияССубконто.КЭКДт, ЖурналПроводокЕПСБУДвиженияССубконто.СчетКт, ЖурналПроводокЕПСБУДвиженияССубконто.КПСКт, ЖурналПроводокЕПСБУДвиженияССубконто.КЭККт Если проверять условие на субконто только Дт или Кт, то выборка не пустая, при совместной проверке (Дт или Кт) - пустая. В чем может быть затык? |
|||
1
Лефмихалыч
14.07.14
✎
15:36
|
запрос не читал. Видимо затык в том, что любое сравнение с NULL дает ложь
|
|||
2
kosts
14.07.14
✎
15:37
|
(0) Наверное одновременно нет строк когда есть контрагент и там и там.
|
|||
3
kosts
14.07.14
✎
15:42
|
(2) А нет. Что-то не заметил ИЛИ.
|
|||
4
Лефмихалыч
14.07.14
✎
15:46
|
Регистратор В (ВЫБРАТЬ ) И
(ВЫБОР КОГДА ТОГДА СубконтоДт1 В (ВЫБРАТЬ КОГДА ТОГДА СубконтоКт1 В (ВЫБРАТЬ http://i.imgur.com/NaYVpsH.png |
|||
5
ixijixi
14.07.14
✎
15:51
|
(1) так проверку на NULL исключаю:
КОГДА СубконтоКт1 ССЫЛКА Справочник.Контрагенты ТОГДА СубконтоКт1 В (ВЫБРАТЬ... |
|||
6
ixijixi
14.07.14
✎
15:57
|
+(1) к тому же ВЫБРАТЬ ИСТИНА ИЛИ ЛОЖЬ на выходе даст ИСТИНА
|
|||
7
ixijixi
14.07.14
✎
16:13
|
ап
|
|||
8
ixijixi
14.07.14
✎
16:24
|
Неужели никаких мыслей?
|
|||
9
ixijixi
14.07.14
✎
16:34
|
бджад! Вынес условие из виртуальной таблицы в оператор ГДЕ и фсё заработало! Капец, 2 дня потратил!
|
|||
10
SSSSS_AAAAA
14.07.14
✎
16:36
|
(5) Вызывает большие сомнения.
В качестве иллюстрации код на T-SQL declare @var int set @var = null select case when @var < 0 then '111' else '222' end В переводе на 1с: Перем пер пер = null Выбрать выбор когда пер > 0 тогда "111" иначе "222" конец При любом сравнении с любым числом результат будет один и тот же - 222 |
|||
11
kosts
14.07.14
✎
16:39
|
(9) Чисто попробовать, вот так попробуй:
|
|||
12
ixijixi
14.07.14
✎
16:44
|
(11) Не, так тоже не пашет =(
|
|||
13
ixijixi
14.07.14
✎
16:45
|
вопчем, вопрос решен в (9)
|
|||
14
kosts
14.07.14
✎
16:47
|
(13) Значит все таки null...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |