1с как прочитать файл
Перейти к содержимому

1с как прочитать файл

  • автор:

Чтение файла на сервере в режиме управляемого приложения 1С:Предприятие 8.*

При работе с файлами в режиме управляемого приложение необходимо иметь ввиду, что выполнить какие-либо действия с данными файла нужно на сервере (например создать и заполнить элемент справочника), а сам файл доступен на клиенте. Т.о. необходимо либо считать данные файла в массив информации и в обрабатывать его на сервере или передать файл на сервер. В статье описан второй способ.

Задача: Заполнить справочник из файла в режиме управляемого приложения 1С.

Необходимо выполнить несколько этапов:
1) Поместить файл во временное хранилище

&НаКлиенте Процедура ЗагрузитьСДиска(Команда) АдресВХранилище = ""; ВыбранноеИмяФайла = ""; Если ПоместитьФайл(АдресВХранилище,,ВыбранноеИмяФайла,,УникальныйИдентификатор) Тогда Файл = Новый Файл(ВыбранноеИмяФайла); Объект.СсылкаНаФайлВоВременномХранилище = АдресВХранилище; ЗагрузитьВСправочник(); КонецЕсли; КонецПроцедуры

2) Непосредственная загрузка в справочник. Из временного хранилища создадим временный файл и прочитаем его

&НаСервере Процедура ЗагрузитьВСправочник() ДвоичныеДанные = ПолучитьИзВременногоХранилища(Объект.СсылкаНаФайлВоВременномХранилище); ИмяВременногоФайла = ПолучитьИмяВременногоФайла("txt"); ДвоичныеДанные.Записать(ИмяВременногоФайла); Текст = Новый ЧтениеТекста(ИмяВременногоФайла); Стр = Текст.ПрочитатьСтроку(); Пока Стр > Неопределено Цикл //код обработки строки, например создание и заполнение элемента справочника Стр = Текст.ПрочитатьСтроку(); КонецЦикла; Текст.Закрыть(); УдалитьФайлы(ИмяВременногоФайла); КонецПроцедуры

1с как прочитать файл

« Как стать программистом 1С » Язык 1С » Текстовый файл 1С — ЧтениеТекста 1С, ЗаписьТекста 1С, ЗначениеВФайл 1С, ЗначениеИзФайла 1С

Текстовый файл 1С — ЧтениеТекста 1С, ЗаписьТекста 1С, ЗначениеВФайл 1С, ЗначениеИзФайла 1С

Для работы с текстовыми файлами 1С предназначены объекты ЧтениеТекста 1С и ЗаписьТекста 1С. Функция ЗначениеВФайл() позволяет быстро и просто сохранить в текстовый файл 1С «любое» значение 1С, в том числе такие объекты как таблица значений и прочие.

Чтение текстового файла 1С

Пример чтения текстового файла (про строки и работу с символами переноса строки см. подробнее «Работа со строками»).

Пример 1. Чтение текстового файла 1С целиком с помощью ЧтениеТекста 1С (в одну «строку с переносами»)
Файл = Новый ЧтениеТекста(«D:\Текстовый файл.txt»);
ВесьФайлОднойСтрокой = Файл.Прочитать();
Файл.Закрыть();

Пример 2. Чтение текстового файла 1С построчно с помощью ЧтениеТекста 1С (в данном примере в массив строк)
мСтрокФайла = Новый Массив();
Файл = Новый ЧтениеТекста(«D:\Текстовый файл.txt»);

//прочитать строку считывает одну строку из файла
//если достигнут конец файла, то возвращается значение НЕОПРЕДЕЛЕНО
Строка = Файл.ПрочитатьСтроку();
//а не был ли файл пуст?
Если Строка <> Неопределено Тогда
мСтрокФайла.Добавить(Строка);
КонецЕсли;

