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

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

  • автор:

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 файла текстом)

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

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

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

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

Чтение и запись текстовых файлов в 1С 8

Если файл небольшой можно использовать объект ТекстовыйДокумент (пример чтения )

Текст = Новый ТекстовыйДокумент ;

ПолноеИмяФайла = «D:\1C\Пример.txt» ;
Текст . Прочитать ( ПолноеИмяФайла ) ;

КоличествоСтрок = Текст . КоличествоСтрок ( ) ;
Для Счетчик = 1 по КоличествоСтрок Цикл
ТекСтрока = Текст . ПолучитьСтроку ( Счетчик ) ;
Сообщить ( ТекСтрока ) ;
КонецЦикла ;

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

Запись через «ТекстовыйДокумент»

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

Чтение файла CSV

Для типовых конфигураций для «парсинга» строки возможно использование функции общего назначения РазложитьСтрокуВМассивПодстрок(Текст, «.»), в которой можно задать произвольный разделитель..

Подведем итоги:

Для чтения и записи текстового файла в 1С существуют 3 объекта ЧтениеФайла, ЗаписьФайла, ТекстовыйДокумент.

Последний более универсальный, но медлительный, т.к. считывает файл сразу. Если памяти мало, его использование может вызвать ошибку нехватки памяти. Данный объект является основой для интерфейсного объекта «ПолеТекстовогоДокумента»

Возможно использовать данные функции для чтения/записи HTML и log файлов.

Для работы с XML (хотя они тоже текстовые) рекомендуется использовать специализированные объекты ЧтениеXML, ЗаписьXML.

Реклама — фантазирование об обычном предмете в извращенной форме.

— Равиль Алев

Текстовые документы

Текстовый документ — это общий объект встроенного языка. Он позволяет представлять различную информацию (в том числе и результаты отчетов) в виде текстов.

Текстовые документы

Текстовый документ может быть прочитан из текстового файла, сохранен в текстовый файл. Он может быть размещен в форме или в макете, работа с ним возможна средствами встроенного языка.

Также текстовый документ может быть создан интерактивно в режиме Конфигуратор или в режиме 1С:Предприятие.

Макеты текстовых документов

Система 1С:Предприятие 8 поддерживает создание текстовых макетов, на основании которых средствами встроенного языка могут быть сформированы текстовые документы для отображения отчетов и форм первичных документов в текстовом виде.

Такие макеты могут быть добавлены в прикладное решение с помощью объектов конфигурации Макет.

Текстовый макет описывает области, содержащие выводимый текст и поля, в которые будут выведены вычисляемые значения:

Текстовые документы

Сформированный на основании этого макета текстовый документ будет иметь следующий вид:

Текстовые документы

  • создание именованных областей макета с указанием языка для области;
  • описание размещения полей текстового макета;
  • описание формата вывода данных поля;
  • описание выравнивания для поля;
  • описание автоматического переноса представления значения поля на следующую строку при формировании отчета;
  • использование забивки, если длина текст больше отведенного размера поля;
  • формирование текстового макета в виде, максимально приближенном к формируемому на его основе отчету или форме первичного документа.

Редактор текстов

Для создания и редактирования текстовых документов разработчик может использовать специальный редактор текста и модуля.

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

Ваш адрес email не будет опубликован.