|
Вложенный запрос с объединением | ☑ | ||
---|---|---|---|---|
0
Kucha88
20.09.13
✎
08:46
|
Доброго всем дня, помогите разобраться с кодом 1с 8.2 УПП. Есть документ заказ покупателя и в ПФ пытаюсь вывести доп колонки КоличествоМест из ТЧ Товары и постоянно выдает ошибки(Ошибка при вызове метода контекста (Выполнить): {(13, 18)}: Поле не найдено "Вложенныйзапрос.количествомест" Вложенныйзапрос.<>количествомест как кмест,) . Я никак не могу разобраться как сделать, помогите пожалуйста разобраться, код:
Запрос = Новый Запрос; ТекстЗапроса = " |ВЫБРАТЬ | ВложенныйЗапрос.НомерТЧ, | Минимум(ВложенныйЗапрос.ПризнакКорректировка) КАК ПризнакКорректировка, | Минимум(ВложенныйЗапрос.НомерСтроки) КАК НомерСтроки, | ВложенныйЗапрос.Номенклатура, | ВложенныйЗапрос.НаименованиеПолное, // Добавление в выборку наименования по сертификату. |"+?(НаЭкспорт," ЕСТЬNULL(ЗначенияСвойствОбъектов.Значение, """") КАК НаименованиеПоСертификату,", "")+" | ВложенныйЗапрос.Номенклатура.Артикул КАК Артикул, | ВложенныйЗапрос.Номенклатура.Код КАК Код, | СУММА(ВложенныйЗапрос.Количество) КАК КоличествоТовара, | ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ВложенныйЗапрос.количествомест как кмест, // это я пытаюсь добавить | ВложенныйЗапрос.ПроцентСкидкиНаценки | + ВложенныйЗапрос.ПроцентАвтоматическихСкидок КАК Скидка, | СУММА(ВложенныйЗапрос.СуммаНДС) КАК СуммаНДС, | ВложенныйЗапрос.Цена КАК Цена, | СУММА(ВложенныйЗапрос.Сумма) КАК Сумма, | ВложенныйЗапрос.ХарактеристикаНоменклатуры КАК Характеристика, | NULL КАК Серия |ИЗ | |( |ВЫБРАТЬ | Док.Номенклатура КАК Номенклатура, | ВЫРАЗИТЬ (Док.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК НаименованиеПолное, | Док.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | Док.КоличествоМест как кмест, | Док.Цена КАК Цена, | Док.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки, | Док.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок, | Док.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | Док.СуммаНДС КАК СуммаНДС, |" + ?(Шапка.СуммаВключаетНДС, " ВЫБОР | КОГДА Док.Ссылка.СуммаВключаетНДС | ТОГДА Док.Сумма | ИНАЧЕ Док.Сумма + Док.СуммаНДС | КОНЕЦ", " ВЫБОР | КОГДА НЕ Док.Ссылка.СуммаВключаетНДС | ТОГДА Док.Сумма | ИНАЧЕ Док.Сумма + Док.СуммаНДС | КОНЕЦ") + " КАК Сумма, | Док.Количество КАК Количество, | (1) КАК НомерТЧ, | (0) КАК ПризнакКорректировка, | Док.НомерСтроки КАК НомерСтроки | ИЗ | Документ." + СтруктураАктуальныйЗаказ.ИмяЗаказа + ".Товары КАК Док | | ГДЕ | Док.Ссылка = &АктуальныйЗаказ | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | Док.Номенклатура КАК Номенклатура, | ВЫРАЗИТЬ (Док.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК НаименованиеПолное, | Док.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | Док.КоличествоМест КАК КМест, | Док.Цена КАК Цена, | Док.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки, | Док.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок, | Док.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | Док.СуммаНДС КАК СуммаНДС, |" + ?(Шапка.СуммаВключаетНДС, " ВЫБОР | КОГДА Док.Ссылка.СуммаВключаетНДС | ТОГДА Док.Сумма | ИНАЧЕ Док.Сумма + Док.СуммаНДС | КОНЕЦ", " ВЫБОР | КОГДА НЕ Док.Ссылка.СуммаВключаетНДС | ТОГДА Док.Сумма | ИНАЧЕ Док.Сумма + Док.СуммаНДС | КОНЕЦ") + " КАК Сумма, | Док.Количество КАК Количество, | (1) КАК НомерТЧ, | (1) КАК ПризнакКорректировка, // Для корректировок номер строки увеличивается, чтобы добавляемые позиции были последними | (9999 + Док.НомерСтроки) КАК НомерСтроки | ИЗ | Документ.КорректировкаЗаказаПокупателя.Товары КАК Док | | ГДЕ | Док.Ссылка.ЗаказПокупателя = &ТекущийДокумент | И Док.Ссылка.Проведен = Истина | И Док.Ссылка.Дата > &ДатаАктуальногоЗаказа | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | Док.Номенклатура КАК Номенклатура, | " + СтрокаВыборкиПоляСодержания + " КАК НаименованиеПолное, | Док.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения, | NULL как кмест, | Док.Цена КАК Цена, | Док.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки, | Док.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок, | NULL КАК ХарактеристикаНоменклатуры, | Док.СуммаНДС КАК СуммаНДС, |" + ?(Шапка.СуммаВключаетНДС, " ВЫБОР | КОГДА Док.Ссылка.СуммаВключаетНДС | ТОГДА Док.Сумма | ИНАЧЕ Док.Сумма + Док.СуммаНДС | КОНЕЦ", " ВЫБОР | КОГДА НЕ Док.Ссылка.СуммаВключаетНДС | ТОГДА Док.Сумма | ИНАЧЕ Док.Сумма + Док.СуммаНДС | КОНЕЦ") + " КАК Сумма, | Док.Количество КАК Количество, | (2) КАК НомерТЧ, | (0) КАК ПризнакКорректировка, | Док.НомерСтроки КАК НомерСтроки | ИЗ | Документ." + СтруктураАктуальныйЗаказ.ИмяЗаказа + ".Услуги КАК Док | | ГДЕ | Док.Ссылка = &АктуальныйЗаказ | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | Док.Номенклатура КАК Номенклатура, |" + СтрокаВыборкиПоляСодержания + " КАК НаименованиеПолное, | Док.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения, |NULL КАК КМест, | Док.Цена КАК Цена, | Док.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки, | Док.ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок, | NULL КАК ХарактеристикаНоменклатуры, | Док.СуммаНДС КАК СуммаНДС, |" + ?(Шапка.СуммаВключаетНДС, " ВЫБОР | КОГДА Док.Ссылка.СуммаВключаетНДС | ТОГДА Док.Сумма | ИНАЧЕ Док.Сумма + Док.СуммаНДС | КОНЕЦ", " ВЫБОР | КОГДА НЕ Док.Ссылка.СуммаВключаетНДС | ТОГДА Док.Сумма | ИНАЧЕ Док.Сумма + Док.СуммаНДС | КОНЕЦ") + " КАК Сумма, | Док.Количество КАК Количество, | (2) КАК НомерТЧ, | (1) КАК ПризнакКорректировка, // Для корректировок номер строки увеличивается, чтобы добавляемые позиции были последними | (9999 + Док.НомерСтроки) КАК НомерСтроки | ИЗ | Документ.КорректировкаЗаказаПокупателя.Услуги КАК Док | | ГДЕ | Док.Ссылка.ЗаказПокупателя = &ТекущийДокумент | И Док.Ссылка.Проведен = Истина | И Док.Ссылка.Дата > &ДатаАктуальногоЗаказа |"; Если Тип <> "Счет" Тогда ТекстЗапроса = ТекстЗапроса + " |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | Док.Номенклатура КАК Номенклатура, | ВЫРАЗИТЬ (Док.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК НаименованиеПолное, | Док.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения, | NULL как кмест, | Док.Цена КАК Цена, | 0 КАК ПроцентСкидкиНаценки, | 0 КАК ПроцентАвтоматическихСкидок, | NULL КАК ХарактеристикаНоменклатуры, | 0 КАК СуммаНДС, | Док.Сумма КАК Сумма, | Док.Количество КАК Количество, | (3) КАК НомерТЧ, | (0) КАК ПризнакКорректировка, | Док.НомерСтроки КАК НомерСтроки | ИЗ | Документ." + СтруктураАктуальныйЗаказ.ИмяЗаказа + ".ВозвратнаяТара КАК Док | | ГДЕ | Док.Ссылка = &АктуальныйЗаказ | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | Док.Номенклатура КАК Номенклатура, | ВЫРАЗИТЬ (Док.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК НаименованиеПолное, | Док.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения, //|Док.Номенклатура.ЕдиницаИзмеренияМест КАК КМест, //| Док.КоличествоМест КАК КМест, | NULL как кмест, | Док.Цена КАК Цена, | 0 КАК ПроцентСкидкиНаценки, | 0 КАК ПроцентАвтоматическихСкидок, | NULL КАК ХарактеристикаНоменклатуры, | 0 КАК СуммаНДС, | Док.Сумма КАК Сумма, | Док.Количество КАК Количество, | (3) КАК НомерТЧ, | (1) КАК ПризнакКорректировка, // Для корректировок номер строки увеличивается, чтобы добавляемые позиции были последними | (9999 + Док.НомерСтроки) КАК НомерСтроки | ИЗ | Документ.КорректировкаЗаказаПокупателя.ВозвратнаяТара КАК Док | | ГДЕ | Док.Ссылка.ЗаказПокупателя = &ТекущийДокумент | И Док.Ссылка.Проведен = Истина | И Док.Ссылка.Дата > &ДатаАктуальногоЗаказа |"; КонецЕсли; ТекстЗапроса = ТекстЗапроса+ " |) КАК ВложенныйЗапрос // Добавление в выборку наименования по сертификату. |"+?(НаЭкспорт, " ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов | ПО ВложенныйЗапрос.Номенклатура = ЗначенияСвойствОбъектов.Объект | И (ЗначенияСвойствОбъектов.Свойство = &НаименованиеПоСертификату)", "")+" | |СГРУППИРОВАТЬ ПО | ВложенныйЗапрос.НомерТЧ, | ВложенныйЗапрос.Номенклатура, | ВложенныйЗапрос.ЕдиницаИзмерения, | ВложенныйЗапрос.КоличествоМест, | ВложенныйЗапрос.ПроцентСкидкиНаценки, | ВложенныйЗапрос.ПроцентАвтоматическихСкидок, | ВложенныйЗапрос.ХарактеристикаНоменклатуры, | ВложенныйЗапрос.Цена, |"+?(НаЭкспорт," ВложенныйЗапрос.НаименованиеПолное, | ЗначенияСвойствОбъектов.Значение", " ВложенныйЗапрос.НаименованиеПолное")+" | |УПОРЯДОЧИТЬ ПО | ВложенныйЗапрос.НомерТЧ, ПризнакКорректировка, НомерСтроки |"; |
|||
1
KishMish
20.09.13
✎
08:48
|
а у тебя во вложенном запросе нет поля количествомест
|
|||
2
Kucha88
20.09.13
✎
08:51
|
а поподробней можно просто с такой структурой впервые сталкиваюсь
|
|||
3
catena
20.09.13
✎
08:53
|
(2)Куда подробнее? Во вложенном запросе нет поля с псевдонимом "КоличествоМест". Только "кмест" есть.
|
|||
4
KishMish
20.09.13
✎
08:53
|
ВложенныйЗапрос.количествомест как кмест, // это я пытаюсь добавить
и | Док.КоличествоМест как кмест, ты во вложенном запросе уже обозвал кмест и теперь дожен обращатся поэтому псевдониму, то есть ВложенныйЗапрос.кмест как кмест, // это я пытаюсь добавить |
|||
5
KishMish
20.09.13
✎
08:55
|
еще +
вложенные запросы не рекомендуются, негативно влияет на быстродейтсвие. перенеси вложенный запрос во временную таблицу, и дебажить проще будет, и работать будет быстрее. |
|||
6
Kucha88
20.09.13
✎
09:07
|
сейчас попробую))
|
|||
7
Kucha88
20.09.13
✎
09:08
|
Выдает такую ошибку Ошибка при вызове метода контекста (Выполнить): {(203, 18)}: Поле не найдено "ВложенныйЗапрос.КоличествоМест" ВложенныйЗапрос.<>КоличествоМест,
|
|||
8
Kucha88
20.09.13
✎
09:10
|
исправил в группировке, сейчас не стало ругаться но почему то данные не выводятся в ТЧ, может где то не надо ставить NULL в запросе?
|
|||
9
KishMish
20.09.13
✎
09:13
|
что ты исправил?
тебе строчку из (0) ВложенныйЗапрос.количествомест как кмест, // это я пытаюсь добавить надо поменять на ВложенныйЗапрос.кмест как кмест, // это я пытаюсь добавить |
|||
10
Kucha88
20.09.13
✎
09:22
|
(9) дак я так и сделал, и группировку исправил тоже но в ПФ ничего не выводит - пусто
|
|||
11
KishMish
20.09.13
✎
09:29
|
(8) в объединении запросов, обязательно количество полей одинаковое. и порядок важен. Поэтмоу НУЛЛ нужны как заглушки.
не знаю что у тебя за документы. н советую сделать так. Открыть текст запроса в конструкторе запросов перед этим правда убрать эти блоки |" + ?(Шапка.СуммаВключаетНДС, единым текстом, отработать его, а потом уже вставлять условия |" + ?(Шапка.СуммаВключаетНДС, "вот так вот" (С)Невский |
|||
12
Kucha88
20.09.13
✎
09:34
|
(11) Все разобрался в чем проблема была огромное спасибо ВАМ!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |