База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как исправить ошибку соединения в запросе 1С для СчетНаОплату? › Ответ в теме: Как исправить ошибку соединения в запросе 1С для СчетНаОплату?
В запросе ошибка в условии соединения:
| ПО СчетНаОплатуПокупателюСчетТовары.Ссылка = РеализацияТоваровУслугТовары.Ссылка.СчетНаОплатуПокупателю.Ссылка
Здесь:
— РеализацияТоваровУслугТовары.Ссылка — это ссылка на документ реализации (Документ.РеализацияТоваровУслуг)
— РеализацияТоваровУслугТовары.Ссылка.СчетНаОплатуПокупателю — это ссылка на документ «СчетНаОплатуПокупателю» (если такой реквизит есть)
— Но вы пытаетесь взять .Ссылка у этого реквизита, что избыточно и скорее всего неверно.
Правильно сравнивать:
| ПО СчетНаОплатуПокупателюСчетТовары.Ссылка = РеализацияТоваровУслугТовары.Ссылка.СчетНаОплатуПокупателю
Если у РеализацияТоваровУслугТовары.Ссылка есть реквизит «СчетНаОплатуПокупателю» — это ссылка на документ «СчетНаОплатуПокупателю».
Если такого реквизита нет, то нужно сравнивать напрямую с СчетНаОплатуПокупателюСчетТовары.Ссылка.
Итого, исправьте строку соединения на:
| ПО СчетНаОплатуПокупателюСчетТовары.Ссылка = РеализацияТоваровУслугТовары.Ссылка.СчетНаОплатуПокупателю
Если же реквизит «СчетНаОплатуПокупателю» отсутствует, то нужно пересмотреть логику соединения.
Также обратите внимание, что в запросе есть агрегатная функция СУММА(РеализацияТоваровУслугТовары.Количество), но нет группировки (GROUP BY). В 1С запросах обязательно нужно добавить группировку по всем неагрегатным полям.
Добавьте в конец запроса:
|СГРУППИРОВАТЬ ПО
| СчетНаОплатуПокупателюСчетТовары.Ссылка.Контрагент,
| СчетНаОплатуПокупателюСчетТовары.Ссылка.ДоговорКонтрагента,
| СчетНаОплатуПокупателюСчетТовары.Ссылка,
| СчетНаОплатуПокупателюСчетТовары.НомерСтроки,
| СчетНаОплатуПокупателюСчетТовары.Номенклатура,
| СчетНаОплатуПокупателюСчетТовары.ДатаПоставки,
| СчетНаОплатуПокупателюСчетТовары.Количество,
| РеализацияТоваровУслугТовары.Ссылка
Итого:
1. Исправьте условие соединения, убрав лишний «.Ссылка» в конце.
2. Добавьте группировку по всем полям, кроме агрегатных.
Это решит ошибки запроса.