HelpF.pro

Пример загрузки данных из Текстового файла, документа

Файл для загрузки содержит данные вида(КодФизЛица, ФизЛицо, Сумма):
000000513~Петров Юрий Викторович~150
000000184~Иванов Александр Юрьевич~50

Код 1C v 8.х
 //Выбор файла
Режим = РежимДиалогаВыбораФайла.Открытие;
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
ДиалогОткрытияФайла.ПолноеИмяФайла = "";
Фильтр = "Текст(*.txt)|*.txt";
ДиалогОткрытияФайла.Фильтр = Фильтр;
ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
ДиалогОткрытияФайла.Заголовок = "Выберите файл для загрузки";
Если ДиалогОткрытияФайла.Выбрать() Тогда
ПутьКФайлу = ДиалогОткрытияФайла.ПолноеИмяФайла;
КонецЕсли;
//Выбор вида удержания пользователем
ВидУдерж=Неопределено;
МассивТипов = Новый Массив;
МассивТипов.Добавить(Тип("ПланВидовРасчетаСсылка.УдержанияОрганизаций"));
ОписаниеВозможныхТипов = Новый ОписаниеТипов(МассивТипов);
Если ВвестиЗначение(ВидУдерж,"Выберите вид удержания", ОписаниеВозможныхТипов) Тогда
Если Удержания.Количество()>0 тогда
Предупреждение("Внимание! В таблице уже есть данные, новые данные Добавлены к существующим данным!");
КонецЕсли;
текдок=Новый ТекстовыйДокумент;
текдок.Прочитать(ПутьКФайлу);
Для Ном=1 по текдок.КоличествоСтрок() цикл
Стр = текдок.ПолучитьСтроку(Ном);
//Разложим строку в массив данных
СтрМ=РазложитьСтрокуВМассивПодстрок(стр,"~");
//Добавляем новую строку
НовСтр=Удержания.Добавить();
//Ищем Физика
Физик = Справочники.ФизическиеЛица.НайтиПоКоду(СтрМ[0]);
Если СокрЛП(Физик.Наименование) = СокрЛП(СтрМ[1]) тогда
НовСтр.Физлицо = Физик;
Иначе
Сообщить("В справочнике Физ. Лиц не найден "+СтрМ[1],СтатусСообщения.ОченьВажное);
КонецЕсли;
НовСтр.ВидРасчета=ВидУдерж;
НовСтр.ДатаНачала=РабочаяДата;
НовСтр.ДатаОкончания=РабочаяДата;
НовСтр.Показатель1=СтрМ[2];
НовСтр.Результат=СтрМ[2];
КонецЦикла;
КонецЕсли;

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/356.html