1с ftp проверить существование каталога
&НаСервере
Процедура ЧтениеИЗаписьФайлов ()
// Любое сериализуемое значение (массив, структура, таблица значений, строки. ) можно сохранить в файл
НаборСимволов = Новый Массив ;
НаборСимволов . Добавить ( 125 );
НаборСимволов . Добавить ( "А" );
НаборСимволов . Добавить ( "99" );
НаборСимволов . Добавить ( "%" );
ЗначениеВФайл ( "D:\Symbol.txt" , НаборСимволов ); // работает только на &НаСервере
// Восстановление произвольных значений из файла
НаборСимволовИзФайла = ЗначениеИзФайла ( "D:\Symbol.txt" );
Сообщить ( НаборСимволовИзФайла [ 0 ]); // 125
Сообщить ( НаборСимволовИзФайла [ 1 ]); // А
Сообщить ( НаборСимволовИзФайла [ 2 ]); // 99
Сообщить ( НаборСимволовИзФайла [ 3 ]); // %
&НаКлиенте
Процедура ОперацииНадФайлами ( Команда )
// Создание переменных (имя и путь к файлу)
ПутьКФайлу_Test = "D:\Test.txt" ;
ПутьКФайлу_Copy = "D:\Copy.txt" ;
// Создание пустого файла
ТекстФайл = Новый ЗаписьТекста ();
ТекстФайл . Закрыть ();
// Проверка на существование файла
ТекстФайл = Новый Файл ( ПутьКФайлу_Test );
Если ТекстФайл . Существует () Тогда
Сообщить ( ПутьКФайлу_Test + " существует!" );
КонецЕсли;
// Копирование файла. Параметры: Какой файл копируем, Куда файл копируем
КопироватьФайл ( ПутьКФайлу_Test , ПутьКФайлу_Copy ); // Если файл существует, то перезапишет
// Перемещение файла. Параметры: Какой файл копируем, Куда файл копируем
ПереместитьФайл ( ПутьКФайлу_Test , ПутьКФайлу_Copy ); // Если файл существует, то перезапишет
// Поиск файлов в каталоге (функция возвращает массив значений)
// Параметры: Каталог поиска, Маска поиска, Поиск и в подкаталогах
МассивФайлов = НайтиФайлы ( "D:\" , "*.txt" , Ложь);
Для Каждого ТекФайл Из МассивФайлов Цикл
Сообщить ( "Найден файл: " + ТекФайл . ПолноеИмя );
КонецЦикла;
// Удаление файла
УдалитьФайлы ( ПутьКФайлу_Test ); // Если файл с параметром только для чтения, то будет ошибка
// Удаление файлов в каталоге по маске
// поиск в каталоге нерекурсивный
УдалитьФайлы ( "D:\" , "*.txt" ); // Если маски нет, то удалятся все файлы и сам каталог
// Получение имя временного файла
ПолучитьИмяВременногоФайла (); // Например, C:\Temp\H_kImX035.tmp
ПолучитьИмяВременногоФайла ( ".txt" ); // Например, C:\Temp\H_kImX035.txt
&НаКлиенте
Процедура ПолучениеИИзменениеАтрибутовФайла ( Команда )
ТекстФайл = Новый Файл ( "D:\Test.txt" );
// Чтение атрибутов
ТекстФайл . ПолучитьВремяИзменения (); // время последнего изменения файла
ТекстФайл . ПолучитьТолькоЧтение (); // проверяем атрибут только чтение
ТекстФайл . ПолучитьНевидимость (); // проверяем атрибут hidden (скрытность, невидимость)
ТекстФайл . Размер (); // размер файла в байтах
// Получение расширение файла из его пути
ТекстФайл . Расширение (); // .txt
// Получение имени файла без расширения
ТекстФайл . ИмяБезРасширения (); // Test
// Получение информации по пути файла - это файл или каталог
Если ТекстФайл . ЭтоКаталог () Тогда
// Это каталог
ИначеЕсли ТекстФайл . ЭтоФайл () Тогда
// Это файл
КонецЕсли;
// Изменение атрибутов
ТекстФайл . УстановитьВремяИзменения ( ТекущаяДата ()); // меняем время последнего изменения файла
ТекстФайл . УстановитьТолькоЧтение (Ложь); // меняем атрибут только чтение
ТекстФайл . УстановитьНевидимость (Ложь); // меняем атрибут невидимости
&НаКлиенте
Процедура ОперацииНадКаталогами ( Команда )
//Создание каталога (он может уже существовать)
СоздатьКаталог ( "D:\Catalog" );
//Создание подкаталогов
СоздатьКаталог ( "D:\Catalog\2020\1" );
// Проверка существования каталога
Каталог = Новый Файл ( "D:\Catalog" );
Если Каталог . Существует () Тогда
Сообщить ( "Каталог по пути D:\Catalog существует!" );
КонецЕсли;
// Удаление каталога (вместе с файлами и подкаталогами)
УдалитьФайлы ( "D:\Catalog" ); // Можно добавить максу
// Получение каталога временных файлов
КаталогВременныхФайлов (); // Например, C:\Windows\Temp
&НаКлиенте
Процедура ОперацииСВременнымХранилищем ( Команда )
// Временное хранилище позволяет передавать данные,
// которые иначе не передать (произвольного типа) между сервером и клиентом
// Сохранение произвольного значения (списка значений) во временном хранилище
СЗ = Новый СписокЗначений ;
СЗ . Добавить ( "Арбуз" );
СЗ . Добавить ( "Дыня" );
СЗ . Добавить ( "Яблоко" );
АдресВХранилище = ПоместитьВоВременноеХранилище ( СЗ );
// Чтение произвольного значения (списка значений) из временного хранилища
СЗИзХранилища = ПолучитьИзВременногоХранилища ( АдресВХранилище );
Если СЗИзХранилища = Неопределено Тогда
Сообщить ( "Значение по этому адресу из хранилища уже удалено!" );
Иначе
Сообщить ( СЗИзХранилища [ 0 ]); // Арбуз
КонецЕсли;
// Перезапись уже сохраненного значения (массив) во временном хранилище
НаборСимволов = Новый Массив ;
НаборСимволов . Добавить ( 125 );
НаборСимволов . Добавить ( "А" );
НаборСимволов . Добавить ( "99" );
НаборСимволов . Добавить ( "%" );
// Время хранения зависит от параметра "АдресВХранилище" функции ПоместитьВоВременноеХранилище
ПоместитьВоВременноеХранилище ( НаборСимволов , АдресВХранилище );
// Если адрес - уникальный идентификатор формы или существующий адрес в хранилище:
// Значение будет удалено после закрытия формы
ПоместитьВоВременноеХранилище ( НаборСимволов , ЭтаФорма . УникальныйИдентификатор );
// Если адрес - уникальный идентификатор, не являющийся уникальным идентификатором формы %
// Значение будет удалено после завершения сеанса пользвоателя
ПоместитьВоВременноеХранилище ( НаборСимволов , Новый УникальныйИдентификатор );
// Если адрес не указан:
// Значение будет удалено после очередного запроса сервера
ПоместитьВоВременноеХранилище ( НаборСимволов );
// Удаление значения из временного хранилища
УдалитьИзВременногоХранилища ( АдресВХранилище );
// Проверка является ли строка адресом во временном хранилище
Если ЭтоАдресВременногоХранилища ( АдресВХранилище ) Тогда
// Это адрес во временном хранилище
КонецЕсли;
&НаКлиенте
Процедура ПередачаФайлаСКлиентаНаСервер ( Команда )
ТекстФайл = Новый ЗаписьТекста ( "D:\Prostokvashino.txt" );
ТекстФайл . ЗаписатьСтроку ( "Кот Матроскин" );
ТекстФайл . ЗаписатьСтроку ( "Дядя Федор" );
ТекстФайл . ЗаписатьСтроку ( "Шарик" );
ТекстФайл . Закрыть ();
Завершено = Новый ОписаниеОповещения ( "ПослеПередачи" , ЭтотОбъект );
// Параметр УникальныйИдентификаторФормы - если не указывать - то файл будет удален после очередного запроса сервера
// если указать - то после удаления объекта формы
// Параметр Интерактивно (Истина) - дает пользователю выбрать файл самому
НачатьПомещениеФайла ( Завершено , , "D:\Prostokvashino.txt" , Ложь, ЭтаФорма . УникальныйИдентификатор );
&НаКлиенте
Процедура ПослеПередачи ( Результат , ХранимыйАдрес , ВыбранноеИмяФайла , ДопПараметры ) Экспорт
Если Результат Тогда
// Сохранение полученного адреса в реквизите формы (строка) - адрес файла в хранилище на сервере
АдресФайлаВХранилище = ХранимыйАдрес ;
Сообщить ( "Файл " + ВыбранноеИмяФайла + " передан на сервер и сохранён во временном хранилище. Адрес: " + ХранимыйАдрес );
Иначе
Сообщить ( "Ошибка передачи файла на сервер!" );
КонецЕсли;
Читайте также: