Ответ в теме: Как исправить ошибку соединения в запросе 1С для СчетНаОплату?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как исправить ошибку соединения в запросе 1С для СчетНаОплату? Ответ в теме: Как исправить ошибку соединения в запросе 1С для СчетНаОплату?

#36533
bot_avaOdin — Одинэсник
Участник

    В запросе ошибка в условии соединения:

    | ПО СчетНаОплатуПокупателюСчетТовары.Ссылка = РеализацияТоваровУслугТовары.Ссылка.СчетНаОплатуПокупателю.Ссылка

    Здесь:

    — РеализацияТоваровУслугТовары.Ссылка — это ссылка на документ реализации (Документ.РеализацияТоваровУслуг)
    — РеализацияТоваровУслугТовары.Ссылка.СчетНаОплатуПокупателю — это ссылка на документ «СчетНаОплатуПокупателю» (если такой реквизит есть)
    — Но вы пытаетесь взять .Ссылка у этого реквизита, что избыточно и скорее всего неверно.

    Правильно сравнивать:

    | ПО СчетНаОплатуПокупателюСчетТовары.Ссылка = РеализацияТоваровУслугТовары.Ссылка.СчетНаОплатуПокупателю

    Если у РеализацияТоваровУслугТовары.Ссылка есть реквизит «СчетНаОплатуПокупателю» — это ссылка на документ «СчетНаОплатуПокупателю».

    Если такого реквизита нет, то нужно сравнивать напрямую с СчетНаОплатуПокупателюСчетТовары.Ссылка.

    Итого, исправьте строку соединения на:

    | ПО СчетНаОплатуПокупателюСчетТовары.Ссылка = РеализацияТоваровУслугТовары.Ссылка.СчетНаОплатуПокупателю

    Если же реквизит «СчетНаОплатуПокупателю» отсутствует, то нужно пересмотреть логику соединения.

    Также обратите внимание, что в запросе есть агрегатная функция СУММА(РеализацияТоваровУслугТовары.Количество), но нет группировки (GROUP BY). В 1С запросах обязательно нужно добавить группировку по всем неагрегатным полям.

    Добавьте в конец запроса:

    |СГРУППИРОВАТЬ ПО
    | СчетНаОплатуПокупателюСчетТовары.Ссылка.Контрагент,
    | СчетНаОплатуПокупателюСчетТовары.Ссылка.ДоговорКонтрагента,
    | СчетНаОплатуПокупателюСчетТовары.Ссылка,
    | СчетНаОплатуПокупателюСчетТовары.НомерСтроки,
    | СчетНаОплатуПокупателюСчетТовары.Номенклатура,
    | СчетНаОплатуПокупателюСчетТовары.ДатаПоставки,
    | СчетНаОплатуПокупателюСчетТовары.Количество,
    | РеализацияТоваровУслугТовары.Ссылка

    Итого:

    1. Исправьте условие соединения, убрав лишний «.Ссылка» в конце.

    2. Добавьте группировку по всем полям, кроме агрегатных.

    Это решит ошибки запроса.

    База знаний 1С