Имя: Пароль:
1C
1С v8
Функция REPLACE в запросе
0 Rom_Kat
 
02.02.12
13:05
Очень удивлен, что ее нет в явном виде.
Как реализовать?
1 Rom_Kat
 
02.02.12
13:08
Вариант только для результата выборки СтрЗаменить применять?
2 Maxus43
 
02.02.12
13:08
зачем в запросе? вобще - СтрЗаменить в языке
3 Maxus43
 
02.02.12
13:08
скажи зачем в запросе - может будет вариант. пример в студию
4 mehfk
 
02.02.12
13:10
CHARINDEX один раз не хватило. Пришлось ТЗ перебирать.
5 Rom_Kat
 
02.02.12
13:15
и мне неохота перебирать лишний раз
6 Rom_Kat
 
02.02.12
13:16
а так придется только ради СтрЗаменить
7 Maxus43
 
02.02.12
13:16
да скажеш наконец зачем это надо? или секрет?
8 Rom_Kat
 
02.02.12
13:18
Мне надо из Артикула убрать лишние символы.
например бывает так [lkjwe123], а надо lkjwe123.
9 Maxus43
 
02.02.12
13:19
помоему в артикуле изначально такой гадости быть не должно, может лучше обработкой данные все привести в норму?
10 Wobland
 
02.02.12
13:20
(8) почему именно запрос?
11 Rom_Kat
 
02.02.12
13:25
Вместо этого

НовСтр.Артикул = СокрЛП(СтрЗаменить(СтрЗаменить(ВыборкаДетальныеЗаписи.Артикул, "[", ""), "]", ""));

хочу так

ВЫБРАТЬ
   Номенклатура.Ссылка,
   Номенклатура.Наименование,
   LTRIM(RTRIM(REPLACE(REPLACE(Номенклатура.Артикул, '[', ''), ']', '')))) как Артикул
ИЗ
   Справочник.Номенклатура КАК Номенклатура

Так вообще предки завещали.
12 Defender aka LINN
 
02.02.12
13:27
(11) А артикул в порядке держать тебе предки не завещали? :)
13 le_
 
02.02.12
13:28
выбор когда выразить(артикул как строка(1)) = "[" тогда
Подстрока(артикул, 2, 8)//если длина постоянная
иначе
артикул
конец как артикул
14 Rom_Kat
 
02.02.12
13:35
(12) Ну где найти клиента у которого все идеально в базе было бы ))
(13) ну откуда постоянная. Идеальных ситуаций на практике очень мало.
мог этот вариант пройти если бы длину строки еще получить.
15 Maxus43
 
02.02.12
13:37
(14) есть в запросах ДлинаСтроки :) в 8.2.какойто появилось
16 le_
 
02.02.12
13:37
Написать обработку, которая исправит артикулы в справочнике - дело 2-х минут.
17 Maxus43
 
02.02.12
13:38
(15) + сори, это в СКД появилось
18 Rom_Kat
 
02.02.12
13:41
(16)я пошел другим путем. Сначала синхронизирую и вместе с этим пребью артикулы и наименования, они тоже очень нехороши.
(17) а я уже проверять бросился ))
19 Maxus43
 
02.02.12
13:43
(18) ну операция одноразовая, так что не ленись, СтрЗаменить юзай при переборе таблицы. исправишь артикулы - будет хорошо
20 Rom_Kat
 
02.02.12
13:44
еще очень раздражает что | не проставляется на новой строке.
21 le_
 
02.02.12
13:46
В конструкторе запроса, есть кнопка "Запрос", если её нажать, можно писать запрос без |.
22 Rom_Kat
 
02.02.12
13:47
v8: Определение подстроки в запросе 1С 8-ка
вот так еще можно помутить
23 Rom_Kat
 
02.02.12
13:49
Какие еще есть операторы кроме %?
24 simol
 
02.02.12
13:49
Так все равно ты запросом не изменишь и будешь в цикле исправлять
25 Rom_Kat
 
02.02.12
13:52
(24)я изменю потом. На данном этапе мне нужно по артикулу из MySQL определить соответствие в Номенклатуре.
26 Rom_Kat
 
02.02.12
13:55
(21) ну как вариант. Но почему бы ей не ставиться автоматом? наверное надо снегопад брать. Кто знает ставится там?
27 Maxus43
 
02.02.12
14:06
(23)СП:

Оператор ПОДОБНО позволяет сравнить значение выражения, указанного слева от него, со строкой шаблона, указанной справа. Значение выражения должно иметь тип строка. Если значение выражения удовлетворяет шаблону – результатом оператора будет ИСТИНА, иначе – ЛОЖЬ.

Следующие символы в строке шаблона являются служебными и имеют смысл, отличный от символа строки:

% (процент): последовательность, содержащая любое количество произвольных символов
_ (подчеркивание): один произвольный символ
[…] (в квадратных скобках один или несколько символов): любой одиночный символ из перечисленных внутри квадратных скобок
В перечислении могут встречаться диапазоны, например a-z, означающие произвольный символ, входящий в диапазон, включая концы диапазона.
[^…] (в квадратных скобках значок отрицания, за которым следует один или несколько символов): любой одиночный символ, кроме тех, которые перечислены следом за значком отрицания
Любой другой символ означает сам себя и не несет никакой дополнительной нагрузки.

Если в качестве самого себя необходимо записать один из перечисленных символов, то ему должен предшествовать <Спецсимвол>. Сам <Спецсимвол> (любой подходящий символ) определяется в этом же операторе после ключевого слова СПЕЦСИМВОЛ.

Например, шаблон “%АБВ[0-9][абвг]\_абв%” СПЕЦСИМВОЛ “\” означает подстроку, состоящую из последовательности символов:
буквы А; буквы Б; буквы В; одной цифры; одной из букв а, б, в или г; символа подчеркивания; буквы а; буквы б; буквы в.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.