Ошибка sdbl - Ожидается выражение (pos = 324)
Комментарии
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
У меня была подобная ситуация. После обновления конфигурации, при выполнении запроса вылетело "Ошибка sdbl - Ожидается выражение (pos = ...)" - все вышеописанные пункты не помогли. Добавлял реквизиты ко всем справочникам и регистрам встречающимся в запросе - не помогло. С помощью SQL Profiler выявил проблемную часть запроса:
Причина ошибки оказалась в условии, а именно строке:
ниже по коду:
переставил местами операнды в сравнении и убрал лишние скобки:
и заработало!
Платформа 8.2.19.130.
Видимо парсер запросов виноват...
ВЫБРАТЬ
СписокДоговоров.Ссылка
ИЗ
СписокДоговоров КАК СписокДоговоров
ГДЕ
(СписокДоговоров.гжкхОтношения = ЗНАЧЕНИЕ(Перечисление.гжкхОтношения.СУправляющейОрганизацией)
ИЛИ СписокДоговоров.гжкхГУИД <> &ПустойИдентификатор
И СписокДоговоров.Стадия <> ЗНАЧЕНИЕ(Перечисление.СтадииДоговора.Действующий))
ПоказатьПричина ошибки оказалась в условии, а именно строке:
СписокДоговоров.гжкхГУИД <> &ПустойИдентификатор
ниже по коду:
Запрос.УстановитьПараметр("ПустойИдентификатор", Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000"));
переставил местами операнды в сравнении и убрал лишние скобки:
ВЫБРАТЬ
СписокДоговоров.Ссылка
ИЗ
СписокДоговоров КАК СписокДоговоров
ГДЕ
СписокДоговоров.гжкхОтношения = ЗНАЧЕНИЕ(Перечисление.гжкхОтношения.СУправляющейОрганизацией)
ИЛИ &ПустойИдентификатор <> СписокДоговоров.гжкхГУИД
И СписокДоговоров.Стадия <> ЗНАЧЕНИЕ(Перечисление.СтадииДоговора.Действующий)
и заработало!
Платформа 8.2.19.130.
Видимо парсер запросов виноват...
(13)
Советы из разряда крайне полезных.
Была подобная ошибка, что делали:
1. Чистка кеша,
2. Выгрузка/загрузка в dt
3. Тестирование chdbfl
4. Тестирование и исправление в 1с.
Ничего из этих вариантов не помогло, помогло только добавление реквизита в моем случае в справочник номенклатура.
Так что не всегда попытка лечения стандартными средствами помогает.
Автору статьи спасибо.
Советы из разряда крайне полезных.
Была подобная ошибка, что делали:
1. Чистка кеша,
2. Выгрузка/загрузка в dt
3. Тестирование chdbfl
4. Тестирование и исправление в 1с.
Ничего из этих вариантов не помогло, помогло только добавление реквизита в моем случае в справочник номенклатура.
Так что не всегда попытка лечения стандартными средствами помогает.
Автору статьи спасибо.
Была похожая проблема, перепробовал всё, что гуглится в инете - чистка кеша, обновление релиза "и т.п. для ТП". Решил аналогичным методом - добавлением реквизита к документу, в котором была ошибка. Минус метода оказался в том, что были потеряны данные в одном из реквизитов документа, который был добавлен разработчиком за месяц до сбоя.
ЗЫ. Что примечательно: в сбойнувшей базе менее, чем за сутки до сбоя, проводили ТиИ
ЗЫ. Что примечательно: в сбойнувшей базе менее, чем за сутки до сбоя, проводили ТиИ