Имя: Пароль:
1C
1С v8
ПОДОБНО для чисел
0 KuJIT
 
04.12.13
14:44
Добрый день. Пишу запрос. Столкнулся с проблемой:

         Запрос.Текст =
            "ВЫБРАТЬ
            |    Номенклатура.Ссылка,
            |    Номенклатура.Наименование КАК Наименование,
            |    Номенклатура.Код КАК Код
            |ИЗ
            |    Справочник.Номенклатура КАК Номенклатура
            |ГДЕ
            |    Номенклатура.ЭтоГруппа = ЛОЖЬ
            |    И Номенклатура.Код ПОДОБНО &Наименование
            |
            |УПОРЯДОЧИТЬ ПО
            |    Код";
          Выборка = Запрос.Выполнить().Выбрать();
          Запрос.УстановитьПараметр("Наименование",+"%"+Текст +"%");

Номенклатура.Код - стандартный реквизит (число, как я понимаю)
Т.к. этот запрос не принес ожидаемых результатов, я нагуглил следующее "Оператор ПОДОБНО позволяет сравнить значение выражения, указанного слева от него, со строкой шаблона, указанной справа. Значение выражения должно иметь тип строка." Т.е. для числа такой фокус не прокатит. Есть ли что-то подобное для числа?
1 shuhard
 
04.12.13
14:45
(0)[стандартный реквизит (число, как я понимаю) ]
не верю
2 unregistered
 
04.12.13
14:47
(0) Обычно Код в справочниках - строка.
Хотя какой-нибудь "умник" мог сделать и числом.
3 unregistered
 
04.12.13
14:48
(0) >> Есть ли что-то подобное для числа?

Для числе есть стандартные операции сравнения
= <> < > >= <=
4 KuJIT
 
04.12.13
14:49
(3) Действительно, как-то не подумал =) Спасибо!
5 unregistered
 
04.12.13
14:49
+ к (3) Естественно сравнивать числа со строкой (если параметр &Наименование - строка) бессмысленно
6 НЕА123
 
04.12.13
14:51
почти ОФФ
зачем давать одинаковые идентификаторы полю и параметру?
7 KuJIT
 
04.12.13
14:51
На самом деле глупый косяк

Выборка = Запрос.Выполнить().Выбрать();
Запрос.УстановитьПараметр("Наименование",+"%"+Текст +"%");

Сначала Выполнил запрос, потом поменял параметр =)
8 unregistered
 
04.12.13
14:53
(6) Чтобы потом, когда сам будешь разбирать свой хавнокод, было над чем голову сломать :))
9 kiruha
 
04.12.13
15:23
И подобно лучше так писать
ПОДОБНО "%"+&Наименование+"%"

Запрос.УстановитьПараметр("Наименование",Текст);
10 KuJIT
 
04.12.13
16:52
(9) Спасибо
AdBlock убивает бесплатный контент. 1Сергей