//цикл пока чтение строки не вернет НЕОПРЕДЕЛЕНО
//внутри цикла повторяем чтение
Пока Строка <> Неопределено Цикл
Строка = Файл.ПрочитатьСтроку();
Если Строка <> Неопределено Тогда
мСтрокФайла.Добавить(Строка);
КонецЕсли;
КонецЦикла;

Запись текстового файла 1С

Пример 3. Запись текстового файла 1С с помощью ЗаписьТекста 1С (пример – формирование xml файла текстом)

Только зарегистрированные пользователи VIP группы могут видеть этот контент.

Получившийся текстовый файл 1С с помощью ЗаписьТекста 1С:

Пример 4. Сохранение значения 1С в текстовый файл 1С с помощью ЗначениеВФайл 1С, чтение с помощью ЗначениеИзФайла 1С
//запросом выбираем все документы поступления товара
Запрос = Новый Запрос(«ВЫБРАТЬ * ИЗ Документ.ПоступлениеТоваров»);

//Запрос.Выполнить().Выгрузить() — выгружает в таблицу значений все выбранные запросом документы
//ЗначениеВФайл 1С — сохраняет таблицу значений в файл
ЗначениеВФайл(«D:\Текстовый файл.txt», Запрос.Выполнить().Выгрузить());

//ЗначениеИзФайла — считывает значение из файла обратно, в то значение, которое было сохранено, в данном случае в таблицу значений
//если выполнить этот код в другой базе, то ссылки на объекты не сохранятся, а простые типы данных (строка, число, дата, булево) — сохраняться
//вариант — проходить таблицу перед сохранением в цикле, заменяя все ссылочные значения на простые типы (подробнее см. «Работа с типами»)
тЗначений = ЗначениеИзФайла(«D:\Текстовый файл.txt»);
тЗначений.ВыбратьСтроку();

Проголосовать за этот пост:

1С — как прочитать / записать текстовый файл (.txt — расширение, блокнот)

Пример процедуры по чтению текстового файла

Работа с текстовыми файлами — это очень востребованная задача, которая часто возникает при обменах данными со сторонним программным обеспечением. Данная статься будет полезна программисту.

Вариант 1 — без разделения на строки (считать информацию целиком)

&НаКлиенте Процедура ВывестиСодержимое() Файл = Новый ЧтениеТекста("G:\РусланИЛюдмила.txt"); БлокнотТекст = Файл.Прочитать(); Сообщить(БлокнотТекст); Файл.Закрыть(); КонецПроцедуры 

Вариант 2 — с построчным разделением (обход строк текстового файла)

&НаКлиенте Процедура ВывестиСодержимое() // процедура обходит все строки файла и выводит сообщение с текстом строки Файл = Новый ЧтениеТекста("G:\РусланИЛюдмила.txt"); ТекущаяСтрока = Файл.ПрочитатьСтроку(); Пока ТекущаяСтрока > Неопределено Цикл Сообщить(ТекущаяСтрока); ТекущаяСтрока = Файл.ПрочитатьСтроку(); КонецЦикла; КонецПроцедуры 

Пример изменения текста файла и его записи (сохранения)

&НаКлиенте Процедура СохранитьИзменения() Содержимое = Новый ЗаписьТекста; Содержимое.Открыть("G:\РусланИЛюдмила.txt"); Содержимое.ЗаписатьСтроку("Наше сообщение"); Содержимое.Закрыть(); КонецПроцедуры 

1с как прочитать файл

Как можно прочитать все текстовые файлы в определенной папке, как это можно реализовать, подскажите плс.

сначала надо найти файлы?

МассивФайлов = НайтиФайлы(<Путь>, , );
Для Каждого Файл Из МассивФайлов Цикл
.
КонецЦикла;

Есть папка, в этой папке есть файлы, мне нужно открыть все их и прочитать данные.
МассивФайлов = НайтиФайлы(«C:\Temp»);
Для каждого Файл Из МассивФайлов Цикл
Сообщить(Файл);
КонецЦикла;
Не работает

да, в этом каталоге у тебя нет файлов удовлетворяющих пустой маске.. что тут удивительного?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *