Имя: Пароль:
1C
1С v8
Удаление до определённого знака
,
0 alexeiZ
 
11.03.13
11:35
Добрый день!
Подскажите пожалуйста как из строки можно удалить (или получить) все символы до определённого знака?

Доставка: 22.02.2013 00:00 Заказ №305100342

как вывести только 305100342 ?
1 fisher
 
11.03.13
11:41
В языке 1С есть функции работы со строками.
Их описание есть в синтакс-помощнике.
2 Wobland
 
11.03.13
11:41
взять средний кусок строки с найденного символа+1
3 extrim-style
 
11.03.13
11:41
(1) ТелепатБот?)
4 Godofsin
 
11.03.13
11:43
(0) Обрезка = Прав(ТвояСтрока,Найти(ТвояСтрока,"№"));
5 fisher
 
11.03.13
11:43
(3) КАПИТАН ТелепатБот :)
6 Godofsin
 
11.03.13
11:43
(5) =)
7 vinogradъ
 
11.03.13
11:44
(4) поторопился
8 Wobland
 
11.03.13
11:44
а никого не смущает, что автор в одном месте хочет _до_, а в другом - _после_?
9 extrim-style
 
11.03.13
11:45
(0) вполне может быть, что этот номер присутствует в доступных реквизитах этого документа, напр. Документ.Код
10 YHVVH
 
11.03.13
11:45
(8) меня уже ничего не смущает на этом форме
11 Песец
 
11.03.13
11:46
Сред("Доставка: 22.02.2013 00:00 Заказ №305100342 ",найти("Доставка: 22.02.2013 00:00 Заказ №305100342 ","№")+1);
12 alexeiZ
 
11.03.13
11:46
точно)))) я и не заметил
13 Lama12
 
11.03.13
11:47
И здесь Алексы...
Функции работы со строкой.
14 Godofsin
 
11.03.13
11:47
(7) ой, ой.. точно )
15 extrim-style
 
11.03.13
11:48
(12) видимо это мне ответ?)
16 Wobland
 
11.03.13
11:48
ну когда уже выяснится, что у автора запрос, и он хочет номер документа?
17 alexeiZ
 
11.03.13
13:53
Это помогло(Сред("Доставка: 22.02.2013 00:00 Заказ №305100342 ",найти("Доставка: 22.02.2013 00:00 Заказ №305100342 ","№")+1);),но выводится только 305100
18 Wobland
 
11.03.13
14:05
(17) врёшь
19 alexeiZ
 
11.03.13
14:08
304800061
304800
Доставка: 18.02.2013 00:00 Заказ №304800061
304800
001094068
20 Wobland
 
11.03.13
14:10
(19) так...
21 Wobland
 
11.03.13
14:11
я понял! не врёшь, а неверно интерпретируешь результаты опытов
22 samozvanec
 
11.03.13
14:12
взять номер не предлагать?
23 alexeiZ
 
11.03.13
14:13
каким образом?
24 Юрий Лазаренко
 
11.03.13
14:15
(22) Так это инфа с сайта строкой пришла, стопудофф. Надо из этой строки в 1С выбрать номер заказа и привязаться по номеру к нужному документу. "Я так думаю" (с)
25 samozvanec
 
11.03.13
14:16
(23) строку откуда взял?
(24) новая метода обмена? парсить сайты, обрабатывать строки?)
26 alexeiZ
 
11.03.13
16:11
он выводит только 6 знаков. Кто нибудь знает почему? Может, где-то указывается, но я найти не могу
27 Песец
 
12.03.13
07:51
(26) Подозреваю что "он", который выводит, имеет длину 6 знаков.

Сообщить(Сред("Доставка: 22.02.2013 00:00 Заказ №305100342 ",найти("Доставка: 22.02.2013 00:00 Заказ №305100342 ","№")+1));

выводит

305100342
28 Wobland
 
12.03.13
07:53
(26) в длине реквизита указывается, в алгоритме вывода указывается...
29 Эмбеддер
 
12.03.13
07:55
(8) Я беру камень и отсекаю всё лишнее. (Микеланджело в ответ на вопрос: «Как вы делаете свои скульптуры?»)
30 Novi4ok91
 
12.03.13
09:40
Результат ="";
           для х=1 По СтрДлина(Строка) Цикл
               а1=Сред(Строка,х,1);
               Если а1 <> "№" тогда
                   Результат2 =Результат2 + а1;
               иначе
                   Прервать;
           КонецЕсли
       КонецЦикла;
       НакаплИтог = Прав(Строка, (СтрДлина(Строка) - СтрДлина(Результат2) - 1));
31 Пенза58
 
12.03.13
09:43
(4) Не правильно.

Обрезка = Прав(ТвояСтрока,ДлинаСтр(ТвояСтрока)-Найти(ТвояСтрока,"№"));
32 Reset
 
12.03.13
09:46
(30) Нужно смеяться или плакать?
33 Wobland
 
12.03.13
09:48
(32) строго плакать. ведь Прав() тоже в цикл можно превратить - недоделка
34 Novi4ok91
 
12.03.13
09:48
Обоснуйте
35 НЕА123
 
12.03.13
09:48
Номер = СтрПОлучитьСтроку(СтрЗаменить(ВходнаяСтрока, "№", Символы.ПС),2)
36 Wobland
 
12.03.13
09:50
(34) так ты всерьёз? прав, лев, сред, найти. и никаких богомерзких посимвольных переборов
37 НЕА123
 
12.03.13
09:50
Удаляемое = СтрПОлучитьСтроку(СтрЗаменить(ВходнаяСтрока, "№", Символы.ПС),1)
38 Reset
 
12.03.13
09:52
(34) Что обосновать? Я ничего не утверждал :)
Там даже критиковать нечего. Беспощадно-бессмысленный набор кода.
39 Novi4ok91
 
12.03.13
09:52
Видимо я мал и глуп
40 Wobland
 
12.03.13
09:53
(39) это не беда. бедой будет, если ты не выйдешь из этого состояния ;)
41 Novi4ok91
 
12.03.13
10:00
Будем стараться выйти!)
42 alexeiZ
 
12.03.13
16:11
В реквизите все нормально. Где еще можно посмотреть?
43 Wobland
 
13.03.13
06:05
(42) в алгоритме вывода
44 Песец
 
13.03.13
08:34
(42) В отладчике.
Закон Брукера: Даже маленькая практика стоит большой теории.