1С запись файла на клиенте

Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.

Работа с файловой системой в языке 1С 8.3, 8.2 (в примерах)

С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).

Подписывайтесь и получайте новые статьи и обработки на почту (не чаще 1 раза в неделю).

Вступайте в мою группу ВКонтакте, Одноклассниках, Facebook или Google+ — самые последние обработки, исправления ошибок в 1С, всё выкладываю там в первую очередь.

Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.

Нажмите одну из кнопок, чтобы поделиться:

Guesto notes

Задача

Необходимо организовать сохранение файлов web-клиенте(браузере) и тонком клиенте через web. Для наглядности будем решать более узкую задачу, будем организовывать сохранение табличного документа в MS Excel.

Решение

Для наглядности будем решать более узкую задачу, будем организовывать сохранение табличного документа в MS Excel.

  1. Создадим табличный документ с произвольным текстом;
  2. Если работа производится на web-клиенте, то попытаемся подключить расширение работы с файлами;
  3. Поместим табличный документ во временной хранилище как файл MS Excel;
  4. Для сохранение файла воспользуемся функцией ПолучитьФайл(), который получает файл и сохраняет его в локальную файловую систему.

В итоге имеем следующий код:

При выполнении команды СохранитьФайл() получим диалог с вариантами сохранить или открыть получаемый файл

При выборе варианта «Открыть»

При выборе варианта «Сохранить»

Комментарии 3

Спасибо за статью! Пригодилось.

Алексей, рад что пригодилось!
Обратите внимание, что в статье используются методы УстановитьРасширениеРаботыСФайлами() и ПодключитьРасширениеРаботыСФайлами(), в настоящее время правильнее использовать НачатьУстановкуРасширенияРаботыСФайлами() и НачатьПодключениеРасширенияРаботыСФайлами().
По возможности поправлю статью)

Спасибо огромное!
Небольшое замечание:

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

Без этого исправления вылетала ошибка 400

Исключение
ВызватьИсключение;
КонецПопытки;

Чтобы открыть его свойства — нажмите на вытащенном реквизите правой кнопкой мыши. Свойство Вид: Поле текстового документа. (Свойство КнопкаВыбора установите Да.)

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

В модуле у нас также две функции – одна обработчик нажатия кнопки «Записать», который мы добавили. Другая – добавленный нами обработчик события при выборе. Программируем выбор [имени и места записи] файла В Windows есть общепринятый диалог работы с выбором файла. Из 1С есть доступ к управлению этим диалогом. Для этого существует специальный объект «ДиалогВыбораФайла».

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

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

Программируем запись файла на диск Для записи текстовых файлов в 1С есть объект «ЗаписьТекста». Работа с ним очень простая. Вот пример кода для нашего случая:

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


[an error occurred while processing the directive]
Карта сайта