|
|
Левое соединение и NULL |
☑ |
|
0
distorter
18.06.17
✎
14:40
|
Не отрабатывает ситуацию, когда в ТЧ есть Номенклатура, а на остатках ее нету. Не могу понять что не так в тексте запроса.
Запрос.Текст =
"ВЫБРАТЬ
| У_СборкаСоставКомплекта.Номенклатура КАК Номенклатура,
| У_СборкаСоставКомплекта.Количество КАК Количество,
| ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстаток,
| ЕСТЬNULL(ХозрасчетныйОстатки.КоличествоОстаток,0) КАК КоличествоОстаток
|ИЗ
| Документ.У_Сборка.СоставКомплекта КАК У_СборкаСоставКомплекта
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки
| ПО У_СборкаСоставКомплекта.Номенклатура = ХозрасчетныйОстатки.Субконто1
|ГДЕ
| ХозрасчетныйОстатки.Счет = &СчетУчетаТоваров
| И У_СборкаСоставКомплекта.Ссылка = &Ссылка";
|
|
|
1
Сергиус
18.06.17
✎
14:49
|
(0)В каком смысле не отрабатывает? Пустой запрос возвращает?
|
|
|
2
distorter
18.06.17
✎
15:00
|
(0) Работает как внутреннее соединение. То есть в выборке отсутствует номенклатура из таблицы Документ.У_Сборка.СоставКомплекта, которой нет на остатках, а должна присутствовать с КоличествоОстаток = 0.
|
|
|
3
Неверный Параметр И
18.06.17
✎
15:02
|
|ГДЕ
| ХозрасчетныйОстатки.Счет = &СчетУчетаТоваров
Вот здесь ошибка
|
|
|
4
DrZombi
гуру
18.06.17
✎
15:09
|
(0) Вы используете в отборе не основную таблицу 😀
|
|
|
5
Фрэнки
18.06.17
✎
15:27
|
Запрос.Текст =
"ВЫБРАТЬ
| У_СборкаСоставКомплекта.Номенклатура КАК Номенклатура,
| У_СборкаСоставКомплекта.Количество КАК Количество,
| ЕСТЬNULL(ХозрасчетныйОстатки.СуммаОстаток,0) КАК СуммаОстаток,
| ЕСТЬNULL(ХозрасчетныйОстатки.КоличествоОстаток,0) КАК КоличествоОстаток
|ИЗ
| Документ.У_Сборка.СоставКомплекта КАК У_СборкаСоставКомплекта
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки
| ПО (У_СборкаСоставКомплекта.Номенклатура = ХозрасчетныйОстатки.Субконто1 И ХозрасчетныйОстатки.Счет = &СчетУчетаТоваров)
|ГДЕ
| У_СборкаСоставКомплекта.Ссылка = &Ссылка";
|
|
|
6
distorter
18.06.17
✎
15:43
|
(5) Так работает. Спасибо!
|
|
|
7
mehfk
18.06.17
✎
17:48
|
(5) Неуд за неиспользование отборов в виртуальных таблицах.
|
|
|
8
Фрэнки
18.06.17
✎
19:45
|
(7) а мне лениво было разбивать один текст запроса на виртуальную таблицу, тем более, что это спорная и неочевидная оптимизация
|
|
|
9
mehfk
19.06.17
✎
04:23
|
(8) Неуд за тезис "это спорная и неочевидная оптимизация".
|
|
|
10
Redkiy
19.06.17
✎
08:33
|
Я бы даже кол поставил за неиспользование параметров виртуальных таблиц.
|
|
|
11
Одинесю
19.06.17
✎
08:37
|
Человек помог, а вы тут экзамены развели ))
|
|
|
12
1dvd
19.06.17
✎
08:42
|
(8) Остатки - и есть виртуальная таблица
Чего там разбивать?
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший