|
Где ошибка в запросе? | ☑ | ||
---|---|---|---|---|
0
SherifSP
03.01.14
✎
17:59
|
Запрос работал норм, пока левым соединением не добавил виртуальную таблицу, сейчас ругается на неоднозначное поле "| И (НЕ Номенклатура.ЭтоГруппа)", что не так?
1)Работает нормально; ТекстЗапроса = "ВЫБРАТЬ | Номенклатура КАК Ссылка, | Номенклатура.ПометкаУдаления КАК ПометкаУдаления, | Номенклатура.Наименование КАК Наименование, | ЕСТЬNULL(Номенклатура.Родитель, """") КАК Родитель, | Номенклатура.СтавкаНДС КАК СтавкаНДС, | ЕСТЬNULL(Номенклатура.НоменклатурнаяГруппа, """") КАК НоменклатурнаяГруппа, | ЕСТЬNULL(Номенклатура.БазоваяЕдиницаИзмерения, """") КАК БазоваяЕдиницаИзмерения, | ЕСТЬNULL(Номенклатура.ЕдиницаХраненияОстатков, """") КАК ЕдиницаХраненияОстатков, | Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаХРОст, | Номенклатура.БазоваяЕдиницаИзмерения КАК БазоваяЕИ, | Номенклатура.ВидНоменклатуры.ТипНоменклатуры КАК ТипНоменклатуры, | Номенклатура.Родитель КАК РодНом, | Номенклатура.НаименованиеПолное КАК НаимПолное, | Номенклатура.Весовой КАК Весовой, | Номенклатура.ВестиУчетПоХарактеристикам КАК ВестиУчетПоХарактеристикам, | &Склад КАК Склад, | Остаток КАК СвободныйОстаток, | 0 КАК Акция, | АкцизныйТовар |ИЗ ТоварыПоТорговым |ГДЕ (ТорговыйПредставитель = &ТорговыйПредставитель) | И (НЕ Номенклатура.ЭтоГруппа) | И (НЕ Номенклатура.ПометкаУдаления) |ИТОГИ | СУММА(СвободныйОстаток) |ПО | Ссылка | Склад |"; 2) Не работает ТекстЗапроса = "ВЫБРАТЬ | Номенклатура КАК Ссылка, | Номенклатура.ПометкаУдаления КАК ПометкаУдаления, | Номенклатура.Наименование КАК Наименование, | ЕСТЬNULL(Номенклатура.Родитель, """") КАК Родитель, | Номенклатура.СтавкаНДС КАК СтавкаНДС, | ЕСТЬNULL(Номенклатура.НоменклатурнаяГруппа, """") КАК НоменклатурнаяГруппа, | ЕСТЬNULL(Номенклатура.БазоваяЕдиницаИзмерения, """") КАК БазоваяЕдиницаИзмерения, | ЕСТЬNULL(Номенклатура.ЕдиницаХраненияОстатков, """") КАК ЕдиницаХраненияОстатков, | Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаХРОст, | Номенклатура.БазоваяЕдиницаИзмерения КАК БазоваяЕИ, | Номенклатура.ВидНоменклатуры.ТипНоменклатуры КАК ТипНоменклатуры, | Номенклатура.Родитель КАК РодНом, | Номенклатура.НаименованиеПолное КАК НаимПолное, | Номенклатура.Весовой КАК Весовой, | Номенклатура.ВестиУчетПоХарактеристикам КАК ВестиУчетПоХарактеристикам, | &Склад КАК Склад, | Остаток КАК СвободныйОстаток, | 0 КАК Акция, | АкцизныйТовар |ИЗ ТоварыПоТорговым |ГДЕ (ТорговыйПредставитель = &ТорговыйПредставитель) | И (НЕ Номенклатура.ЭтоГруппа) | И (НЕ Номенклатура.ПометкаУдаления) |ИТОГИ | СУММА(СвободныйОстаток) |ПО | Ссылка | Склад |"; |
|||
1
SherifSP
03.01.14
✎
18:00
|
+(0) Второй запрос не такой, вот он:
ТекстЗапроса = "ВЫБРАТЬ | Номенклатура КАК Ссылка, | Номенклатура.ПометкаУдаления КАК ПометкаУдаления, | Номенклатура.Наименование КАК Наименование, | ЕСТЬNULL(Номенклатура.Родитель, """") КАК Родитель, | Номенклатура.СтавкаНДС КАК СтавкаНДС, | ЕСТЬNULL(Номенклатура.НоменклатурнаяГруппа, """") КАК НоменклатурнаяГруппа, | ЕСТЬNULL(Номенклатура.БазоваяЕдиницаИзмерения, """") КАК БазоваяЕдиницаИзмерения, | ЕСТЬNULL(Номенклатура.ЕдиницаХраненияОстатков, """") КАК ЕдиницаХраненияОстатков, | Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаХРОст, | Номенклатура.БазоваяЕдиницаИзмерения КАК БазоваяЕИ, | Номенклатура.ВидНоменклатуры.ТипНоменклатуры КАК ТипНоменклатуры, | Номенклатура.Родитель КАК РодНом, | Номенклатура.НаименованиеПолное КАК НаимПолное, | Номенклатура.Весовой КАК Весовой, | Номенклатура.ЕдиницаХраненияОстатков.Объем КАК Литр, | Номенклатура.СодержаниеСпирта КАК СодержаниеСпирта, | Номенклатура.ВидАлкогольнойПродукции КАК ВидАлкогольнойПродукции, | Номенклатура.ВестиУчетПоХарактеристикам КАК ВестиУчетПоХарактеристикам, | ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0) КАК Цена, | ВЫБОР | КОГДА ЦеныНоменклатуры.ТипЦены ЕСТЬ NULL | ТОГДА &ТипЦены | ИНАЧЕ ЦеныНоменклатуры.ТипЦены | КОНЕЦ КАК ТипЦены, | &Склад КАК Склад, | Остаток КАК СвободныйОстаток, | 0 КАК Акция, | АкцизныйТовар |ИЗ | ТоварыПоТорговым КАК ТоварыПоТорговым | ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры | ПО ТоварыПоТорговым.Номенклатура = ЦеныНоменклатуры.Номенклатура |ГДЕ (ТорговыйПредставитель = &ТорговыйПредставитель) | И (НЕ Номенклатура.ЭтоГруппа) | И (НЕ Номенклатура.ПометкаУдаления) |ИТОГИ | СУММА(СвободныйОстаток) |ПО | Ссылка | Склад |"; |
|||
2
zulu_mix
03.01.14
✎
18:03
|
обзови номенклатуру товаром
|
|||
3
SherifSP
03.01.14
✎
18:12
|
(3) Полностью всю?
|
|||
4
zulu_mix
03.01.14
✎
18:17
|
| И (НЕ ТоварыПоТорговым.Номенклатура.ЭтоГруппа)
| И (НЕ ТоварыПоТорговым.Номенклатура.ПометкаУдаления) |
|||
5
dangerouscoder
03.01.14
✎
18:47
|
перепиши через пакет запросов..
|
|||
6
SherifSP
03.01.14
✎
18:54
|
Переделал вот так, но по полям виртуальной таблицы ЦеныНоменклатуры, всегда NULL, посмотрел отдельно 2 таблицы и в первой и во второй есть такая номенклатура, может не правильно соединил?
ТекстЗапроса = "ВЫБРАТЬ | ТоварыПоТорговым.Номенклатура КАК Ссылка, | ТоварыПоТорговым.Номенклатура.ПометкаУдаления КАК ПометкаУдаления, | ТоварыПоТорговым.Номенклатура.Наименование КАК Наименование, | ЕСТЬNULL(ТоварыПоТорговым.Номенклатура.Родитель, """") КАК Родитель, | ТоварыПоТорговым.Номенклатура.СтавкаНДС КАК СтавкаНДС, | ЕСТЬNULL(ТоварыПоТорговым.Номенклатура.НоменклатурнаяГруппа, """") КАК НоменклатурнаяГруппа, | ЕСТЬNULL(ТоварыПоТорговым.Номенклатура.БазоваяЕдиницаИзмерения, """") КАК БазоваяЕдиницаИзмерения, | ЕСТЬNULL(ТоварыПоТорговым.Номенклатура.ЕдиницаХраненияОстатков, """") КАК ЕдиницаХраненияОстатков, | ТоварыПоТорговым.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаХРОст, | ТоварыПоТорговым.Номенклатура.БазоваяЕдиницаИзмерения КАК БазоваяЕИ, | ТоварыПоТорговым.Номенклатура.ВидНоменклатуры.ТипНоменклатуры КАК ТипНоменклатуры, | ТоварыПоТорговым.Номенклатура.Родитель КАК РодНом, | ТоварыПоТорговым.Номенклатура.НаименованиеПолное КАК НаимПолное, | ТоварыПоТорговым.Номенклатура.Весовой КАК Весовой, | ТоварыПоТорговым.Номенклатура.ЕдиницаХраненияОстатков.Объем КАК Литр, | ТоварыПоТорговым.Номенклатура.СодержаниеСпирта КАК СодержаниеСпирта, | ТоварыПоТорговым.Номенклатура.ВидАлкогольнойПродукции КАК ВидАлкогольнойПродукции, | ТоварыПоТорговым.Номенклатура.ВестиУчетПоХарактеристикам КАК ВестиУчетПоХарактеристикам, | ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0) КАК Цена, | ВЫБОР | КОГДА ЦеныНоменклатуры.ТипЦены ЕСТЬ NULL | ТОГДА &ТипЦены | ИНАЧЕ ЦеныНоменклатуры.ТипЦены | КОНЕЦ КАК ТипЦены, | &Склад КАК Склад, | ТоварыПоТорговым.Остаток КАК СвободныйОстаток, | 0 КАК Акция, | ТоварыПоТорговым.АкцизныйТовар |ИЗ | ТоварыПоТорговым КАК ТоварыПоТорговым | ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры | ПО ТоварыПоТорговым.Номенклатура = ЦеныНоменклатуры.Номенклатура |ГДЕ (ТорговыйПредставитель = &ТорговыйПредставитель) | И (НЕ ТоварыПоТорговым.Номенклатура.ЭтоГруппа) | И (НЕ ТоварыПоТорговым.Номенклатура.ПометкаУдаления) |ИТОГИ | СУММА(СвободныйОстаток) |ПО | Ссылка | Склад |"; |
|||
7
gornovrom
03.01.14
✎
18:55
|
(1) у тебя теперь свободный остаток умножится на количество раз когда цену устанавливали на товар
|
|||
8
zulu_mix
03.01.14
✎
18:56
|
>>ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры
эт че, ВТ? |
|||
9
gornovrom
03.01.14
✎
18:59
|
(8) похоже
|
|||
10
SherifSP
03.01.14
✎
18:59
|
(8) Да
|
|||
11
gornovrom
03.01.14
✎
18:59
|
а нигде в менеджеревременныхтаблиц нет таблицы "Номенклатура"?
|
|||
12
ИсчадиеADO
03.01.14
✎
19:01
|
1ый тоже не работает, или приведен криво. Например непонятно, где табюНоменклатура и что есть Остаток
|
|||
13
SherifSP
03.01.14
✎
19:02
|
(11) Нету
|
|||
14
zulu_mix
03.01.14
✎
19:02
|
чет мой оракул ванговать отказывается. возможно таблицы кривые
|
|||
15
ИсчадиеADO
03.01.14
✎
19:03
|
(0) берешь, встаешь курсором в текст запроса, нажимаешь тект- констрктор запроса. У тебя он заругается
|
|||
16
ИсчадиеADO
03.01.14
✎
19:04
|
(14) или там где-то подмена текста запроса, чего ТС не заметил?
|
|||
17
gornovrom
03.01.14
✎
19:04
|
(6) Соединение правильное, только с учетом (7). Если всегда NULL - может таблицане заполняется всетаки?
|
|||
18
zulu_mix
03.01.14
✎
19:06
|
меня вот этот шматок сала смущает. мозг отказывается понимать нафига ТС два типа в одной колонке?
| ЕСТЬNULL(Номенклатура.НоменклатурнаяГруппа, """") КАК НоменклатурнаяГруппа, | ЕСТЬNULL(Номенклатура.БазоваяЕдиницаИзмерения, """") КАК БазоваяЕдиницаИзмерения, | ЕСТЬNULL(Номенклатура.ЕдиницаХраненияОстатков, """") КАК ЕдиницаХраненияОстатков, |
|||
19
GANR
03.01.14
✎
19:23
|
(0) Поле Номенклатура присутствует в обеих таблицах, а в секции ГДЕ к нему идет обращение без указания таблицы.
|ГДЕ (ТорговыйПредставитель = &ТорговыйПредставитель) | И (НЕ Номенклатура.ЭтоГруппа) | И (НЕ Номенклатура.ПометкаУдаления) Как ЭВМ узнает, что подразумевается под "Номенклатура"? |
|||
20
SherifSP
03.01.14
✎
19:25
|
(17) Заполняется
|
|||
21
hhhh
03.01.14
✎
19:26
|
(19)+ и еще
ГДЕ (ТорговыйПредставитель = &ТорговыйПредставитель) |
|||
22
SherifSP
03.01.14
✎
19:27
|
(21)
ВЫБРАТЬ ТоварыПоТорговым.Номенклатура КАК Ссылка, ТоварыПоТорговым.Номенклатура.ПометкаУдаления КАК ПометкаУдаления, ТоварыПоТорговым.Номенклатура.Наименование КАК Наименование, ЕСТЬNULL(ТоварыПоТорговым.Номенклатура.Родитель, "") КАК Родитель, ТоварыПоТорговым.Номенклатура.СтавкаНДС КАК СтавкаНДС, ЕСТЬNULL(ТоварыПоТорговым.Номенклатура.НоменклатурнаяГруппа, "") КАК НоменклатурнаяГруппа, ЕСТЬNULL(ТоварыПоТорговым.Номенклатура.БазоваяЕдиницаИзмерения, "") КАК БазоваяЕдиницаИзмерения, ЕСТЬNULL(ТоварыПоТорговым.Номенклатура.ЕдиницаХраненияОстатков, "") КАК ЕдиницаХраненияОстатков, ТоварыПоТорговым.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаХРОст, ТоварыПоТорговым.Номенклатура.БазоваяЕдиницаИзмерения КАК БазоваяЕИ, ТоварыПоТорговым.Номенклатура.ВидНоменклатуры.ТипНоменклатуры КАК ТипНоменклатуры, ТоварыПоТорговым.Номенклатура.Родитель КАК РодНом, ТоварыПоТорговым.Номенклатура.НаименованиеПолное КАК НаимПолное, ТоварыПоТорговым.Номенклатура.Весовой КАК Весовой, ТоварыПоТорговым.Номенклатура.ЕдиницаХраненияОстатков.Объем КАК Литр, ТоварыПоТорговым.Номенклатура.СодержаниеСпирта КАК СодержаниеСпирта, ТоварыПоТорговым.Номенклатура.ВидАлкогольнойПродукции КАК ВидАлкогольнойПродукции, ТоварыПоТорговым.Номенклатура.ВестиУчетПоХарактеристикам КАК ВестиУчетПоХарактеристикам, ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0) КАК Цена, ВЫБОР КОГДА ЦеныНоменклатуры.ТипЦены ЕСТЬ NULL ТОГДА &ТипЦены ИНАЧЕ ЦеныНоменклатуры.ТипЦены КОНЕЦ КАК ТипЦены, &Склад КАК Склад, ТоварыПоТорговым.Остаток КАК СвободныйОстаток, 0 КАК Акция, ТоварыПоТорговым.АкцизныйТовар ИЗ ТоварыПоТорговым КАК ТоварыПоТорговым ЛЕВОЕ СОЕДИНЕНИЕ ЦеныНоменклатуры КАК ЦеныНоменклатуры ПО ТоварыПоТорговым.Номенклатура = ЦеныНоменклатуры.Номенклатура ГДЕ ТоварыПоТорговым.ТорговыйПредставитель = &ТорговыйПредставитель И (НЕ ТоварыПоТорговым.Номенклатура.ЭтоГруппа) И (НЕ ТоварыПоТорговым.Номенклатура.ПометкаУдаления) ИТОГИ СУММА(СвободныйОстаток) ПО Ссылка КАК Склад Вот этот актуальный запрос, в конструктор заходит норм |
|||
23
SherifSP
03.01.14
✎
19:28
|
+(22) Но все равно ЦеныНоменклатуры мне возвращают по всем полям Null, а в первой все нормально
|
|||
24
ИсчадиеADO
03.01.14
✎
19:31
|
(23) "ЦеныНоменклатуры мне возвращают по всем полям Null" - в итогах, а не детальных записях
|
|||
25
hhhh
03.01.14
✎
19:35
|
(23) а почему
ВЫБРАТЬ ТоварыПоТорговым.Номенклатура КАК Ссылка, а внизу ПО Ссылка КАК Склад ?? |
|||
26
SherifSP
03.01.14
✎
19:38
|
(24) Если выгрузить запрос, то в подчиненных строках все есть, но когда Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам) то ничего нету в выборке, как можно выбрать подчиненные строки?
|
|||
27
ИсчадиеADO
03.01.14
✎
19:44
|
(26) Выборка1 = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока Выборка1.Следующий() Цикл Выборка2 = Выборка1.Выбрать(); КонецЦикла; и ответь на (25), что-то ты поля путаешь |
|||
28
SherifSP
03.01.14
✎
19:49
|
(27) Не мой запрос, не могу знать, то псевдоним группировки
|
|||
29
SherifSP
03.01.14
✎
19:52
|
А что быстрее отработает, функция Найти() или перебор циклом? Строк будит не больше 5
|
|||
30
hhhh
03.01.14
✎
20:52
|
найти ищет внутри строки, вообще-то.
|
|||
31
Sorm
03.01.14
✎
22:12
|
(0) Ну пишет же - неоднозначное поле! Псевдонимами у таблиц уже стоит пользоваться.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |