Имя: Пароль:
1C
 
Оператор ПОДОБНО в запросе
0 RealSaint
 
12.09.06
15:39
Не могу понять, в запросе разве нельзя использовать несколько операторов ПОДОБНО? Или, скажем, применительно к одной таблице, но к разыным полям?
1 RomaH
 
naïve
12.09.06
15:42
ВЫБРАТЬ
   ФИОФизЛиц.Период,
   ФИОФизЛиц.ФизЛицо,
   ФИОФизЛиц.Фамилия,
   ФИОФизЛиц.Имя,
   ФИОФизЛиц.Отчество
ИЗ
   РегистрСведений.ФИОФизЛиц КАК ФИОФизЛиц
ГДЕ
   ФИОФизЛиц.Фамилия ПОДОБНО &Фамилия
   И ФИОФизЛиц.Имя ПОДОБНО &Имя

и ???
2 Волшебник
 
12.09.06
15:43
можно и к одному полю
3 RealSaint
 
12.09.06
15:46
(1) Вот мой запрос:

ВЫБРАТЬ
   ВодителиТранспортныхСредств.Водитель
ИЗ
   РегистрСведений.ВодителиТранспортныхСредств КАК ВодителиТранспортныхСредств
ГДЕ
   ВодителиТранспортныхСредств.ТранспортноеСредство = &ТранспортноеСредство
   И (ВодителиТранспортныхСредств.Водитель.Наименование ПОДОБНО "в%"
       ИЛИ ВодителиТранспортныхСредств.Водитель.Код ПОДОБНО "в%")

Как мне кажется, должно работать, а оно выдаёт следующую ошибку:

{Документ.ТовароТранспортнаяНакладная.Форма.ФормаДокумента(126)}: Ошибка при вызове метода контекста (Выполнить): {(6, 145)}: Неверные параметры "ПОДОБНО"
ВодителиТранспортныхСредств.ТранспортноеСредство = &ТранспортноеСредство И (ВодителиТранспортныхСредств.Водитель.Наименование ПОДОБНО "в%" ИЛИ <<?>>ВодителиТранспортныхСредств.Водитель.Код ПОДОБНО "в%")
   Результат = Запрос.Выполнить();
по причине:
{(6, 145)}: Неверные параметры "ПОДОБНО"
ВодителиТранспортныхСредств.ТранспортноеСредство = &ТранспортноеСредство И (ВодителиТранспортныхСредств.Водитель.Наименование ПОДОБНО "в%" ИЛИ <<?>>ВодителиТранспортныхСредств.Водитель.Код ПОДОБНО "в%")
4 RomaH
 
naïve
12.09.06
15:56
Оператор ПОДОБНО позволяет сравнить значение выражения, указанного слева от него, со строкой шаблона, указанной справа. Значение выражения должно иметь тип строка. Если значение выражения удовлетворяет шаблону – результатом оператора будет ИСТИНА, иначе – ЛОЖЬ.
5 RealSaint
 
12.09.06
15:59
(4) Спасибо, документацию я умею читать. И что-же в моём запросе не соответствует этому тезису?
6 RomaH
 
naïve
12.09.06
16:00
Значение выражения должно иметь тип строка
7 RealSaint
 
12.09.06
16:02
(6) У меня выражение как раз и имеет тип "Строка".
8 Волшебник
 
12.09.06
16:05
удвой кавычки
9 RomaH
 
naïve
12.09.06
16:10
(8) ВодителиТранспортныхСредств.Водитель.Наименование ПОДОБНО "в%" - не ругается

Водитель.Код - тип число, однако
10 RealSaint
 
12.09.06
16:11
(8) А зачем? Я даже попробовал, не сработало. Тем более что у меня даже конструктор запроса ругается на два оператора ПОДОБНО. С одним оператором он нормально отрабатывает условие.
11 RealSaint
 
12.09.06
16:13
(9) Да, код числовой, но до обработки кода дело не доходит, так как 1С ругается именно на два оператора ПОДОБНО в тексте запроса.
12 Волшебник
 
12.09.06
16:13
тогда см. (9)
13 RealSaint
 
12.09.06
16:16
(9) Блин, наверное дело было именно в этом. Изменил тип кода на "Строка" и вроде работает. Спасибо.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.