Имя: Пароль:
1C
1С v8
Выборка из РегистраСведений, Условие "ПОДОБНО"
0 Чинандалар Бонг
 
18.05.12
15:44
пытаюсь выбрать товары с кодом НЕ содержащим знак "_". Вот запрос
ВЫБРАТЬ
   НоменклатураКонтрагентов.Номенклатура КАК Номенклатура,
   НоменклатураКонтрагентов.Номенклатура.Код КАК КодНоменклатуры,
   НоменклатураКонтрагентов.КодНоменклатурыКонтрагента КАК КодНоменклатурыКонтрагента
ИЗ
   РегистрСведений.НоменклатураКонтрагентов КАК НоменклатураКонтрагентов
ГДЕ
   НоменклатураКонтрагентов.Контрагент = &Контрагент
   И НЕ НоменклатураКонтрагентов.Номенклатура.Код ПОДОБНО &Шаблон

в результате выдает в том числе и с подчеркиванием. Где собака?
1 shuhard
 
18.05.12
15:46
(0) собака в %
2 Чинандалар Бонг
 
18.05.12
15:47
забыл указать Шаблон: "\_%" СПЕЦСИМВОЛ "\"
3 cViper
 
18.05.12
15:48
И НЕ НоменклатураКонтрагентов.Номенклатура.Код ПОДОБНО "%_%"
4 cViper
 
18.05.12
15:49
попробуй так
(2) А разве экранирование надо для подчеркивания?
5 Maxus43
 
18.05.12
15:49
НЕ ПОДОБНО "%_%"
6 Чинандалар Бонг
 
18.05.12
15:51
это все на СКД, поэтому там параметр Шаблон, его значение указывается в настройках
7 Чинандалар Бонг
 
18.05.12
15:51
экранирование надо, судя по документации
8 Чинандалар Бонг
 
18.05.12
15:53
и еще. не просто содержацие символ "_", а он должен быть впереди всего кода, например _34567. так что у меня вроде правильно написано
9 cViper
 
18.05.12
15:55
Так ты процент указываешь после нижнего подчеркивания?
10 cViper
 
18.05.12
15:55
Какой вводишь шаблон под пользователем?
11 Чинандалар Бонг
 
18.05.12
15:57
(10) "\_%" СПЕЦСИМВОЛ "\"
12 Чинандалар Бонг
 
18.05.12
15:58
ради прикола попробовал и "%\_%" СПЕЦСИМВОЛ "\" - тоже самое
13 Maxus43
 
18.05.12
15:59
просто "\_%" - недостаточно?
14 Maxus43
 
18.05.12
16:00
(13) + да, туплю
15 cViper
 
18.05.12
16:00
(11)А если экран \ убрать?
16 НЕА123
 
18.05.12
16:00
(0)
попробуй в скобки обернуть

НЕ (НоменклатураКонтрагентов.Номенклатура.Код ПОДОБНО &Шаблон)
17 Чинандалар Бонг
 
18.05.12
16:02
(15) пробовал
(16) тоже не катит
18 cViper
 
18.05.12
16:04
ааа
Просто выполни запросо в консоли без СКД.
19 Чинандалар Бонг
 
18.05.12
16:07
да чо толку, тож самое
20 cViper
 
18.05.12
16:08
тогда внимательно смотри на код номенклатуры которая отбирается с "_"
21 НЕА123
 
18.05.12
16:10
"\_%" СПЕЦСИМВОЛ "\"
точно такой? с кавычками все в порядке?


"""\_%"" СПЕЦСИМВОЛ ""\"""
22 НЕА123
 
18.05.12
16:14
или попробовать

НоменклатураКонтрагентов.Номенклатура.Код ПОДОБНО &Шаблон СПЕЦСИМВОЛ "\"
23 Чинандалар Бонг
 
18.05.12
16:17
(22) ты волшебник просто, ага?!  Получилось!
Итоговый текст
ВЫБРАТЬ
   НоменклатураКонтрагентов.Номенклатура КАК Номенклатура,
   НоменклатураКонтрагентов.Номенклатура.Код КАК КодНоменклатуры,
   НоменклатураКонтрагентов.КодНоменклатурыКонтрагента КАК КодНоменклатурыКонтрагента
ИЗ
   РегистрСведений.НоменклатураКонтрагентов КАК НоменклатураКонтрагентов
ГДЕ
   НоменклатураКонтрагентов.Контрагент = &Контрагент
   И НоменклатураКонтрагентов.Номенклатура.Код <> НоменклатураКонтрагентов.КодНоменклатурыКонтрагента
   И НЕ НоменклатураКонтрагентов.Номенклатура.Код ПОДОБНО &Шаблон СПЕЦСИМВОЛ "\"

шаблон: \_%
24 НЕА123
 
18.05.12
16:18
<Выражение> [НЕ] ПОДОБНО <Литерал типа СТРОКА> [СПЕЦСИМВОЛ <Литерал типа СТРОКА>]
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший