1С 8.3 Установка основного или резервного пути
Данные > Примеры кода 1С > 1С 8.3 Файлы, каталоги
Перейти в раздел примеры кода 1С 8.3:
Данный пример кода использовал для нестандартного обмена данными (файлами dbf) между двумя разными базами 8.3 и 7.7. Нужно было реализовать выгрузку из/в БД как на сервере, так и в локальной копии у пользователя на ПК. Принцип работы, следующий: если не доступен диск D через RDP соединение, то файлы будут выгружаться локально, в папку на диске D.
Установить основной или резервный путь в 1С 8.3:
Процедура ПодборДействующегоПути(Элемент)
ДействующийПуть=""; //ДействующийПуть="\\srvfl01\1C\obmen\"+СокрЛП(ИмяКонечнойПапки);
ПутьКПапке = "\\tsclient\D\Files1C\obmen\";
ПутьКПапкеРезерв = "D:\Files1C\obmen\";
КаталогПоУмолч = Новый Файл(ПутьКПапке);
Если КаталогПоУмолч.Существует() Тогда // проверка существования каталога
ДействующийПуть=ПутьКПапке;
Иначе
Попытка
СоздатьКаталог(ПутьКПапке);
Сообщить("Автоматически создан каталог "+ПутьКПапке);
ДействующийПуть=ПутьКПапке;
Исключение // не улалось создать осн.путь
КаталогРезерв = Новый Файл(ПутьКПапкеРезерв);
Если КаталогРезерв.Существует() Тогда
Иначе
СоздатьКаталог(ПутьКПапкеРезерв);
Сообщить("Автоматически создан каталог "+ПутьКПапкеРезерв);
КонецЕсли;
ДействующийПуть=ПутьКПапкеРезерв;
КонецПопытки
КонецЕсли;
ЭлементыФормы.ПолеВводаПути.Значение=ДействующийПуть;
КонецПроцедуры
ДействующийПуть=""; //ДействующийПуть="\\srvfl01\1C\obmen\"+СокрЛП(ИмяКонечнойПапки);
ПутьКПапке = "\\tsclient\D\Files1C\obmen\";
ПутьКПапкеРезерв = "D:\Files1C\obmen\";
КаталогПоУмолч = Новый Файл(ПутьКПапке);
Если КаталогПоУмолч.Существует() Тогда // проверка существования каталога
ДействующийПуть=ПутьКПапке;
Иначе
Попытка
СоздатьКаталог(ПутьКПапке);
Сообщить("Автоматически создан каталог "+ПутьКПапке);
ДействующийПуть=ПутьКПапке;
Исключение // не улалось создать осн.путь
КаталогРезерв = Новый Файл(ПутьКПапкеРезерв);
Если КаталогРезерв.Существует() Тогда
Иначе
СоздатьКаталог(ПутьКПапкеРезерв);
Сообщить("Автоматически создан каталог "+ПутьКПапкеРезерв);
КонецЕсли;
ДействующийПуть=ПутьКПапкеРезерв;
КонецПопытки
КонецЕсли;
ЭлементыФормы.ПолеВводаПути.Значение=ДействующийПуть;
КонецПроцедуры
Установить основной или резервный путь в 1С 7.7:
Функция ПодборДействующегоПути77(Имя1Папки, Имя2Папки) Экспорт // внимание - код 1С 7.7 !
//Имя1Папки="obmen"
ПутьКПапкеПоУмол = "\\tsclient\D\Files1C\";
ПутьКПапкеРезерв = "D:\Files1C\";
// 1 уровень
ПутьКПапке="";
Если ФС.СуществуетФайл(ПутьКПапкеПоУмол + "*.*") = 1 Тогда
ПутьКПапке = ПутьКПапкеПоУмол;
ИначеЕсли ФС.СуществуетФайл(ПутьКПапкеРезерв + "*.*") = 1 Тогда
ПутьКПапке = ПутьКПапкеРезерв;
Иначе
ФС.СоздатьКаталог(ПутьКПапкеПоУмол);
Если ФС.СуществуетФайл(ПутьКПапкеПоУмол + "*.*") = 1 Тогда
Сообщить("Автоматически создан каталог: "+ПутьКПапкеПоУмол);
ПутьКПапке = ПутьКПапкеПоУмол;
Иначе
Сообщить("Неудачная попытка создания каталога: "+ПутьКПапкеПоУмол);
Если ФС.СуществуетФайл(ПутьКПапкеРезерв + "*.*") = 1 Тогда
ПутьКПапке = ПутьКПапкеРезерв;
Иначе
ФС.СоздатьКаталог(ПутьКПапкеРезерв);
Если ФС.СуществуетФайл(ПутьКПапкеРезерв + "*.*") = 1 Тогда
Сообщить("Автоматически создан резервный каталог: "+ПутьКПапкеРезерв);
ПутьКПапке = ПутьКПапкеРезерв;
Иначе
Сообщить("Неудачная попытка создания резервного каталога: "+ПутьКПапкеРезерв);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
// 2 уровень
Если (ПутьКПапке<>"") И (Имя1Папки<>"") Тогда
ПутьКПапкеПоУмол = "\\tsclient\D\Files1C\"+СокрЛП(Имя1Папки)+"\";
ПутьКПапкеРезерв = "D:\Files1C\"+СокрЛП(Имя1Папки)+"\";
ПутьКПапке="";
Если ФС.СуществуетФайл(ПутьКПапкеПоУмол + "*.*") = 1 Тогда
ПутьКПапке = ПутьКПапкеПоУмол;
ИначеЕсли ФС.СуществуетФайл(ПутьКПапкеРезерв + "*.*") = 1 Тогда
ПутьКПапке = ПутьКПапкеРезерв;
Иначе
ФС.СоздатьКаталог(ПутьКПапкеПоУмол);
Если ФС.СуществуетФайл(ПутьКПапкеПоУмол + "*.*") = 1 Тогда
Сообщить("Автоматически создан каталог: "+ПутьКПапкеПоУмол);
ПутьКПапке = ПутьКПапкеПоУмол;
Иначе
Сообщить("Неудачная попытка создания каталога: "+ПутьКПапкеПоУмол);
Если ФС.СуществуетФайл(ПутьКПапкеРезерв + "*.*") = 1 Тогда
ПутьКПапке = ПутьКПапкеРезерв;
Иначе
ФС.СоздатьКаталог(ПутьКПапкеРезерв);
Если ФС.СуществуетФайл(ПутьКПапкеРезерв + "*.*") = 1 Тогда
Сообщить("Автоматически создан резервный каталог: "+ПутьКПапкеРезерв);
ПутьКПапке = ПутьКПапкеРезерв;
Иначе
Сообщить("Неудачная попытка создания резервного каталога: "+ПутьКПапкеРезерв);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
// 3 уровень
//Если (ПутьКПапке<>"") и (Имя1Папки<>"") и (Имя2Папки<>"") Тогда
//
// ПутьКПапкеПоУмол = "\\tsclient\D\Files1C\"+СокрЛП(Имя1Папки)+"\"+СокрЛП(Имя2Папки)+"\";
// ПутьКПапкеРезерв = "D:\Files1C\"+СокрЛП(Имя1Папки)+"\"+СокрЛП(Имя2Папки)+"\";
//
// ПутьКПапке="";
// Если ФС.СуществуетФайл(ПутьКПапкеПоУмол + "*.*") = 1 Тогда
// ПутьКПапке = ПутьКПапкеПоУмол;
// ИначеЕсли ФС.СуществуетФайл(ПутьКПапкеРезерв + "*.*") = 1 Тогда
// ПутьКПапке = ПутьКПапкеРезерв;
// Иначе
// ФС.СоздатьКаталог(ПутьКПапкеПоУмол);
// Если ФС.СуществуетФайл(ПутьКПапкеПоУмол + "*.*") = 1 Тогда
// Сообщить("Автоматически создан каталог: "+ПутьКПапкеПоУмол);
// ПутьКПапке = ПутьКПапкеПоУмол;
// Иначе
// Сообщить("Неудачная попытка создания каталога: "+ПутьКПапкеПоУмол);
// Если ФС.СуществуетФайл(ПутьКПапкеРезерв + "*.*") = 1 Тогда
// ПутьКПапке = ПутьКПапкеРезерв;
// Иначе
// ФС.СоздатьКаталог(ПутьКПапкеРезерв);
// Если ФС.СуществуетФайл(ПутьКПапкеРезерв + "*.*") = 1 Тогда
// Сообщить("Автоматически создан резервный каталог: "+ПутьКПапкеРезерв);
// ПутьКПапке = ПутьКПапкеРезерв;
// Иначе
// Сообщить("Неудачная попытка создания резервного каталога: "+ПутьКПапкеРезерв);
// КонецЕсли;
// КонецЕсли;
// КонецЕсли;
// КонецЕсли;
//КонецЕсли;
Возврат ПутьКПапке;
КонецФункции
//Имя1Папки="obmen"
ПутьКПапкеПоУмол = "\\tsclient\D\Files1C\";
ПутьКПапкеРезерв = "D:\Files1C\";
// 1 уровень
ПутьКПапке="";
Если ФС.СуществуетФайл(ПутьКПапкеПоУмол + "*.*") = 1 Тогда
ПутьКПапке = ПутьКПапкеПоУмол;
ИначеЕсли ФС.СуществуетФайл(ПутьКПапкеРезерв + "*.*") = 1 Тогда
ПутьКПапке = ПутьКПапкеРезерв;
Иначе
ФС.СоздатьКаталог(ПутьКПапкеПоУмол);
Если ФС.СуществуетФайл(ПутьКПапкеПоУмол + "*.*") = 1 Тогда
Сообщить("Автоматически создан каталог: "+ПутьКПапкеПоУмол);
ПутьКПапке = ПутьКПапкеПоУмол;
Иначе
Сообщить("Неудачная попытка создания каталога: "+ПутьКПапкеПоУмол);
Если ФС.СуществуетФайл(ПутьКПапкеРезерв + "*.*") = 1 Тогда
ПутьКПапке = ПутьКПапкеРезерв;
Иначе
ФС.СоздатьКаталог(ПутьКПапкеРезерв);
Если ФС.СуществуетФайл(ПутьКПапкеРезерв + "*.*") = 1 Тогда
Сообщить("Автоматически создан резервный каталог: "+ПутьКПапкеРезерв);
ПутьКПапке = ПутьКПапкеРезерв;
Иначе
Сообщить("Неудачная попытка создания резервного каталога: "+ПутьКПапкеРезерв);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
// 2 уровень
Если (ПутьКПапке<>"") И (Имя1Папки<>"") Тогда
ПутьКПапкеПоУмол = "\\tsclient\D\Files1C\"+СокрЛП(Имя1Папки)+"\";
ПутьКПапкеРезерв = "D:\Files1C\"+СокрЛП(Имя1Папки)+"\";
ПутьКПапке="";
Если ФС.СуществуетФайл(ПутьКПапкеПоУмол + "*.*") = 1 Тогда
ПутьКПапке = ПутьКПапкеПоУмол;
ИначеЕсли ФС.СуществуетФайл(ПутьКПапкеРезерв + "*.*") = 1 Тогда
ПутьКПапке = ПутьКПапкеРезерв;
Иначе
ФС.СоздатьКаталог(ПутьКПапкеПоУмол);
Если ФС.СуществуетФайл(ПутьКПапкеПоУмол + "*.*") = 1 Тогда
Сообщить("Автоматически создан каталог: "+ПутьКПапкеПоУмол);
ПутьКПапке = ПутьКПапкеПоУмол;
Иначе
Сообщить("Неудачная попытка создания каталога: "+ПутьКПапкеПоУмол);
Если ФС.СуществуетФайл(ПутьКПапкеРезерв + "*.*") = 1 Тогда
ПутьКПапке = ПутьКПапкеРезерв;
Иначе
ФС.СоздатьКаталог(ПутьКПапкеРезерв);
Если ФС.СуществуетФайл(ПутьКПапкеРезерв + "*.*") = 1 Тогда
Сообщить("Автоматически создан резервный каталог: "+ПутьКПапкеРезерв);
ПутьКПапке = ПутьКПапкеРезерв;
Иначе
Сообщить("Неудачная попытка создания резервного каталога: "+ПутьКПапкеРезерв);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
// 3 уровень
//Если (ПутьКПапке<>"") и (Имя1Папки<>"") и (Имя2Папки<>"") Тогда
//
// ПутьКПапкеПоУмол = "\\tsclient\D\Files1C\"+СокрЛП(Имя1Папки)+"\"+СокрЛП(Имя2Папки)+"\";
// ПутьКПапкеРезерв = "D:\Files1C\"+СокрЛП(Имя1Папки)+"\"+СокрЛП(Имя2Папки)+"\";
//
// ПутьКПапке="";
// Если ФС.СуществуетФайл(ПутьКПапкеПоУмол + "*.*") = 1 Тогда
// ПутьКПапке = ПутьКПапкеПоУмол;
// ИначеЕсли ФС.СуществуетФайл(ПутьКПапкеРезерв + "*.*") = 1 Тогда
// ПутьКПапке = ПутьКПапкеРезерв;
// Иначе
// ФС.СоздатьКаталог(ПутьКПапкеПоУмол);
// Если ФС.СуществуетФайл(ПутьКПапкеПоУмол + "*.*") = 1 Тогда
// Сообщить("Автоматически создан каталог: "+ПутьКПапкеПоУмол);
// ПутьКПапке = ПутьКПапкеПоУмол;
// Иначе
// Сообщить("Неудачная попытка создания каталога: "+ПутьКПапкеПоУмол);
// Если ФС.СуществуетФайл(ПутьКПапкеРезерв + "*.*") = 1 Тогда
// ПутьКПапке = ПутьКПапкеРезерв;
// Иначе
// ФС.СоздатьКаталог(ПутьКПапкеРезерв);
// Если ФС.СуществуетФайл(ПутьКПапкеРезерв + "*.*") = 1 Тогда
// Сообщить("Автоматически создан резервный каталог: "+ПутьКПапкеРезерв);
// ПутьКПапке = ПутьКПапкеРезерв;
// Иначе
// Сообщить("Неудачная попытка создания резервного каталога: "+ПутьКПапкеРезерв);
// КонецЕсли;
// КонецЕсли;
// КонецЕсли;
// КонецЕсли;
//КонецЕсли;
Возврат ПутьКПапке;
КонецФункции
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник