Имя: Пароль:
1C
 
Сравнить поле ИмяПредопределенныхДанных с другим полем как?
0 TormozIT
 
гуру
02.08.15
23:15
Конфигурация ПО

1С 8.3.5.1248-1625, файловый и клиент-серверный режимы

Проблема

В запросе попытка сравнить виртуальное поле ИмяПредопределенныхДанных с другим полем приводит к ошибке

Воспроизведение

Восстановить базу из выгрузки http://rghost.ru/67R6j9C9s#. Запустить обычное приложение. При этом выполнится код
Запрос = Новый Запрос;
    Запрос.Текст = "
    |ВЫБРАТЬ
    |    1
    |ИЗ
    |    Справочник.Справочник1 КАК Справочник1
    |ГДЕ
    |    Справочник1.ИмяПредопределенныхДанных = Справочник1.Наименование
    |";
    Результат = Запрос.Выполнить();

и отобразится окно с ошибкой

Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
Справочник1.ИмяПредопределенныхДанных <<?>>= Справочник1.Наименование

Если попытаться применить к этому полю функцию Подстрока(), то она тоже выдаст неожиданную ошибку

Неверные параметры "ПОДСТРОКА"

Если попытаться применить к этому полю функцию Выразить(Поле КАК Строка), то она тоже выдаст неожиданную ошибку

Несовместимые типы "ВЫРАЗИТЬ"

Есть идеи как обойти?
1 Defender aka LINN
 
03.08.15
07:14
Кодом
2 1Сергей
 
03.08.15
07:17
Значение(Справочник.Имя.ПредопределенноеЗначениеИмя)
Ошибка? Это не ошибка, это системная функция.