Имя: Пароль:
1C
1С v8
Регулярные выражение в запросе в разделе Выбрать
,
0 Sam1C
 
26.12.17
08:53
Всем доброе утро! Можно ли как то выбрать из наименования товара, все кроме размеров, например:
"Супер-пупер товар 0,5x3,53 м со своим блэкджеком"
Преобразовать в:
"Супер-пупер товар со своим блэкджеком"
1 Sam1C
 
26.12.17
08:54
(0) Размеры могут быть в любом месте, т.е. жестко не привязаны ни как к позиции в самой строке. Т.е. может быть:"Короб 1,5x2 м"
2 Asmody
 
26.12.17
08:55
нельзя
3 rs_trade
 
26.12.17
08:57
(1) размеры одинаково написаны?
4 rs_trade
 
26.12.17
09:00
хотя обработать строки в запросе в любом случае не получится.
5 Sam1C
 
26.12.17
09:03
(3) позиций 50000 тысяч на глаз сразу не определить. Короче наверно надо построчно перебирать и каждую строку анализировать.
6 Sam1C
 
26.12.17
09:07
Странно конструкция Подобно есть в запросах, где можно задать шаблон, но он проверяет только на Булево. 1С могла бы уже и в ВЫБРАТЬ вставить функцию преобразования строки по шаблону, раз уже имеется проверка на условие
7 rs_trade
 
26.12.17
09:11
(6) какая связь между подобно в условии и какой-то непонятной, нужной только вам функции в селекте?

в функциях даже банального трима нет.
8 George Wheels
 
26.12.17
09:13
(6) Ну уберёшь циферки, а "х", "м",... останутся
Супер-пупер товар x м со своим блэкджеком
9 VS-1976
 
26.12.17
09:15
Тащи на клиента а там регулярку прикрути через com
10 Sam1C
 
26.12.17
09:16
(8) Если после цифры стоит "х" или " х ", то убираем, тоже самое с "м" и получим "Супер-пупер товар  со своим блэкджеком"
11 Sam1C
 
26.12.17
09:17
(7) Почему только мне, думаю много кому пригодилось бы сразу в селекте преобразовать строку по шаблону
12 George Wheels
 
26.12.17
09:21
(10) По опыту знаю, что пользователи втыкают пробелы куда ни попадя.
13 VS-1976
 
26.12.17
09:21
(11) Скорее всего это связанно с тем что используются различные источники. По этому ПОДОБНО это как язык Эллы Шурочкиной по сравнению с регуляркой...
14 VS-1976
 
26.12.17
09:26
(13) Хотя в пост обработке запроса можно в секции ВЫБОР и реализовать возможность использовать регулярку... Но я думаю им и так есть чем заняться, хотя бы сортировкой массива или реализаций функции ABC...
15 Timon1405
 
26.12.17
09:29
автору рекомендую заранее подумать, что и как извлекать из строк
Супер-пупер товар 0,5x3,53 со своим блэкджеком
Супер-пупер товар 0,5x3,53 м со своим блэкджеком
Супер-пупер товар 0,5x3,53 мм со своим блэкджеком
Супер-пупер артикул 12345 товар 0,5x3,53 м со своим блэкджеком
16 SSSSS_AAAAA
 
26.12.17
09:30
(6) Интересно, откуда такие познания насчет возможностей 1С и того, что они могли бы? Вы как себе представляете эту самую регулярку при выполнении запроса на MS SQL? Или вы думаете, что запросы всегда сама 1с выполняет?
17 Sam1C
 
26.12.17
16:59
понятно что 1С транслирует в MS SQL, но у MS SQL есть хранимые процедуры, где можно и  описать функции  преобразования строки по шаблону. Команда ПОДОБНО сравнивает как-то строки по шаблону
18 SSSSS_AAAAA
 
26.12.17
17:39
(17)
Какие еще процедуры в запросе?
Команда ПОДОБНО (LIKE) есть в Т-sql и потому может использоваться.
19 Sam1C
 
26.12.17
18:29
(18) Как-то так:
CREATE FUNCTION ВыразитьПОШаблону(@Str,@template)
.......
RETURN @Result;
..


ВЫБРАТЬ ВыразитьПОШаблону(Товар.Наименование,"%&[]")
ИЗ
Справочник.Номенклатура КАК Товар
20 h-sp
 
26.12.17
23:24
(19) а зачем в запросе такая фигня вдруг понадобилась? Заведи в Номенклатуре реквизит НаименованиеБезРазмера. И заполни его обработкой.
21 rs_trade
 
27.12.17
08:51
(19) функционал запросов 1с наверняка соответствует какому то стандарту, типа SQL:2003. Что бы работал во всех субд. А в стандарте таких функций нет. Это реализации конкретных субд и у каждого по своему.
22 SSSSS_AAAAA
 
27.12.17
09:14
(19)
1. И где тут ПРОЦЕДУРА? Вы процедуры и функции не различаете? И не знаете, что в T-SQL у них очень большие отличия?
2. Скалярные функции в T-SQL есть БОЛЬШОЙ тормоз.
23 Sam1C
 
27.12.17
09:39
(22) да просто обобщенно  назвал "хранимые процедуры"...., как что ли "методы" которые могут быть как функцией так процедурой. Посыл то думаю сам понятен был.
А на счет "Скалярные функции в T-SQL есть БОЛЬШОЙ тормоз", не спорю, но думаю быстрее встроенный язык 1С
24 Sam1C
 
27.12.17
09:42
(23) .......но думаю быстрее встроеннОГО  языка 1С
25 SSSSS_AAAAA
 
27.12.17
09:48
(24) ДАЛЕКО не факт.