Как записать любое значение в файл в 1с 8.3, 8.2
1 2 3 4 |
ЧисловыеЗначения = Новый Массив; ЧисловыеЗначения.Добавить(78); ЧисловыеЗначения.Добавить(45); ЗначениеВФайл("c:\ЧисловыеЗначения.txt", ЧисловыеЗначения); // Работает только на сервере |
Как восстановить любое значение из файла в 1с 8.3, 8.2
1 2 3 |
НашиЧисла = ЗначениеИзФайла("c:\числа.txt"); Сообщить(НашиЧисла[0]); // 78 Сообщить(НашиЧисла[1]); // 45 |
Как записать текстовый файл в 1с 8.3, 8.2
1 2 3 4 5 6 7 8 9 10 |
// работает и на сервере и на клиенте Текст = Новый ЗаписьТекста( "c:\Файл.txt", // имя файла КодировкаТекста.ANSI, // кодировка Символы.ПС, // разделитель строк (необязательно.) Ложь // перезаписывать файл, а не дописывать в конец (необязательно.) ); Текст.ЗаписатьСтроку("Первая строка"); Текст.ЗаписатьСтроку("Вторая строка"); Текст.Закрыть(); |
Как прочитать текстовый файл в 1с 8.3, 8.2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// работает и на сервере и на клиенте Текст = Новый ЧтениеТекста( "c:\Файл.txt", // имя КодировкаТекста.ANSI, // кодировка Символы.ПС, // разделитель строк (необязательно.) Истина // монопольный режим (необязательно.) ); // читаем, пока не закончатся строки Пока Истина Цикл Строка = Текст.ПрочитатьСтроку(); Если Строка = Неопределено Тогда Прервать; Иначе Сообщить(Строка); КонецЕсли; КонецЦикла; КонецПроцедуры |
Как проверить существование файла в 1С 8.3, 8.2
1 2 3 4 |
ФайлПр = Новый Файл("c:\НашФайл.txt"); Если ФайлПр.Существует() Тогда Сообщить("c:\НашФайл.txt существует"); КонецЕсли; |
Как скопировать файл в 1с 8.3, 8.2
1 2 3 4 |
КопироватьФайл( "c:\НашФайл.txt", // что копируем "c:\НовыйНашФайл.txt" // куда копируем ); // перезапишет, если уже есть такой файл |
Как переместить файл в 1с 8.3, 8.2
1 2 3 4 |
ПереместитьФайл( "c:\НашФайл.txt ", "c:\НовыйНашФайл.txt " ); // перезапишет, если уже есть такой файл |
Как найти файлы в каталоге в 1с 8.3, 8.2
1 2 3 4 5 6 7 8 9 10 11 |
// возвращает массив значений типа Файл МассивНайденныхФайлов = НайтиФайлы( "c:\", // где искать "*.txt", // маска поиска Ложь // если Истина, то будет искать и в подкаталогах ); Для Каждого Файл Из МассивНайденныхФайлов Цикл Сообщить("Найден " + Файл.ПолноеИмя); КонецЦикла; |
Как удалить файл в 1с 8.3, 8.2
1 2 3 4 |
// если файл с правами «Только чтение» - будет ошибка УдалитьФайлы( "c:\НашФайл.txt" ); |
Как удалить файлы в каталоге по маске в 1с 8.3, 8.2
1 2 3 4 5 |
// поиск в каталоге не рекурсивный УдалитьФайлы( "c:\okolokompa", // заведомо не существующий каталог "*.txt" // маска для поиска удаляемых файлов ); // если маску не указать, то удалятся все файлы вместе с каталогом |
Как получить имя временного файла в 1с 8.3, 8.2
1 2 |
Сообщить(ПолучитьИмяВременногоФайла()); // например, c:\Temp\v8_11AE_4.tmp Сообщить(ПолучитьИмяВременногоФайла(".txt")); // например, c:\Temp\v8_11AE_5.txt |
Как прочитать атрибуты файла в 1с 8.3, 8.2
1 2 3 4 5 6 7 8 9 |
Файлег = Новый Файл("c:\НашФайл.txt"); // время последнего изменения файла Сообщить(Файлег.ПолучитьВремяИзменения()); // проверяем права только чтение Сообщить(Файлег.ПолучитьТолькоЧтение()); // проверяем скрыт ли файл Сообщить(Файлег.ПолучитьНевидимость()); |
Как установить атрибуты файла в 1с 8.3, 8.2
1 2 3 4 5 6 7 8 |
// меняем время последнего изменения файла Файлег.УстановитьВремяИзменения(ТекущаяДата()); // меняем атрибут только чтение Файлег.УстановитьТолькоЧтение(Ложь); // меняем атрибут невидимости Файлег.УстановитьНевидимость(Ложь); |
Как узнать размер файла в 1с 8.3, 8.2
1 |
Сообщить(Файлег.Размер()); // покажет размер в байтах |
Как узнать по пути, файл это или каталог в 1с 8.3, 8.2
1 2 3 4 5 |
Если Файлег.ЭтоКаталог() Тогда Сообщить("Это каталог"); ИначеЕсли Файлег.ЭтоФайл() Тогда Сообщить("Это файл"); КонецЕсли; |
Как вытащить расширение файла из его пути в 1с 8.3, 8.2
1 |
Сообщить(Файлег.Расширение); |
Как вытащить имя файла без расширения в 1с 8.3, 8.2
1 |
Сообщить(Файлег.ИмяБезРасширения); |
Как создать каталог в 1с 8.3, 8.2
1 2 3 4 5 |
// Если такой каталог уже есть, то ошибки не будет. СоздатьКаталог("c:\НашКаталог"); // создадутся все подкаталоги СоздатьКаталог("c:\НашКаталог\Подкаталог1\Подкатагог2"); |
Как проверить существование каталога в 1с 8.3, 8.2
1 2 3 4 |
КаталогНаДиске = Новый Файл("c:\НашКаталог"); Если КаталогНаДиске.Существует() Тогда Сообщить("Папка c:\НашКаталог существует"); КонецЕсли; |
Как удалить каталог вместе с содержимым в 1с 8.3, 8.2
1 2 3 |
УдалитьФайлы("c:\НашКаталог"); Как получить каталог временных файлов в 1с 8.3, 8.2 Сообщить(КаталогВременныхФайлов()); |
Как сохранить произвольное значение во временное хранилище в 1с 8.3, 8.2
1 2 3 4 5 6 7 |
Список = Новый СписокЗначений; Список.Добавить("Собака"); Список.Добавить("Кошка"); Список.Добавить("Лошадь"); АдресВХранилище = ПоместитьВоВременноеХранилище(Список); |
Как прочитать произвольное значение из временного хранилища в 1с 8.3, 8.2
1 2 3 4 5 6 7 8 9 |
СписокИзХранилища = ПолучитьИзВременногоХранилища(АдресВХранилище); Если СписокИзХранилища = Неопределено Тогда Сообщить("Значение по этому адресу уже удалено из хранилища."); Иначе Сообщить(СписокИзХранилища[0]); // Собака КонецЕсли; |
Как перезаписать уже сохраненное значение во временном хранилище в 1с 8.3, 8.2
1 2 3 4 5 6 |
Массив = Новый Массив; Массив.Добавить(5); Массив.Добавить(8); ПоместитьВоВременноеХранилище(Массив, АдресВХранилище); |
Как сохранить значение во временное хранилище на всё время жизни формы в 1с 8.3, 8.2
1 |
ПоместитьВоВременноеХранилище(Массив, ЭтаФорма.УникальныйИдентификатор); |
Как сохранить значение во временное хранилище на всё время сеанса пользователя в 1с 8.3, 8.2
1 |
АдресВХранилище = ПоместитьВоВременноеХранилище(Массив,Новый УникальныйИдентификатор); |
Как удалить значение из временного хранилища в 1с 8.3, 8.2
1 |
УдалитьИзВременногоХранилища(АдресВХранилище); |
Как узнать является ли строка адресом во временном хранилище в 1с 8.3, 8.2
1 2 3 |
Если ЭтоАдресВременногоХранилища(АдресВХранилище) Тогда Сообщить("Да, это адрес во временном хранилище."); КонецЕсли; |
Как передать файл с клиента на сервер в 1с 8.3, 8.2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
&НаКлиенте Процедура ПередачаФайлаСКлиентаНаСервер() // создадим тестовый файл для передачи Текст = Новый ЗаписьТекста("c:\НашФайл.txt"); Текст.ЗаписатьСтроку("Первая строка"); Текст.ЗаписатьСтроку("Вторая строка"); Текст.Закрыть(); ОповещениеОЗавершении = Новый ОписаниеОповещения("ВыполнитьПослеПомещенияФайла", ЭтотОбъект); НачатьПомещениеФайла( ОповещениеОЗавершении, , // адрес в хранилище "c:\НашФайл.txt", // имя файла Ложь, // интерактивно ЭтаФорма.УникальныйИдентификатор ); // если опустить последний параметр, то помещенный файл // будет удален после очередного запроса сервера // а если указать - то только после удаления объекта формы // если нужно предоставить пользователю возможность // выбрать файл самому четвёртый параметр (интерактивно) // нужно установить в Истина КонецПроцедуры &НаКлиенте Процедура ВыполнитьПослеПомещенияФайла(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт Если Результат Тогда // сохраним полученный адрес в реквизит формы АдресФайлаВХранилище = Адрес; Сообщить( "Наш файл " + ВыбранноеИмяФайла + " передан на сервер и сохранён во " + "временном хранилище по адресу " + Адрес); Иначе Сообщить("Не удалось передать файл на сервер."); КонецЕсли; КонецПроцедуры |
Как прочитать файл на сервере из временного хранилища в 1с 8.3, 8.2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
&НаСервере Процедура ПрочитатьФайлНаСервереИзХранилищаНаСервере() Если АдресФайлаВХранилище = "" Тогда Сообщить("Сначала нужно передать файл с клиента на сервер."); Возврат; КонецЕсли; ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресФайлаВХранилище); Если ДвоичныеДанные = Неопределено Тогда Сообщить("Похоже файл уже был удалён из хранилища."); Возврат; КонецЕсли; ДвоичныеДанные.Записать("c:\server.txt"); Текст = Новый ЧтениеТекста("c:\server.txt"); Пока Истина Цикл Строка = Текст.ПрочитатьСтроку(); Если Строка = Неопределено Тогда Прервать; Иначе Сообщить(Строка); КонецЕсли; КонецЦикла; КонецПроцедуры |
Как передать файл с сервера на клиент в 1с 8.3, 8.2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
&НаКлиенте Процедура ПередатьФайлССервераНаКлиент(Команда) Если АдресФайлаВХранилище = "" Тогда Сообщить("Сначала нужно сохранить файл на сервере."); Возврат; КонецЕсли; ОповещениеОЗавершении = Новый ОписаниеОповещения( "ВыполнитьПослеПолученияФайлов", ЭтотОбъект ); ПолучаемыеФайлы = Новый Массив; ПолучаемыеФайлы.Добавить( Новый ОписаниеПередаваемогоФайла( "c:\from_server.txt", // куда сохранять на клиенте АдресФайлаВХранилище // адрес в хранилище на сервере ) ); НачатьПолучениеФайлов( ОповещениеОЗавершении, ПолучаемыеФайлы, , Ложь // интерактивно ); КонецПроцедуры &НаКлиенте Процедура ВыполнитьПослеПолученияФайлов(ПолученныеФайлы,ДополнительныеПараметры) Экспорт Для Каждого Файл Из ПолученныеФайлы Цикл Сообщить("Получен " + Файл.Имя + " из " + Файл.Хранение); КонецЦикла; КонецПроцедуры |