Суббота, 12.10.2024, 12:56
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Ошибка при построении дерева в консоли запросов
testpilot24Дата: Среда, 14.02.2018, 09:12 | Сообщение # 1
Сержант
Группа: Проверенные
Сообщений: 34
Репутация: 16
Статус: Оффлайн
Платформа: 8.3.10.2561
Режим БД: клиент-серверный
Конфигурация: Управление торговлей, редакция 10.3
Основной режим запуска: Обычное приложение
Режим совместимости: НеИспользовать
Инструменты разработчика: Портативные 4.40p
Клиент. ОС: Windows x86 Microsoft Windows 7 version 6.1 Service Pack 1 (Build 7601)
Клиент. Приложение: Обычное приложение 32б
Клиент. От имени администратора Windows: Да

Консоль не может построить дерево для следующего запроса:

ВЫБРАТЬ
    ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.) КАК Поле1

Возвращает следующее

Текст запроса: Строка 2: {(2,34)}: Синтаксическая ошибка ")", ожидается: <(>, <ALL>, <ALLOWED>, <AND>, <AS>, <ASC>, <AUTOORDER>, <AVG>, <BadID>, <BEGINOFPERIOD>, <BETWEEN>, <BIGINT>, <CASE>, <CAST>, <CHAR>, <COUNT>, <DATE>, <DATEADD>, <DATEDIFF>, <DATETIME>, <DAY>, <DAYOFWEEK>, <DAYOFYEAR>, <DECIMAL>, <DESC>, <DISTINCT>, <DOUBLE>, <DROP>, <ELSE>, <EMPTYTABLE>, <END>, <ENDOFPERIOD>, <ESCAPE>, <FALSE>, <FLOAT>, <FOR>, <FROM>, <GROUP>, <HIERARCHY>, <HIERARCHYIN>, <HIERARCHYON>, <HOUR>, <id>, <IN>, <INNER>, <INT>, <INT64>, <INTEGER>, <INTO>, <IS>, <ISNULL>, <JOIN>, <LEFT>, <LIKE>, <LONGTEXT>, <MAX>, <MEDIUMTEXT>, <MIN>, <MINUTE>, <MONEY>, <MONTH>, <NCHAR>, <NOT>, <NTEXT>, <NULL>, <NUMBER>, <NUMERIC>, <NVARCHAR>, <OF>, <ON>, <ONLY>, <OR>, <ORDER>, <OUTER>, <PERIODS>, <PRESENTATION>, <PRESENTATIONREFS>, <QUARTER>, <REAL>, <REFS>, <RIGHT>, <SECOND>, <SELECT>, <SMALLINT>, <STRING>, <SUBSTRING>, <SUM>, <TABLE>, <TEXT>, <THEN>, <TIME>, <TIMESTAMP>, <TINYTEXT>, <TOP>, <TOTALS>, <TRUE>, <TYPE>, <UNDEFINED>, <UNION>, <UPDATE>, <VALUE>, <VALUETYPE>, <VARCHAR>, <WEEK>, <WHEN>, <WHERE>, <YEAR>

Однако прекрасно работает для
ВЫБРАТЬ
    ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.ПустаяСсылка) КАК Поле1

Оба запроса корректны с точки зрения консоли запросов
 
gslawaДата: Среда, 14.02.2018, 15:05 | Сообщение # 2
Лейтенант
Группа: Проверенные
Сообщений: 61
Репутация: 32
Статус: Оффлайн

Цитата
ВЫБРАТЬ
    ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.) КАК Поле1

перед закрывающей скобкой точка
 
tormozitДата: Среда, 14.02.2018, 22:45 | Сообщение # 3
Генералиссимус
Группа: Администраторы
Сообщений: 6392
Репутация: 165
Статус: Оффлайн
Текст
Код
ВЫБРАТЬ
    ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.) КАК Поле1
не является корректным с точки зрения синтаксиса языка запросов. Достаточно попытаться открыть штатный конструктор запросов или выполнить его в любой консоли запросов. Видимо ты что то напутал или не заметил точку перед закрывающей скобкой.
 
testpilot24Дата: Четверг, 15.02.2018, 07:47 | Сообщение # 4
Сержант
Группа: Проверенные
Сообщений: 34
Репутация: 16
Статус: Оффлайн
Запрос = Новый Запрос();
Запрос.текст = "ВЫБРАТЬ ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.) КАК Поле1";
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();

Данный код без проблем выполняется в консоли кода, штатный конструктор запросов нормально обрабатывает данный текст запроса.

Возможно, раньше такая конструкция была некорректной, но сейчас платформа нормально ее обрабатывает
 
tormozitДата: Четверг, 15.02.2018, 21:41 | Сообщение # 5
Генералиссимус
Группа: Администраторы
Сообщений: 6392
Репутация: 165
Статус: Оффлайн
Проверил на разных версиях платформы.
На 8.3.10 и 8.3.11 действительно ошибки выполнения не возникает, но это является ошибочным поведением платформы. На 8.3.12 это ошибочное поведение уже исправлено и уже возникает ожидаемая ошибка выполнения.
 
testpilot24Дата: Вторник, 27.02.2018, 14:54 | Сообщение # 6
Сержант
Группа: Проверенные
Сообщений: 34
Репутация: 16
Статус: Оффлайн
Спасибо за информацию. Не знал что это ошибочное поведение платформы.
 
  • Страница 1 из 1
  • 1
Поиск: