Как в запросе проверить строку на спецсимволы #720787


#0 by Asest
Как поставить условие на Номенклатура.Артикул, чтобы следующее условие оказалось верным. Есть переменная &Артикул. Номенклатура.Артикул = &Артикул если они равны без учета спецсимволов и пробелов, тоусловие должно считаться верным
#1 by Asest
Я понимаю что можно просто отобрать всю номенклатуру а потом проверять отдельно. но у меня 10 000 артикулов, и столько же номенклатуры, то есть для каждого артикула нужно проверить 10 000 номенклатур и так 10 000 раз. Получается примерно 10 минут на каждые 10 артикулов, нереальное время
#2 by Apokalipsec
То есть выпилить спецсимволы из артикулов не предлагать?) Подобно мучай.
#3 by Ёпрст
обойти весь справочник и регуляркой проверить нужное разве что.
#4 by Asest
Спец символы есть и в артикулах и в номенклатуре, можно разве что создать 2 временные таблицы в которых убрать спецсимволы, а после их сравнивать, но не думаю что это сильно ускорит
#5 by Asest
То есть вопрос стоит так: можно ли как то поставить условие прямо в запросе? как то заранее обработать строку прямо в запросе или наложить маску?
#6 by Kamas
ради интереса предлагаю найти всю номенклатуру которя в наименовании содержит _ или %
#7 by Asest
Ну скажите что это невозможно и я пойду развлекаться с таблицами
#8 by Kamas
с остальными символами вроде ка проблем не должно быть
#9 by Defender aka LINN
Представил себе такое "ПОДОБНО"
#10 by Kamas
ну например<> спокойно берутся
#11 by Asest
Можно наверно сделать так Номенклатура.ВнутрНомер ПОДОБНО" + " строка" а строку собирать по символьно из артикула вставляя маску, предварительно удалив спецсимволы и полчится так артикул = 123/ строка  = [0-9]+&символ1+[/-*. ]+&символ2+[/-*. ]+&символ3+[/-*. ]
#12 by Asest
Мне нужны конкретно символы /-*. и пробел Это достаточно извращенно или есть и другие варианты?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С

Back to top