|
Работа со строками 8,2 . | ☑ | ||
---|---|---|---|---|
0
KonstantinK90
21.05.15
✎
12:59
|
Всем привет! Не знаю как сделать подскажите есть сотни документов с разными комментариями, т.е разное количество символов.К примеру: "Птичкин выгружено из Далион №А0007637 выгружено из УАТ №А0000008256" или "выгружено из Далион №А0007637 выгружено из УАТ №А0000008256" Или "Далион №А0007637 выгружено из УАТ №А0000008256". Как сделать так что бы 1с-ка после слова "далион" брала только номер до следующего пробела на пример №А0007637 пробел ...
|
|||
1
ДенисЧ
21.05.15
✎
13:00
|
В типовых конфах есть процедура РазбитьСтрокуНаМассивПодстрок() или что-то подобное.
|
|||
2
KonstantinK90
21.05.15
✎
13:00
|
рассмотрим первый пример "Птичкин выгружено из Далион №А0007637 выгружено из УАТ №А0000008256" от сюда нужно получить только номер после слова Далион "№А0007637"
|
|||
3
zak555
21.05.15
✎
13:01
|
конфа БП ?
|
|||
4
KonstantinK90
21.05.15
✎
13:01
|
Да БП
|
|||
5
dangerouscoder
21.05.15
✎
13:04
|
(4) коменты руками пишут?
|
|||
6
KonstantinK90
21.05.15
✎
13:06
|
да пишут мне конкретно нужен тот комментарий в котором есть слово Далион и номер который идет после
|
|||
7
фобка
21.05.15
✎
13:08
|
Синтакс-помощник, открой раздел работа со строкой
|
|||
8
Ёпрст
21.05.15
✎
13:09
|
(2) Либо разбиваешь строку в массив, разделительем будет пробел и дальше перебор, либо тупо через Найти,Сред,Лев,Прав,СтрДлина
|
|||
9
dangerouscoder
21.05.15
✎
13:10
|
в запросе используешь условие Комментарий ПОДОБНО "%Далион%"
потом перебором пилишь строку |
|||
10
KonstantinK90
21.05.15
✎
13:11
|
нет не использую а какую возможность это дает ПОДОБНО "%Далион%" ?
|
|||
11
zak555
21.05.15
✎
13:13
|
обмен двух сторонний
через планы обмена сделан ? комменты нужны для проверки ? |
|||
12
Garykom
гуру
21.05.15
✎
13:14
|
Результат = "";
лСтрока = "Птичкин выгружено из Далион №А0007637 выгружено из УАТ №А0000008256"; мСтрока = СтрЗаменить(лСтрока, " ", Символы.ПС); КоличествоСтрок = СтрЧислоСтрок(мСтрока); Для НомерСтроки = 1 По КоличествоСтрок Цикл ТекСтрока = СтрПолучитьСтроку(мСтрока, НомерСтроки); Если СокрЛП(ТекСтрока)="Далион" Тогда Результат = СтрПолучитьСтроку(мСтрока, НомерСтроки+1); Прервать; КонецЕсли; КонецЦикла; Сообщить(Результат); |
|||
13
Garykom
гуру
21.05.15
✎
13:14
|
(12)+ затратил 2 минуты... с тебя (500/60)*2 рублей
|
|||
14
dangerouscoder
21.05.15
✎
13:15
|
(10) скорее всего вывалится в ошибку реквезит не отраниченной длинны
|
|||
15
KonstantinK90
21.05.15
✎
13:16
|
нет обмен одна сторонний просто документы проходят через 2 базы и в 3 заливаем а коменты нужны для проверки
|
|||
16
KonstantinK90
21.05.15
✎
13:23
|
о спасибо за помощь процедура вообще огонь!
|
|||
17
ViSo76
21.05.15
✎
13:26
|
Функция Split( ПереданнаяСтрока, Разделитель ) Экспорт
СтрокаДанных = ПереданнаяСтрока; ЧислоВхождений = СтрЧислоВхождений( СтрокаДанных, Разделитель ); СтрокаДанных = СтрЗаменить( СтрокаДанных, Разделитель, """},{""S"",""" ); СтрокаДанных = "{""#"",51e7a0d2-530b-11d4-b98a-008048da3034,{" + СтрЗаменить( ЧислоВхождений + 1, Символы.НПП, "" ) + ",{""S"",""" + СтрокаДанных + """}}}"; Возврат ЗначениеИзСтрокиВнутр( СтрокаДанных ); КонецФункции лСтрока = "Птичкин выгружено из Далион №А0007637 выгружено из УАТ №А0000008256"; пНомер = Split( лСтрока, "алион №" )[1]; пНомер = Лев( пНомер, Найти( пНомер, " " ) - 1 ); Сообщить( пНомер ); |
|||
18
ViSo76
21.05.15
✎
13:37
|
Чтобы работала на всех данных
пНомер = Split( лСтрока, "алион №" ); пРезультат = ?( ЗначениеЗаполнено( пНомер ), "№" + Лев( пНомер[1], Найти( пНомер, " " ) - 1 ), "" ); Сообщить( пРезультат ); |
|||
19
ViSo76
21.05.15
✎
13:38
|
Чуть ошибся
пНомер = Split( лСтрока, "алион №" ); пРезультат = ?( ЗначениеЗаполнено( пНомер ), "№" + Лев( пНомер[1], Найти( пНомер[1], " " ) - 1 ), "" ); Сообщить( пРезультат ); |
|||
20
KonstantinK90
21.05.15
✎
13:39
|
все спасибо разберемся!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |