Для работы с текстовыми файлами 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С с помощью ЗначениеВФайл 1С (для данного примера):
{"#",acf6192e-81ca-46ef-93a6-5a6968b78663,
{9,
{10,
{0,"Ссылка",
{"Pattern",
{"#",0042d8c9-e8d0-4982-82c4-ba72852906b8},
{"L"}
},"Ссылка",25},
{1,"ВерсияДанных",
{"Pattern",
{"S",12,0},
{"L"}
},"ВерсияДанных",12},
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.