Ответ в теме: Как исправить ошибочный запрос в 1С?

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

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

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

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

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

    Объяснение:

    — Убрал лишние запятые после соединений (в 1С-запросах запятая после JOIN не нужна).
    — Выровнял отступы и добавил символы | в начале каждой строки.
    — Вложенные соединения и условия перенесены в правильный синтаксис.
    — Убрал комментарии в стиле //, так как в 1С-запросах лучше использовать /* … */ или не использовать вовсе.
    — В выражениях ВЫРАЗИТЬ и ВЫБОР синтаксис сохранён корректным.

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

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