1С 8.3 Установка основного или резервного пути - Программист 1С Минск. Автоматизация бизнеса.

Популярные страницы:
Перейти к контенту

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\";

   КаталогПоУмолч = Новый Файл(ПутьКПапке);
   Если КаталогПоУмолч.Существует() Тогда // проверка существования каталога
       ДействующийПуть=ПутьКПапке;
   Иначе
       Попытка
           СоздатьКаталог(ПутьКПапке);
           Сообщить("Автоматически создан каталог "+ПутьКПапке);
           ДействующийПуть=ПутьКПапке;
       Исключение // не улалось создать осн.путь
           КаталогРезерв = Новый Файл(ПутьКПапкеРезерв);
           Если КаталогРезерв.Существует() Тогда
           Иначе
               СоздатьКаталог(ПутьКПапкеРезерв);
               Сообщить("Автоматически создан каталог "+ПутьКПапкеРезерв);
           КонецЕсли;
           ДействующийПуть=ПутьКПапкеРезерв;
       КонецПопытки
   КонецЕсли;

   ЭлементыФормы.ПолеВводаПути.Значение=ДействующийПуть;

КонецПроцедуры
Установить основной или резервный путь в 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 Тогда
   //                    Сообщить("Автоматически создан резервный каталог: "+ПутьКПапкеРезерв);
   //                    ПутьКПапке = ПутьКПапкеРезерв;
   //                Иначе
   //                    Сообщить("Неудачная попытка создания резервного каталога: "+ПутьКПапкеРезерв);
   //                КонецЕсли;
   //            КонецЕсли;
   //        КонецЕсли;
   //    КонецЕсли;
   //КонецЕсли;

   Возврат ПутьКПапке;

КонецФункции
Поиск кода
0
Комментарии
____________________
Copyright©, «Программист 1С в г.Минске»,04.12.2021
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Назад к содержимому