Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 03:29

Применение ПОДОБИЕ в запросе

Автор k_aleks80, 26 фев 2015, 15:28

0 Пользователей и 1 гость просматривают эту тему.

k_aleks80

Здравствуйте,

помогите разобраться с ПОДОБИЕ в запросе. В контактной информации контрагента есть телефон: 8[926]12_34_555
Необходимо выбрать только его запросом (учебный пример).
Такой запрос отрабатывает (т.е. выбирает вышеуказанный номер телефона):

ВЫБРАТЬ
КонтрагентыКонтактнаяИнформация.Ссылка.Наименование,
КонтрагентыКонтактнаяИнформация.Вид,
КонтрагентыКонтактнаяИнформация.Представление
ИЗ
Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКонтактнаяИнформация
ГДЕ
КонтрагентыКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента)
И КонтрагентыКонтактнаяИнформация.Представление ПОДОБНО "%_[({#[<][0-9][0-9][0-9]]__#___#_55[^0-4^6-9]%" СПЕЦСИМВОЛ"#"


А такой - возвращает пустой результат:

ВЫБРАТЬ
КонтрагентыКонтактнаяИнформация.Ссылка.Наименование,
КонтрагентыКонтактнаяИнформация.Вид,
КонтрагентыКонтактнаяИнформация.Представление
ИЗ
Справочник.Контрагенты.КонтактнаяИнформация КАК КонтрагентыКонтактнаяИнформация
ГДЕ
КонтрагентыКонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонКонтрагента)
И КонтрагентыКонтактнаяИнформация.Представление ПОДОБНО "%_[({#[<][0-9][0-9][0-9][)}#]>]__#___#_55[^0-4^6-9]%" СПЕЦСИМВОЛ"#"


Не могу понять почему. Справку перечитал уже вдоль и поперек. Почему то спотыкается на втором перечислении спецсимвола (закрывающаяся квадратная скобка). :dfbsdfbsdf:

LexaK

да вроде все правильно ищет , по крайней мере ваш тест находит
выполните в консоли такую команду, получите телефон, все работает в вашем примере!!!
правда зачем такой сложный шаблон, не понятно :xfbnsdfb:


выбрать
    "8[926]12_34_555" как Телефон
где
"8[926]12_34_555" ПОДОБНО "%_[({#[<][0-9][0-9][0-9][)}#]>]__#___#_55[^0-4^6-9]%" СПЕЦСИМВОЛ"#"



возможно у вас в базе нет телофонов удовлетворяющих шаблону тестового !!!
если помогло нажмите: Спасибо!

k_aleks80

В том то и проблема, что такой телефон у контрагента есть (сам вводил). Проверяю запросы через консоль. В 1-м выдает результат, а во 2-м - пустой результат. Кстати, ваш пример - так же пустой результат запроса.

P.S. Это тестовая задачка. Такой сложный шаблон нужен для отрабатывания максимального количества различных вариантов, которые могут быть использованы в данной конструкции запроса.

LexaK

странно у меня этот пример возвращает телефон!
может у вас какие-то особенные настройки СКЛ, что-то вроде помню там есть настройка режима сравнения/поиска.
(сам уже давно СКЛ не админитрирю)
если помогло нажмите: Спасибо!

k_aleks80

Интересно. Так глубоко не копал. Возможно вы правы. Спасибо.
Добавлено: 27 фев 2015, 09:39


В продолжении нашего разговора - данная проблема не имеет никакого отношения к sql-серверу (см. самый простой пример запроса, где нет обращения к БД). Это проблема платформы. На платформе 8.1 и 8.2 - запрос отрабатывает; на 8.3 - результат запроса пустой. :befhbt:

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск