Имя: Пароль:
1C
1C 7.7
v7: Загрузка реквизитов и ТЧ документа из csv.
,
0 toxavich
 
29.08.11
18:58
Подскажите, с терминала получаю файлы, в них реквизит документа и ТЧ.
Структура файла:
строка - 100000008;8;28.08.11 4:06:00;0;15;1;0;4957,2;10
это реквизит документа, подскажите как можно его разобрать, длинна как всей строки так и каждого параметра динамическая, разделитель ";".
1 palpetrovich
 
29.08.11
18:59
малацца :)
2 DrMabuzo
 
29.08.11
19:01
Результат = Новый Структура("ФИО, ЭлектроннаяПочта, Телефон, Доставка, Коментарий, Область, Город, Улица, Дом, Квартира");
   
   // Прочитать ФИО
   Позиция = Найти(СтрокаДляРазбора, ";");
   ФИО = Сред(СтрокаДляРазбора, 2, Позиция - 3);
   Результат.ФИО = ФИО;
   // Отрезать прочитанный фрагмент
   СтрокаДалее = Сред(СтрокаДляРазбора, Позиция + 2);
   
   // Прочитать ЭлектроннаяПочта
   Позиция = Найти(СтрокаДалее, ";");
   ЭлектроннаяПочта = Сред(СтрокаДалее, 1, Позиция - 2);
   Результат.ЭлектроннаяПочта = ЭлектроннаяПочта;
   // Отрезать прочитанный фрагмент
   СтрокаДалее = Сред(СтрокаДалее, Позиция + 3);


и т.д.
3 andrewks
 
29.08.11
19:02
Стр=СтрЗаменить(ИсхСтр,";",РазделительСтрок);

ну а дальше цикл по строкам
4 2S
 
29.08.11
19:03
в СЗ загони
5 toxavich
 
29.08.11
19:19
(2)каждый параметр с динамической длинной!
то есть не известно с какого символа он начинается, и где заканчивается!
6 DrMabuzo
 
29.08.11
19:21
(5) угу, неизвестно, и что? думаешь код не сработает?
7 toxavich
 
29.08.11
19:24
(6) спасибо, первые 3 параметра считались нормально!
извини, я просто пытался, немного по другому, но этим же способом, продолбалсо....
8 DrMabuzo
 
29.08.11
19:24
возможно, надо будет заменить +/-2 и +/-3 на 1 и 2 соответственно, я делал это для строк, а в них есть кавычки
9 toxavich
 
29.08.11
19:25
(8)да, у меня нет пробелов, везде +/-1
Спасибо Сосед!))
10 KRV
 
29.08.11
19:25
"Длиннна" пишитца с тримя "Н", чтобы быть длинннее
11 DrMabuzo
 
29.08.11
19:25
:) всегда рад
12 bizon2008
 
29.08.11
19:32
Сваял обработку загрузки справочника. Пришел за пинками.
тут глянь, та же задача. Можешь содрать, разрешаю.
13 toxavich
 
29.08.11
19:37
(12) ширина полей фиксированная!
14 bizon2008
 
29.08.11
19:42
А в (0) длинна как всей строки так и каждого параметра динамическая
15 toxavich
 
29.08.11
20:01
(14) это вопрос или утверждение?
она динамическая, каждая строка разной ширины, всегда!
16 bizon2008
 
29.08.11
20:22
(15)Ты бы привел с десяток строк, было бы понятно. А то у тебя противоречия.
17 AlexNew
 
29.08.11
20:29
Продам СП недорого.
ИзСтрокиСРазделителями(<?>)
Синтаксис:
ИзСтрокиСРазделителями(<Строка>)
Назначение:
Заполняет СписокЗначений значениями из переданной в качестве параметра строки, содержащей разделенные запятыми значения: числа и строки в двойных кавычках.
Параметры:
<Строка> - символьная строка, в которой значения разделены запятыми. В качестве значений могут быть числа и строковые значения - они записываются в двойных кавычках.