Как исправить запрос в 1С для правильного синтаксиса?

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

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

        поправь запрос ТекстЗапроса =
        «ВЫБРАТЬ
        | РеестрДокументов.Ссылка КАК Ссылка,
        | РеестрДокументов.НомерДокументаИБ КАК Номер,
        | РеестрДокументов.ДатаДокументаИБ КАК Дата,
        | РеестрДокументов.Статус,
        | РеестрДокументов.Проведен,
        | РеестрДокументов.ПометкаУдаления,
        | РеестрДокументов.ХозяйственнаяОперация,
        | РеестрДокументов.Партнер,
        | ВЫРАЗИТЬ(РеестрДокументов.Контрагент.Ключ КАК Справочник.Контрагенты) КАК Контрагент,
        | РеестрДокументов.Контрагент КАК КонтрагентКлюч,
        | РеестрДокументов.Договор,
        | &Соглашение КАК Соглашение,
        | РеестрДокументов.Организация,
        | РеестрДокументов.Подразделение,
        | РеестрДокументов.МестоХранения КАК МестоХранения,
        | ВЫРАЗИТЬ(РеестрДокументов.МестоХранения.Ключ КАК Справочник.Склады) КАК Склад,
        | РеестрДокументов.Валюта,
        | РеестрДокументов.Сумма КАК СуммаДокумента,
        | РеестрДокументов.Ответственный КАК Менеджер,
        | РеестрДокументов.Автор КАК Автор,
        | РеестрДокументов.Комментарий,
        | РеестрДокументов.НомерПервичногоДокумента КАК НомерВходящегоДокумента,
        | РеестрДокументов.ДатаПервичногоДокумента КАК ДатаВходящегоДокумента,
        | РеестрДокументов.Дополнительно,
        // ЭлектронноеВзаимодействие.ОбменСКонтрагентами
        | СостоянияЭД.СостояниеЭДО,
        | СостоянияЭД.ПредставлениеСостояния КАК ПредставлениеСостояния,
        // Конец ЭлектронноеВзаимодействие.ОбменСКонтрагентами
        | ,СостоянияРаспоряжений.Состояние КАК СостояниеWMS

        | ВЫБОР
        | КОГДА ДокументыСОшибкамиПроверкиКонтрагентов.Документ ЕСТЬ NULL
        | ТОГДА ЛОЖЬ
        | ИНАЧЕ ИСТИНА
        | КОНЕЦ КАК ЕстьОшибкиПроверкиКонтрагентов,
        | ВЫБОР
        | КОГДА РеестрДокументов.Проведен
        | ТОГДА 0
        | КОГДА РеестрДокументов.ПометкаУдаления
        | ТОГДА 1
        | ИНАЧЕ 2
        | КОНЕЦ КАК НестандартнаяКартинка,
        | РеестрДокументов.ДополнительнаяЗапись,
        | РеестрДокументов.ТипСсылки КАК ТипСсылки,
        | ТИПЗНАЧЕНИЯ(РеестрДокументов.Ссылка) КАК ТипЗначения,
        | &СтатусПроверки КАК СтатусПроверки,
        | &ИндикаторПроверки КАК ИндикаторПроверки,
        | РеестрДокументов.СторноИсправление КАК СторноИсправление,
        | ВЫБОР
        | КОГДА НЕ РеестрДокументов.СторноИсправление
        | ТОГДА НЕОПРЕДЕЛЕНО
        | ИНАЧЕ РеестрДокументов.СторнируемыйДокумент
        | КОНЕЦ КАК СторнируемыйИсправляемыйДокумент,
        | РеестрДокументов.ИдентификаторЗаписи КАК ИдентификаторЗаписи,
        // СтандартныеПодсистемы.УчетОригиналовПервичныхДокументов
        | NULL КАК СостояниеОригиналаПервичногоДокумента,
        | ИСТИНА КАК ОбщееСостояние,
        | 0 КАК СостояниеОригиналПолучен,
        | ВЫРАЗИТЬ(«»»» КАК Строка(50)) КАК СостояниеГИСМТ
        // Конец СтандартныеПодсистемы.УчетОригиналовПервичныхДокументов
        | ,СостоянияРаспоряжений.Состояние КАК СостояниеWMS
        |{ГДЕ
        | РеестрДокументов.Ссылка.* КАК Ссылка,
        | РеестрДокументов.МестоХранения.* КАК МестоХранения,
        | ВЫРАЗИТЬ(РеестрДокументов.МестоХранения.Ключ КАК Справочник.Склады).* КАК Склад,
        | РеестрДокументов.Организация.* КАК Организация,
        | РеестрДокументов.ДатаДокументаИБ КАК Дата,
        | РеестрДокументов.НомерДокументаИБ КАК Номер,
        | РеестрДокументов.Статус КАК Статус,
        | РеестрДокументов.ТипСсылки КАК ТипСсылки,
        | РеестрДокументов.ХозяйственнаяОперация КАК ХозяйственнаяОперация,
        | РеестрДокументов.Партнер.* КАК Партнер,
        | ВЫРАЗИТЬ(РеестрДокументов.Контрагент.Ключ КАК Справочник.Контрагенты).* КАК Контрагент,
        | РеестрДокументов.Договор.* КАК Договор,
        | &Соглашение КАК Соглашение,
        | РеестрДокументов.Подразделение.* КАК Подразделение,
        | РеестрДокументов.Ответственный.* КАК Менеджер,
        | РеестрДокументов.Автор.* КАК Автор,
        | РеестрДокументов.Дополнительно КАК Дополнительно,
        | РеестрДокументов.Комментарий КАК Комментарий,
        | РеестрДокументов.Проведен КАК Проведен,
        | РеестрДокументов.ПометкаУдаления КАК ПометкаУдаления,
        | (РеестрДокументов.ДатаДокументаИБ >= &НачалоПериода
        | И РеестрДокументов.ДатаДокументаИБ <= &КонецПериода)
        |ИЗ
        | РегистрСведений.РеестрДокументов КАК РеестрДокументов
        | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.AWMSBasis_СостоянияРаспоряжений КАК СостоянияРаспоряжений
        | ПО РеестрДокументов.Ссылка = СостоянияРаспоряжений.Документ
        }
        |ИЗ
        | РегистрСведений.РеестрДокументов КАК РеестрДокументов
        | {
        // ЭлектронноеВзаимодействие.ОбменСКонтрагентами
        | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияПоОбъектамУчетаЭДО КАК СостоянияЭД
        | ПО (СостоянияЭД.СсылкаНаОбъект = РеестрДокументов.Ссылка)
        // Конец ЭлектронноеВзаимодействие.ОбменСКонтрагентами
        | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДокументыСОшибкамиПроверкиКонтрагентов КАК ДокументыСОшибкамиПроверкиКонтрагентов
        | ПО РеестрДокументов.Ссылка = ДокументыСОшибкамиПроверкиКонтрагентов.Документ
        | И (&ИспользованиеПроверкиВозможно)}»;

        Возврат ТекстЗапроса;

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

          Вот исправленный и корректно оформленный запрос с учётом синтаксиса 1С и устранением ошибок:

          |ТекстЗапроса =

          |ВЫБРАТЬ
          | РеестрДокументов.Ссылка КАК Ссылка,
          | РеестрДокументов.НомерДокументаИБ КАК Номер,
          | РеестрДокументов.ДатаДокументаИБ КАК Дата,
          | РеестрДокументов.Статус,
          | РеестрДокументов.Проведен,
          | РеестрДокументов.ПометкаУдаления,
          | РеестрДокументов.ХозяйственнаяОперация,
          | РеестрДокументов.Партнер,
          | ВЫРАЗИТЬ(РеестрДокументов.Контрагент.Ключ КАК Справочник.Контрагенты) КАК Контрагент,
          | РеестрДокументов.Контрагент КАК КонтрагентКлюч,
          | РеестрДокументов.Договор,
          | &Соглашение КАК Соглашение,
          | РеестрДокументов.Организация,
          | РеестрДокументов.Подразделение,
          | РеестрДокументов.МестоХранения КАК МестоХранения,
          | ВЫРАЗИТЬ(РеестрДокументов.МестоХранения.Ключ КАК Справочник.Склады) КАК Склад,
          | РеестрДокументов.Валюта,
          | РеестрДокументов.Сумма КАК СуммаДокумента,
          | РеестрДокументов.Ответственный КАК Менеджер,
          | РеестрДокументов.Автор КАК Автор,
          | РеестрДокументов.Комментарий,
          | РеестрДокументов.НомерПервичногоДокумента КАК НомерВходящегоДокумента,
          | РеестрДокументов.ДатаПервичногоДокумента КАК ДатаВходящегоДокумента,
          | РеестрДокументов.Дополнительно,
          | СостоянияЭД.СостояниеЭДО,
          | СостоянияЭД.ПредставлениеСостояния КАК ПредставлениеСостояния,
          | СостоянияРаспоряжений.Состояние КАК СостояниеWMS,
          | ВЫБОР
          | КОГДА ДокументыСОшибкамиПроверкиКонтрагентов.Документ ЕСТЬ NULL
          | ТОГДА ЛОЖЬ
          | ИНАЧЕ ИСТИНА
          | КОНЕЦ КАК ЕстьОшибкиПроверкиКонтрагентов,
          | ВЫБОР
          | КОГДА РеестрДокументов.Проведен
          | ТОГДА 0
          | КОГДА РеестрДокументов.ПометкаУдаления
          | ТОГДА 1
          | ИНАЧЕ 2
          | КОНЕЦ КАК НестандартнаяКартинка,
          | РеестрДокументов.ДополнительнаяЗапись,
          | РеестрДокументов.ТипСсылки КАК ТипСсылки,
          | ТИПЗНАЧЕНИЯ(РеестрДокументов.Ссылка) КАК ТипЗначения,
          | &СтатусПроверки КАК СтатусПроверки,
          | &ИндикаторПроверки КАК ИндикаторПроверки,
          | РеестрДокументов.СторноИсправление КАК СторноИсправление,
          | ВЫБОР
          | КОГДА НЕ РеестрДокументов.СторноИсправление
          | ТОГДА НЕОПРЕДЕЛЕНО
          | ИНАЧЕ РеестрДокументов.СторнируемыйДокумент
          | КОНЕЦ КАК СторнируемыйИсправляемыйДокумент,
          | РеестрДокументов.ИдентификаторЗаписи КАК ИдентификаторЗаписи,
          | NULL КАК СостояниеОригиналаПервичногоДокумента,
          | ИСТИНА КАК ОбщееСостояние,
          | 0 КАК СостояниеОригиналПолучен,
          | ВЫРАЗИТЬ(» КАК Строка(50)) КАК СостояниеГИСМТ
          |ИЗ
          | РегистрСведений.РеестрДокументов КАК РеестрДокументов
          | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.AWMSBasis_СостоянияРаспоряжений КАК СостоянияРаспоряжений
          | ПО РеестрДокументов.Ссылка = СостоянияРаспоряжений.Документ
          | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостоянияПоОбъектамУчетаЭДО КАК СостоянияЭД
          | ПО СостоянияЭД.СсылкаНаОбъект = РеестрДокументов.Ссылка
          | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДокументыСОшибкамиПроверкиКонтрагентов КАК ДокументыСОшибкамиПроверкиКонтрагентов
          | ПО РеестрДокументов.Ссылка = ДокументыСОшибкамиПроверкиКонтрагентов.Документ
          | И (&ИспользованиеПроверкиВозможно)
          |ГДЕ
          | РеестрДокументов.ДатаДокументаИБ МЕЖДУ &НачалоПериода И &КонецПериода
          |»;

          Возврат ТекстЗапроса;

          Основные исправления:

          — Удалена лишняя запятая перед полем СостоянияРаспоряжений.Состояние.
          — Убраны комментарии в стиле //, так как в запросах 1С их не поддерживает.
          — Исправлен синтаксис блока ГДЕ, использован оператор МЕЖДУ для даты.
          — Все строки начинаются с символа | для корректного форматирования.
          — Убраны дублирующие поля (СостояниеWMS встречалось дважды).
          — Выровнены отступы для читаемости.

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

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