|
В отчет не попадают строки, которые должны попасть | ☑ | ||
---|---|---|---|---|
0
Serioso
19.04.16
✎
10:36
|
Платформа: 1С:Предприятие 8.3 (8.3.6.2152)
Конфигурация: Управление производственным предприятием, редакция 1.3 (1.3.75.2), измененная, SQL-серверный вариант. Уважаемые форумчане! В данный момент пишу отчет на СКД и обнаружил эффект, противоречащий логике. По запросу 1. За март месяц попадают в отчет 674 строки: 1. ВЫБРАТЬ ВнутреннийЗаказ.Ссылка КАК Заказ, пг_ИспользованиеМатериалов.Ссылка КАК ИспользованиеМатериалов, пг_ИспользованиеМатериалов.Дата ИЗ Документ.ВнутреннийЗаказ КАК ВнутреннийЗаказ ПОЛНОЕ СОЕДИНЕНИЕ Документ.пг_ИспользованиеМатериалов КАК пг_ИспользованиеМатериалов ПО ВнутреннийЗаказ.ДокументОснование = пг_ИспользованиеМатериалов.Ссылка ГДЕ пг_ИспользованиеМатериалов.Дата МЕЖДУ &Дата1 И &Дата2 По запросу 2. За март месяц попадают в отчет 671 строка: 2. ВЫБРАТЬ ВнутреннийЗаказ.Ссылка КАК Заказ, пг_ИспользованиеМатериалов.Ссылка КАК ИспользованиеМатериалов, пг_ИспользованиеМатериалов.Дата ИЗ Документ.ВнутреннийЗаказ КАК ВнутреннийЗаказ ПОЛНОЕ СОЕДИНЕНИЕ Документ.пг_ИспользованиеМатериалов КАК пг_ИспользованиеМатериалов ПО ВнутреннийЗаказ.ДокументОснование = пг_ИспользованиеМатериалов.Ссылка ГДЕ пг_ИспользованиеМатериалов.Дата МЕЖДУ &Дата1 И &Дата2 И ВнутреннийЗаказ.Ссылка <> ЗНАЧЕНИЕ(Документ.ВнутреннийЗаказ.ПустаяСсылка) По запросу 3. За март месяц попадают в отчет 0 строк (а должно быть 674 – 671 = 3 строки): 3. ВЫБРАТЬ ВнутреннийЗаказ.Ссылка КАК Заказ, пг_ИспользованиеМатериалов.Ссылка КАК ИспользованиеМатериалов, пг_ИспользованиеМатериалов.Дата ИЗ Документ.ВнутреннийЗаказ КАК ВнутреннийЗаказ ПОЛНОЕ СОЕДИНЕНИЕ Документ.пг_ИспользованиеМатериалов КАК пг_ИспользованиеМатериалов ПО ВнутреннийЗаказ.ДокументОснование = пг_ИспользованиеМатериалов.Ссылка ГДЕ пг_ИспользованиеМатериалов.Дата МЕЖДУ &Дата1 И &Дата2 И НЕ (ВнутреннийЗаказ.Ссылка <> ЗНАЧЕНИЕ(Документ.ВнутреннийЗаказ.ПустаяСсылка)) Короче, в 3-м запросе содержится условие противоположное условию во 2-м запросе. Почему в отчет по запросу 3. Попадает 0 строк? Какие могут быть версии? |
|||
1
Timon1405
19.04.16
✎
10:37
|
про null дать почитать или сам найдешь?
|
|||
2
Serioso
19.04.16
✎
10:39
|
(1) Уже пробовал. Не получилось.
|
|||
3
Serioso
19.04.16
✎
10:42
|
(1) С этим null в моем отчете как угодно крути, будет 0 строк.
|
|||
4
Timon1405
19.04.16
✎
10:44
|
(2) как пробовал-то?
|
|||
5
Serioso
19.04.16
✎
10:47
|
(4)
Вот так: ВЫБРАТЬ ВнутреннийЗаказ.Ссылка КАК Заказ, пг_ИспользованиеМатериалов.Ссылка КАК ИспользованиеМатериалов, пг_ИспользованиеМатериалов.Дата ИЗ Документ.ВнутреннийЗаказ КАК ВнутреннийЗаказ ПОЛНОЕ СОЕДИНЕНИЕ Документ.пг_ИспользованиеМатериалов КАК пг_ИспользованиеМатериалов ПО ВнутреннийЗаказ.ДокументОснование = пг_ИспользованиеМатериалов.Ссылка ГДЕ пг_ИспользованиеМатериалов.Дата МЕЖДУ &Дата1 И &Дата2 И (ВнутреннийЗаказ.Ссылка = Null) И вот так: ВЫБРАТЬ ВнутреннийЗаказ.Ссылка КАК Заказ, пг_ИспользованиеМатериалов.Ссылка КАК ИспользованиеМатериалов, пг_ИспользованиеМатериалов.Дата ИЗ Документ.ВнутреннийЗаказ КАК ВнутреннийЗаказ ПОЛНОЕ СОЕДИНЕНИЕ Документ.пг_ИспользованиеМатериалов КАК пг_ИспользованиеМатериалов ПО ВнутреннийЗаказ.ДокументОснование = пг_ИспользованиеМатериалов.Ссылка ГДЕ пг_ИспользованиеМатериалов.Дата МЕЖДУ &Дата1 И &Дата2 И НЕ (ВнутреннийЗаказ.Ссылка = Null) |
|||
6
тарам пам пам
19.04.16
✎
10:49
|
(5) на null надо проверять через ЕСТЬ NULL, а не просто через равенство
|
|||
7
Serioso
19.04.16
✎
10:49
|
(4) И в двух случаях - 0 строк.
Наверное откажусь от СКД и буду делать тупой классический отчет с условием вне запроса. Так надежнее. Но хочется знать - почему? |
|||
8
Serioso
19.04.16
✎
10:49
|
(6) Сейчас попробую.
|
|||
9
Serioso
19.04.16
✎
10:53
|
(6) Охренеть. Получилось. Спасибо большое.
|
|||
10
Chameleon1980
19.04.16
✎
10:55
|
ну правильно Null это ничего
как сравнить само ничегос ничего можно только узнать что это ничего и другое ничего что и делает Is Null |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |