Запрос для отчета пересчет товаров с ценами номенклатуры

1. sanya.petrakov 17.01.17 08:30 Сейчас в теме
База на сервере.
При запуске отчета выдает ошибку: "В условиях соединения запроса не допускается обращение к табличным частям"

ВЫБРАТЬ
	|	ПересчетТоваров.Склад,
	|	ПересчетТоваров.Товары.(
	|		Ссылка,
	|		НомерСтроки,
	|		Количество,
	|		КоличествоФакт,
	|		КоличествоУпаковок,
	|		КоличествоУпаковокФакт,
	|		Номенклатура,
	|		Упаковка,
	|		Характеристика,
	|		Назначение,
	|		Ячейка,
	|		ИзлишекПорча,
	|		Серия,
	|		СтатусУказанияСерий,
	|		ЦеныНоменклатурыСрезПоследних.Цена * (ПересчетТоваров.Товары.Количество - ПересчетТоваров.Товары.КоличествоФакт) КАК Цена,
	|		СУММА(ЦеныНоменклатурыСрезПоследних.Цена * (ПересчетТоваров.Товары.Количество - ПересчетТоваров.Товары.КоличествоФакт)) КАК Сумма,
	|		Номенклатура.Артикул КАК Артикул
	|	)
	|ИЗ
	|	Документ.ПересчетТоваров КАК ПересчетТоваров
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
	|		ПО ПересчетТоваров.Товары.Номенклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка
	|ГДЕ
	|	ПересчетТоваров.Ссылка = &Ссылка
	|
	|СГРУППИРОВАТЬ ПО
	|	ПересчетТоваров.Товары.(Ссылка,
	|	НомерСтроки,
	|	Количество,
	|	КоличествоФакт,
	|	КоличествоУпаковок,
	|	КоличествоУпаковокФакт,
	|	Номенклатура,
	|	Упаковка,
	|	Характеристика,
	|	Назначение,
	|	Ячейка,
	|	ИзлишекПорча,
	|	Серия,
	|	СтатусУказанияСерий,
	|	ЦеныНоменклатурыСрезПоследних.Цена * (ПересчетТоваров.Товары.Количество - ПересчетТоваров.Товары.КоличествоФакт),
	|	Номенклатура.Артикул)
Показать


Как обойти ошибку ума не приложу...
По теме из базы знаний
Найденные решения
7. Maniachok 17.01.17 09:36 Сейчас в теме
ВЫБРАТЬ
    |    ПересчетТоваров.Ссылка.Склад,    
    |        ПересчетТоваров.Ссылка,
    |        ПересчетТоваров.НомерСтроки,
    |        ПересчетТоваров.Количество,
    |        ПересчетТоваров.КоличествоФакт,
    |        ПересчетТоваров.КоличествоУпаковок,
    |        ПересчетТоваров.КоличествоУпаковокФакт,
    |        ПересчетТоваров.Номенклатура,
    |        ПересчетТоваров.Упаковка,
    |       ПересчетТоваров.Характеристика,
    |        ПересчетТоваров.Назначение,
    |        ПересчетТоваров.Ячейка,
    |        ПересчетТоваров.ИзлишекПорча,
    |        ПересчетТоваров.Серия,
    |        ПересчетТоваров.СтатусУказанияСерий,
    |        ЦеныНоменклатурыСрезПоследних.Цена * (ПересчетТоваров.Количество - ПересчетТоваров.КоличествоФакт) КАК Цена,
    |        СУММА(ЦеныНоменклатурыСрезПоследних.Цена * (ПересчетТоваров.Количество - ПересчетТоваров.КоличествоФакт)) КАК Сумма,
    |        ПересчетТоваров.Номенклатура.Артикул КАК Артикул
    |    )
    |ИЗ
    |    Документ.ПересчетТоваров.Товары КАК ПересчетТоваров
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
    |        ПО ПересчетТоваров.Номенклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка
    |ГДЕ
    |    ПересчетТоваров.Ссылка.Ссылка = &Ссылка
    |
    |СГРУППИРОВАТЬ ПО
    |    ПересчетТоваров.Ссылка
    |    ПересчетТоваров.НомерСтроки,
    |    ПересчетТоваров.Количество,
    |    ПересчетТоваров.КоличествоФакт,
    |    ПересчетТоваров.КоличествоУпаковок,
    |    ПересчетТоваров.КоличествоУпаковокФакт,
    |    ПересчетТоваров.Номенклатура,
    |    ПересчетТоваров.Упаковка,
    |    ПересчетТоваров.Характеристика,
    |    ПересчетТоваров.Назначение,
    |    ПересчетТоваров.Ячейка,
    |    ПересчетТоваров.ИзлишекПорча,
    |    ПересчетТоваров.Серия,
    |    ПересчетТоваров.СтатусУказанияСерий,
    |    ЦеныНоменклатурыСрезПоследних.Цена * (ПересчетТоваров.Количество - ПересчетТоваров.КоличествоФакт),
    |    ПересчетТоваров.Номенклатура.Артикул)
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. vovan_victory 63 17.01.17 09:12 Сейчас в теме
(1)Табличную часть нужно присоединять к основному документу через левое соединение(соединить по ссылкам).
И сократить количество соединений через две точки(это неявное левое соединение)
Пример


"ВЫБРАТЬ
|	РеализацияТоваровУслуг.Номер,
|	РеализацияТоваровУслуг.Дата,
|	РеализацияТоваровУслугТовары.Номенклатура,
|	РеализацияТоваровУслугТовары.Сумма,
|	РеализацияТоваровУслугТовары.Количество
|ИЗ
|	Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|		ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
|		ПО РеализацияТоваровУслуг.Ссылка = РеализацияТоваровУслугТовары.Ссылка"
Показать
sanya.petrakov; +1 Ответить
2. Maniachok 17.01.17 08:43 Сейчас в теме
В первом запросе не документ выбирай а таблицу документа. все должно заработать
sanya.petrakov; +1 Ответить
3. sanya.petrakov 17.01.17 09:00 Сейчас в теме
(2) тогда я не могу обратиться к "ПересчетТоваров.Склад"
4. Maniachok 17.01.17 09:03 Сейчас в теме
можешь. ПересчетТоваров.ССылка.Склад
sanya.petrakov; +1 Ответить
6. sanya.petrakov 17.01.17 09:27 Сейчас в теме
(4) (5)
ВЫБРАТЬ
	|	ПересчетТоваров.Ссылка.Склад,
	|	ПересчетТоваров.Ссылка.Товары.(
	|		Ссылка,
	|		НомерСтроки,
	|		Количество,
	|		КоличествоФакт,
	|		КоличествоУпаковок,
	|		КоличествоУпаковокФакт,
	|		Номенклатура,
	|		Упаковка,
	|		Характеристика,
	|		Назначение,
	|		Ячейка,
	|		ИзлишекПорча,
	|		Серия,
	|		СтатусУказанияСерий,
	|		ЦеныНоменклатурыСрезПоследних.Цена * (ПересчетТоваров.Ссылка.Товары.Количество - ПересчетТоваров.Ссылка.Товары.КоличествоФакт) КАК Цена,
	|		СУММА(ЦеныНоменклатурыСрезПоследних.Цена * (ПересчетТоваров.Ссылка.Товары.Количество - ПересчетТоваров.Ссылка.Товары.КоличествоФакт)) КАК Сумма,
	|		Номенклатура.Артикул КАК Артикул
	|	)
	|ИЗ
	|	Документ.ПересчетТоваров.Товары КАК ПересчетТоваров
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
	|		ПО ПересчетТоваров.Номенклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка
	|ГДЕ
	|	ПересчетТоваров.Ссылка.Ссылка = &Ссылка
	|
	|СГРУППИРОВАТЬ ПО
	|	ПересчетТоваров.Ссылка.Товары.(Ссылка,
	|	НомерСтроки,
	|	Количество,
	|	КоличествоФакт,
	|	КоличествоУпаковок,
	|	КоличествоУпаковокФакт,
	|	Номенклатура,
	|	Упаковка,
	|	Характеристика,
	|	Назначение,
	|	Ячейка,
	|	ИзлишекПорча,
	|	Серия,
	|	СтатусУказанияСерий,
	|	ЦеныНоменклатурыСрезПоследних.Цена * (ПересчетТоваров.Ссылка.Товары.Количество - ПересчетТоваров.Ссылка.Товары.КоличествоФакт),
	|	Номенклатура.Артикул)
Показать


Выдает ошибка SQL: Поле не найдено 'T3.Fld16916_'
7. Maniachok 17.01.17 09:36 Сейчас в теме
ВЫБРАТЬ
    |    ПересчетТоваров.Ссылка.Склад,    
    |        ПересчетТоваров.Ссылка,
    |        ПересчетТоваров.НомерСтроки,
    |        ПересчетТоваров.Количество,
    |        ПересчетТоваров.КоличествоФакт,
    |        ПересчетТоваров.КоличествоУпаковок,
    |        ПересчетТоваров.КоличествоУпаковокФакт,
    |        ПересчетТоваров.Номенклатура,
    |        ПересчетТоваров.Упаковка,
    |       ПересчетТоваров.Характеристика,
    |        ПересчетТоваров.Назначение,
    |        ПересчетТоваров.Ячейка,
    |        ПересчетТоваров.ИзлишекПорча,
    |        ПересчетТоваров.Серия,
    |        ПересчетТоваров.СтатусУказанияСерий,
    |        ЦеныНоменклатурыСрезПоследних.Цена * (ПересчетТоваров.Количество - ПересчетТоваров.КоличествоФакт) КАК Цена,
    |        СУММА(ЦеныНоменклатурыСрезПоследних.Цена * (ПересчетТоваров.Количество - ПересчетТоваров.КоличествоФакт)) КАК Сумма,
    |        ПересчетТоваров.Номенклатура.Артикул КАК Артикул
    |    )
    |ИЗ
    |    Документ.ПересчетТоваров.Товары КАК ПересчетТоваров
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
    |        ПО ПересчетТоваров.Номенклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка
    |ГДЕ
    |    ПересчетТоваров.Ссылка.Ссылка = &Ссылка
    |
    |СГРУППИРОВАТЬ ПО
    |    ПересчетТоваров.Ссылка
    |    ПересчетТоваров.НомерСтроки,
    |    ПересчетТоваров.Количество,
    |    ПересчетТоваров.КоличествоФакт,
    |    ПересчетТоваров.КоличествоУпаковок,
    |    ПересчетТоваров.КоличествоУпаковокФакт,
    |    ПересчетТоваров.Номенклатура,
    |    ПересчетТоваров.Упаковка,
    |    ПересчетТоваров.Характеристика,
    |    ПересчетТоваров.Назначение,
    |    ПересчетТоваров.Ячейка,
    |    ПересчетТоваров.ИзлишекПорча,
    |    ПересчетТоваров.Серия,
    |    ПересчетТоваров.СтатусУказанияСерий,
    |    ЦеныНоменклатурыСрезПоследних.Цена * (ПересчетТоваров.Количество - ПересчетТоваров.КоличествоФакт),
    |    ПересчетТоваров.Номенклатура.Артикул)
Показать
9. vovan_victory 63 17.01.17 10:27 Сейчас в теме
(7)
| ПересчетТоваров.Ссылка.Ссылка = &Ссылка 


достаточно

| ПересчетТоваров.Ссылка = &Ссылка 

(8)из этого я не понял, что Вы хотели сказать
sanya.petrakov; +1 Ответить
8. Maniachok 17.01.17 09:37 Сейчас в теме
вроде так должно работат
Когда выбираешь ТЧ документа реквизиты ТЧ должны выбираться напрямую, а не через ПересчетТоваров.Ссылка.Товары.[реквизит]
должно быть сразу ПересчетТоваров.[реквизит]
sanya.petrakov; +1 Ответить
10. Maniachok 17.01.17 10:51 Сейчас в теме
заработало????

Если конструктором запроса делаешь запрос тогда если ты выбрал табличную часть документа, то к реквизитам ТЧ не надо обращаться через ССылка.товары, надо напрямую
sanya.petrakov; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот