Имя: Пароль:
1C
 
v8: В запросе нельзя использовать функции 1с. Кто как исхитрялся?
0 MRAK
 
19.12.06
13:53
Нужно установить подобие контрагента с вновь вводимым. Туповатые операторы могут попутать с регистром буков. Делаю такой запрос:
   ЗапросПоискаКонтрагента = Новый Запрос("SELECT
   |Контрагенты.Ссылка,
   |Контрагенты.ИНН,
   |Контрагенты.Наименование,
   |Контрагенты.КПП
   |FROM
   |Справочник.Контрагенты AS Контрагенты
   |WHERE
   |Контрагенты.ИНН = &КонтрагентИНН
   |AND
   |СокрЛП(Врег(Контрагенты.НаименованиеПолное)) LIKE &КонтрагентНаименование")

Естественно, 1с-ка ругается - функция Врег не может выполняться в запросе. Кто какие может предложить алтернативные варианты?
1 dimoff
 
19.12.06
13:58
Открою тебе страшную тайну, все сравнения в запросе идут без учета регистра.
2 MRAK
 
19.12.06
13:59
Да, чета туплю. Можно выборку сравнивать. Просто логика тогда меняется
3 Волшебник
 
19.12.06
13:59
ПОДСТРОКА(Контрагенты.НаименованиеПолное,0,1000) LIKE "%Иванов%"
4 MRAK
 
19.12.06
13:59
+1 а ведущие пробелы?
5 dimoff
 
19.12.06
14:00
(4) Задай возможность ведущих пробелов в шаблоне.
6 dimoff
 
19.12.06
14:00
(2) До сих пор тупишь
7 MRAK
 
19.12.06
14:01
+3 А зачем в данном случае ПОДСТРОКА?
8 MRAK
 
19.12.06
14:02
Бывает )) Дергают тут со всех сторон)))
9 Волшебник
 
19.12.06
14:05
(7) чтобы работать со строками неогр. длины

А вообще по-хорошему в спр. Контрагенты не должно быть ведущих пробелов. Прокрути обработку над справочником и в модуль объекта ПриЗаписи воткни СокрЛП
10 dimoff
 
19.12.06
14:08
(8) Открой описание языка, там несколько страниц с подробным описанием шаблонов к оператору "ПОДОБНО", скорей всего этого достаточно будет, хотя если ИНН у тебя заполнен, то можно и с выборкой работать, вряд ли там много вариантов будет.
11 MRAK
 
19.12.06
14:17
Всем спасибо
12 TormozIT
 
гуру
19.12.06
14:17
(7) Затем, что реквизит неограниченной длины.
13 MRAK
 
19.12.06
14:28
+12 Ну не знаю, у меня и без подстроки на УПП 1.2 работала конструкция Контрагенты.НаименованиеПолное LIKE "%Иванов%"