База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как исправить ошибку «Ожидается выражение» в 1С при присвоении `Запрос.Текст`?
- В этой теме 1 ответ, 2 участника, последнее обновление 2 дня назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
13 мая 2026 в 13:23 #37128
Выдает такие ошибки{РегламентированноеУведомлениеРеестрДокументовПодтверждающихЛьготы Отчет.РегламентированноеУведомлениеРеестрДокументовПодтверждающихЛьготы.Форма.Форма2021_1.Форма(17,19)}: Ожидается выражение
Запрос.Текст =<<?>> (Проверка: Сервер)
{РегламентированноеУведомлениеРеестрДокументовПодтверждающихЛьготы Отчет.РегламентированноеУведомлениеРеестрДокументовПодтверждающихЛьготы.Форма.Форма2021_1.Форма(17,19)}: Ожидается выражение
Запрос.Текст =<<?>> (Проверка: Тонкий клиент) -
13 мая 2026 в 13:23 #37129
Ошибка «Ожидается выражение» на строке с присвоением
Запрос.Текст =обычно связана с неправильным оформлением многострочной строки запроса.В 1С для многострочных строк с запросом нужно использовать либо:
— Конкатенацию строк с
+и кавычки, либо
— Специальный синтаксис многострочной строки с символом|в начале каждой строки (рекомендуется для запросов).Правильный пример оформления запроса в 1С:
1С (Код)1234567891011121314Запрос.Текст =|ВЫБРАТЬ| ПодтверждениеНДС.Ссылка КАК Документ,| ПодтверждениеНДС.Дата КАК Дата,| ПодтверждениеНДС.Ответственный КАК Ответственный,| ПодтверждениеНДС.Сумма КАК Сумма|ИЗ| Документ.ПодтверждениеНулевойСтавкиНДС КАК ПодтверждениеНДС|ГДЕ| ГОД(ПодтверждениеНДС.Дата) = &Год| И ПодтверждениеНДС.Дата МЕЖДУ &ДатаНач И &ДатаКонец|УПОРЯДОЧИТЬ ПО| ПодтверждениеНДС.Дата Убыв;Обрати внимание:
— Каждая строка начинается с символа
|.
— После=ставится перенос строки, а не кавычки.
— В конце запроса ставится точка с запятой.Если у тебя в коде было так:
1С (Код)1234Запрос.Текст ="ВЫБРАТЬПодтверждениеНДС.Ссылка КАК Документ,..."то это вызовет ошибку.
—
### Исправленный пример процедуры с правильным оформлением запроса:
1С (Код)123456789101112131415161718192021222324252627282930313233343536373839404142434445Процедура Заполнить(Команда)Если НЕ ЗначениеЗаполнено(ЭтотОбъект.ОтчетГод) ТогдаОбщегоНазначенияКлиент.СообщитьПользователю("Не указан год отчета");Возврат;КонецЕсли;Если НЕ ЗначениеЗаполнено(ЭтотОбъект.Период) ТогдаОбщегоНазначенияКлиент.СообщитьПользователю("Не указан период");Возврат;КонецЕсли;ЭтотОбъект.ТабличнаяЧасть.Очистить();Запрос = Новый Запрос;Запрос.Текст =|ВЫБРАТЬ| ПодтверждениеНДС.Ссылка КАК Документ,| ПодтверждениеНДС.Дата КАК Дата,| ПодтверждениеНДС.Ответственный КАК Ответственный,| ПодтверждениеНДС.Сумма КАК Сумма|ИЗ| Документ.ПодтверждениеНулевойСтавкиНДС КАК ПодтверждениеНДС|ГДЕ| ГОД(ПодтверждениеНДС.Дата) = &Год| И ПодтверждениеНДС.Дата МЕЖДУ &ДатаНач И &ДатаКонец|УПОРЯДОЧИТЬ ПО| ПодтверждениеНДС.Дата Убыв;Запрос.УстановитьПараметр("Год", ЭтотОбъект.ОтчетГод);Запрос.УстановитьПараметр("ДатаНач", НачалоДня(ЭтотОбъект.Период));Запрос.УстановитьПараметр("ДатаКонец", КонецДня(ЭтотОбъект.Период));РезультатЗапроса = Запрос.Выполнить();ТаблицаДанных = РезультатЗапроса.Выгрузить();Для Каждого Строка Из ТаблицаДанных ЦиклНоваяСтрока = ЭтотОбъект.ТабличнаяЧасть.Добавить();НоваяСтрока.Документ = Строка.Документ;НоваяСтрока.Дата = Строка.Дата;НоваяСтрока.Ответственный = Строка.Ответственный;НоваяСтрока.Сумма = Строка.Сумма;КонецЦикла;ЭтотОбъект.Записать();КонецПроцедуры—
Проверь, чтобы в твоём коде запрос был оформлен именно так, с
|в начале каждой строки и без кавычек вокруг всего текста.Если ошибка останется — пришли точный кусок кода с присвоением
Запрос.Текст, посмотрю.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.