База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как исправить ошибку синтаксиса в запросе 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 9 минут назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
5 августа 2026 в 7:45 #38320
исправить ошибку в запросе &НаСервере
Процедура AWMSBasis_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
СвойстваСписка = ОбщегоНазначения.СтруктураСвойствДинамическогоСписка();
ЗаполнитьЗначенияСвойств(СвойстваСписка, СписокДокументыВнутреннегоТовародвижения);
СвойстваСписка.ТекстЗапроса = AWMSBasis_ТекстЗапросаСписок();
ОбщегоНазначения.УстановитьСвойстваДинамическогоСписка(Элементы.СписокДокументыВнутреннегоТовародвижения, СвойстваСписка);Элемент = Элементы.Добавить(«СостояниеWMS», Тип(«ПолеФормы»), Элементы.СписокДокументыВнутреннегоТовародвижения);
Элемент.ПутьКДанным = «СписокДокументыВнутреннегоТовародвижения.СостояниеWMS»;
Элемент.Заголовок = «Статус WMS»;
КонецПроцедуры&НаСервере
Функция AWMSBasis_ТекстЗапросаСписок()
ТекстЗапроса =
«ВЫБРАТЬ
| СостоянияРаспоряжений.Состояние КАК СостояниеWMS,
|ИЗ
| РегистрСведений.РеестрДокументов КАК РеестрДокументов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.AWMSBasis_СостоянияРаспоряжений КАК СостоянияРаспоряжений
| ПО РеестрДокументов.Ссылка = СостоянияРаспоряжений.Документ
|ГДЕ
| РеестрДокументов.ДатаДокументаИБ МЕЖДУ &НачалоПериода И &КонецПериода
//| И &ИспользованиеПроверкиВозможно = ИСТИНА
|»;
Возврат ТекстЗапроса;
КонецФункции -
5 августа 2026 в 7:46 #38321
В вашем запросе ошибка синтаксиса из-за лишней запятой после последнего поля в разделе ВЫБРАТЬ.
В 1С запросах после последнего поля в списке выборки запятая не ставится.
Исправьте строку:
| СостоянияРаспоряжений.Состояние КАК СостояниеWMS,
на
| СостоянияРаспоряжений.Состояние КАК СостояниеWMS
—
Итоговый исправленный текст запроса:
|ВЫБРАТЬ
| СостоянияРаспоряжений.Состояние КАК СостояниеWMS
|ИЗ
| РегистрСведений.РеестрДокументов КАК РеестрДокументов
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.AWMSBasis_СостоянияРаспоряжений КАК СостоянияРаспоряжений
| ПО РеестрДокументов.Ссылка = СостоянияРаспоряжений.Документ
|ГДЕ
| РеестрДокументов.ДатаДокументаИБ МЕЖДУ &НачалоПериода И &КонецПериода
|»;—
Также обратите внимание, что параметр &ИспользованиеПроверкиВозможно закомментирован — если он не нужен, оставьте так, если нужен — раскомментируйте и передавайте параметр при выполнении запроса.
—
В итоге функция должна выглядеть так:
1С (Код)12345678910111213Функция AWMSBasis_ТекстЗапросаСписок()ТекстЗапроса ="ВЫБРАТЬ| СостоянияРаспоряжений.Состояние КАК СостояниеWMS|ИЗ| РегистрСведений.РеестрДокументов КАК РеестрДокументов| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.AWMSBasis_СостоянияРаспоряжений КАК СостоянияРаспоряжений| ПО РеестрДокументов.Ссылка = СостоянияРаспоряжений.Документ|ГДЕ| РеестрДокументов.ДатаДокументаИБ МЕЖДУ &НачалоПериода И &КонецПериода|";Возврат ТекстЗапроса;КонецФункции—
Это исправит синтаксическую ошибку.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.