Консультация № 140918
28.07.2008, 19:58
0.00 руб.
0 1 1
Здравствуйте Уважаемые эксперты! Вопрос по версии 8.
Подскажите (или подпраьте мой код) как корректно загрузить из текстового файла сотрудников.

Процедура КнопкаВыполнитьНажатие(Кнопка)
ТекстФайл=Новый ТекстовыйДокумент;
ТекстФайл.Прочитать("c:sotr.txt");

Для НомСтроки=1 По ТекстФайл.КоличествоСтрок() Цикл
Стр=ТекстФайл.ПолучитьСтроку(НомСтроки);
Позиция=Найти(Стр,Символ(34));
Код=Сред(Стр,1,Позиция-1);
Наименование=Сред(Стр,14,Позиция+50);

НовыйЭлемент=Справочники.ФизическиеЛица.СоздатьЭлемент();
НовыйЭлемент.Код=Код;
НовыйЭлемент.Наименование=Наименование;
НовыйЭлемент.Записать();
КонецЦикла;
КонецПроцедуры

Текст выглядит следующим образом:
"00005""Сидоров Петр Иванович"
"00006""Петров Федор Валентинович"

Сорри начинаю изучать версию восемь!

Обсуждение

Неизвестный
28.07.2008, 21:05
общий
это ответ
Здравствуйте, Besker®!
На первый взгляд у вас все правильно.
я бы правда использовал "немного" другие объекты, в приложении мой вариан (как альтернатива).
ну и неплохо бы наверно было дать возможность пользователю выбрать файл в котором находятся данные. Для этого можно использовать диалог выбора файла.
А еще, возможно, Вам необходимо сделать поиск в справочнике на уже существующие элементы либо по коду, либо по наименованию, а то вдгур элементы с таким кодом или наименованиме уже кто-то ввел ручками или раньше загрузил.



Приложение:
//----- Обработка текстового файла

ТекстФайл = Новый ЧтениеТекста(Путь);
ТекСтрока = ТекстФайл.ПрочитатьСтроку();
Пока ТекСтрока <> Неопределено Цикл

//ваши действия по обработке прочитанной строки

ТекСтрока = ТекстФайл.ПрочитатьСтроку();

КонецЦикла;


//----------------Выбор файла

ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогОткрытияФайла.Заголовок = "Укажите расположение файла с данными";
Если ДиалогОткрытияФайла.Выбрать() тогда
Путь = ДиалогОткрытияФайла.ПолноеИмяФайла;
КонецЕсли;
Форма ответа