Как записать в текстовый файл из 1С


Простая задача:

  • На форме организовать выбор файла (формат файла txt)
  • Заполнить файл данными
  • Ну и сохранить естественно (если файл с данными, то чтобы спросил перезаписать или нет).

Как это сделать?

 

Организуем форму толстого клиента 1С

Выполним эту задачу на примере формы внешней обработки. Создаем внешнюю обработку, добавляем форму, на форму кидаем поле с типом строка без ограничения длины.

У добавленного нами поля нужно включить кнопку выбора.

Добавим обработчик нажатия.

Обратите внимание, что в модуле у нас появились две функции – одна обработчик нажатия кнопки «Выполнить», которая была автоматически добавлена на форму обработки при ее создании. Другая – добавленный нами обработчик.

 

Организуем форму тонкого клиента 1С

Пример такой же организации формы на тонком клиенте 1С.

Добавляем реквизит в обработку — неограниченная строка (т.е. длина = 0).

Только что добавленный реквизит вытаскиваем на форму. Чтобы открыть его свойства — нажмите на вытащенном реквизите правой кнопкой мыши.

Свойство КнопкаВыбора установите Да.

Тонкий клиент не добавляет автоматически кнопку. Поэтому нам нужно самостоятельно на форму обработки добавить кнопку Записать.

На закладке Команды добавьте новую команду и нажмите в ее свойствах лупу, чтобы добавить обработчик.

Также перетащите добавленную команду на форму (влево).

В модуле у нас также две функции – одна обработчик нажатия кнопки «Записать», который мы добавили. Другая – добавленный нами обработчик события при выборе.

 

Программируем выбор [имени и места записи] файла

В Windows есть общепринятый диалог работы с выбором файла.

Из 1С есть доступ к управлению этим диалогом. Для этого существует специальный объект «ДиалогВыбораФайла».

Вот пример кода для нашего случая:


Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);

Диалог.Заголовок = "Выберите имя файла для сохранения";

Диалог.МножественныйВыбор = Ложь;

Диалог.Фильтр = "Текстовый файл(*.txt)|*.txt";

 

//Вызов собственно диалога на экран

Если Диалог.Выбрать() Тогда

   //Сюда попадем только если пользователь нажал ОК

   //Сохранение выбранного имени файла (полного имени, значит включая путь к нему)

   ИмяФайла = Диалог.ПолноеИмяФайла;

КонецЕсли;

 

Если Вы хотите дать возможность выбирать несколько расширений файлов, например txt и rtf, то нужно написать так:


Диалог.Фильтр = "Документ Microsoft Word (*.txt)|*.txt|"
+ "Документ Microsoft Excell (*.rtf)|*.rtf|";

 

Программируем запись файла на диск

Для записи текстовых файлов в 1С есть объект «ЗаписьТекста».

Работа с ним очень простая.

Вот пример кода для нашего случая:

Файл = Новый ЗаписьТекста(ИмяФайла);
Файл.ЗаписатьСтроку("Привет!");
Файл.ЗаписатьСтроку("Как дела?");
Файл.Закрыть();

 

Скачать готовый пример

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

Как записать в текстовый файл из 1С — скачать пример

 


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

1 Star2 Stars3 Stars4 Stars5 Stars (29 голосов, среднее: 4,17 из 5)
Загрузка...

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