Как исправить ошибки в запросе на соединение документов и регистров?

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

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #36594
      Фото аватараOdineski
      Участник

        проверь этот: ВЫБРАТЬ ПЕРВЫЕ 100
        РеализацияТоваровУслуг.ЗаказКлиента.Договор КАК ЗаказДоговор,
        РеализацияТоваровУслуг.ЗаказКлиента.Ссылка КАК ЗаказСсылка,
        РеализацияТоваровУслуг.Ссылка КАК РеализацияСсылка,
        РеализацияТоваровУслуг.ЗаказКлиента.Ссылка КАК РеализацияЗаказСсылка,
        РасчетыСКлиентами.Сумма КАК Сумма,
        РасчетыСКлиентами.КОплате КАК КОплате,
        РасчетыСКлиентами.Оплачивается КАК Оплачивается,
        РасчетыСКлиентами.КОтгрузке КАК КОтгрузке,
        РасчетыСКлиентами.Отгружается КАК Отгружается,
        РасчетыСКлиентами.ОбъектРасчетов.Ссылка КАК ОбъектРасчетовСсылка,
        РасчетыСКлиентами.Сумма КАК Сумма1
        ИЗ
        Документ.ЗаказКлиента КАК Заказ
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        ПО Заказ.Ссылка = РеализацияТоваровУслуг.ЗаказКлиента.Ссылка
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентами КАК РасчетыСКлиентами
        ПО Заказ.Договор = РасчетыСКлиентами.ОбъектРасчетов.НаправлениеДеятельности

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

          В вашем запросе есть несколько ошибок и неточностей, которые вызывают проблему:

          1. В части соединения с регистром накопления РасчетыСКлиентами:

          — Поле ОбъектРасчетов — это ссылка на справочник или документ, а у него нет подчинённого поля НаправлениеДеятельности. Вы пытаетесь сравнить Заказ.Договор с РасчетыСКлиентами.ОбъектРасчетов.НаправлениеДеятельности, что некорректно.

          — Скорее всего, вы хотели сравнить Заказ.Договор с РасчетыСКлиентами.ОбъектРасчетов (то есть по ссылке на договор).

          2. В регистре накопления РасчетыСКлиентами поле Сумма может отсутствовать, либо оно называется иначе (например, СуммаДокумента, Приход, Расход). Нужно проверить точное имя поля.

          3. В выборке вы дважды выбираете РасчетыСКлиентами.Сумма как Сумма и Сумма1 — это избыточно.

          Правки, которые нужно сделать:

          — Исправить условие соединения:

          — Проверить, что поле Сумма действительно есть в регистре. Если нет, заменить на правильное имя.

          — Убрать дублирование поля Сумма.

          Пример исправленного запроса:

          |ВЫБРАТЬ ПЕРВЫЕ 100
          | РеализацияТоваровУслуг.ЗаказКлиента.Договор КАК ЗаказДоговор,
          | РеализацияТоваровУслуг.ЗаказКлиента.Ссылка КАК ЗаказСсылка,
          | РеализацияТоваровУслуг.Ссылка КАК РеализацияСсылка,
          | РеализацияТоваровУслуг.ЗаказКлиента.Ссылка КАК РеализацияЗаказСсылка,
          | РасчетыСКлиентами.Сумма КАК Сумма,
          | РасчетыСКлиентами.КОплате КАК КОплате,
          | РасчетыСКлиентами.Оплачивается КАК Оплачивается,
          | РасчетыСКлиентами.КОтгрузке КАК КОтгрузке,
          | РасчетыСКлиентами.Отгружается КАК Отгружается,
          | РасчетыСКлиентами.ОбъектРасчетов КАК ОбъектРасчетовСсылка
          |ИЗ
          | Документ.ЗаказКлиента КАК Заказ
          | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
          | ПО Заказ.Ссылка = РеализацияТоваровУслуг.ЗаказКлиента.Ссылка
          | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСКлиентами КАК РасчетыСКлиентами
          | ПО Заказ.Договор = РасчетыСКлиентами.ОбъектРасчетов

          Если поле Сумма отсутствует, замените его на правильное имя, например:

          Если нужно, могу помочь проверить структуру регистра и составить корректный запрос.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С