НаКлиенте Процедура ПолучитьСтрокуДанных ИзФайла СтрокаДанных Экспорт

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
&НаКлиенте
Процедура ПолучитьСтрокуДанныхИзФайла(СтрокаДанных) Экспорт
//1. Получить имя файла
Режим=Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);//РДВФ для указания варианта выбора файла открытие сохранение или выбор каталога
Если Режим.Выбрать()=Ложь Тогда //Если не лож выбираем файл
Возврат;
КонецЕсли;
//2. Прочитать файл (Поместим его в строку
Текст=Новый ТекстовыйДокумент;//Массив текстовый документ
Текст.Прочитать(Режим.ПолноеИмяФайла); //Прочитать-Считывает данные документа
СтрокаДанных=ТЕкст.ПолучитьТекст(); //Просто получает текст
КонецПроцедуры
&НаСервере
Функция СоздатьТаблицуПоСтрокеДАнных(СтрокаДанных,ИменаПолей)Экспорт
Перем ИмяПоля1, ИмяПоля2;
ИмяПоля1=СокрЛП(Лев(ИменаПолей,Найти(Именаполей,",")-1) );
ИмяПоля2=СокрЛП(Сред(ИменаПолей,Найти(Именаполей,",")+1) );
//3. Разобрать строку и поместить ее в таблицу значений
ТаблицаДанных=Новый ТаблицаЗначений;//Это как массив с колонками
ТАблицаДанных.Колонки.Добавить(ИмяПоля1);
ТаблицаДанных.Колонки.Добавить(ИмяПоля2);
Для НомерСтроки=1 По СтрЧислоСтрок(СтрокаДанных) Цикл //Число строк в во всем тексте
ТекущаяСтрока=СтрПолучитьСтроку(СтрокаДанных,НомерСтроки); //Получаем строку Текущая сейчас 1 Иванов; 52000
ПозРазделителя=НАйти(ТекущаяСтрока,";");//Позиция разделителя в первом случае 7
Если ПозРазделителя=0 Тогда
Сообщить("В строке "+НомерСтроки+" "+"НЕ найден разделитель");
Продолжить;
КонецЕсли;
НоваяСтрока=ТаблицаДанных.Добавить();//В скобках необязательно писать дальше вставляем как в коллекцию
НОваяСтрока[0]=Лев(ТекущаяСтрока,ПозРазделителя-1); //Текущая сейчас Иванов; 52000 поз разд 7(число символов 7) минус 1
НОваяСтрока[ИмяПоля2]=Сред(ТекущаяСтрока,ПозРазделителя+1); //Текущая сейчас Иванов; 52000 поз разд 7(число символов 7) минус 1
//(Можно вместо Имя поля 0 и 1)
КонецЦикла;
//4. Контрольный вывод таблицы
Для Каждого СтрокаТаблицы из ТаблицаДанных Цикл
Сообщить (""+СтрокаТаблицы[0]+" "+СтрокаТаблицы[ИмяПоля2]);//Тут ноль я поставил
КонецЦикла;
КонецФункции