1С 8.3 Получить каталог информационной базы данных - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Получить каталог информационной базы данных

Данные > Примеры кода 1С > 1С 8.3 Файлы, каталоги
Получить каталог информационной базы данных в 1С 8.3:
&НаКлиенте
Функция ПолучитьКаталогИБ()// аналог предопределенной КаталогИБ() в 1C 7.7

   
СтрокаИБ = СтрокаСоединенияИнформационнойБазы(); //File="D:\Base".
    //Возвращает Строка соединения информационной базы, которую, например,
    //можно использовать для запуска 1С:Предприятия средствами встроенного языка
   
ПутьИБ = Найти(Врег(СтрокаИБ), "FILE=");

    Если
ПутьИБ = 1 тогда // Файловая информационная база 1С:Предприятия 8 (.1CD)

       
Возврат Сред(СтрокаИБ,7,СтрДлина(СтрокаИБ)-8)+"\"; // Получим D:\Base

   
Иначе// Серверная - Используем КаталогВременныхФайлов()

       
ПозицияПоиска = Найти(Врег(СтрокаИБ), "SRVR=");
        Если
ПозицияПоиска <> 1 Тогда
            Возврат Неопределено;
        КонецЕсли;

       
ПозицияТЧК_ЗПТ = Найти(СтрокаИБ, ";");
       
ПозСтарт = 6 + 1;
       
ПозФиниш = ПозицияТЧК_ЗПТ - 2; //

       
ИмяСервера = Сред(СтрокаИБ, ПозСтарт, ПозФиниш - ПозСтарт + 1);
       
СтрокаИБ = Сред(СтрокаИБ, ПозицияТЧК_ЗПТ + 1);
       
ПутьИБ = Найти(Врег(СтрокаИБ), "REF=");// позиция имени сервера
       
Если ПутьИБ <> 1 Тогда
            Возврат Неопределено;
        КонецЕсли;

       
ПозСтарт = 6;
       
ПозицияТЧК_ЗПТ = Найти(СтрокаИБ, ";");
       
ПозФиниш = ПозицияТЧК_ЗПТ - 2;

       
ИмяИБНаСервере = Сред(СтрокаИБ, ПозСтарт, ПозФиниш - ПозСтарт + 1);
       
ПутьКБД = ИмяСервера + "/ " + ИмяИБНаСервере; //ServerName: Server1C / information_base_name: Buh3

       
Сообщить("ИБ в серверном режиме: "+ПутьКБД);
       
Сообщить("Серверная база данных! Используем каталог временных файлов ("+СокрЛП(КаталогВременныхФайлов())+") !");
        Возврат
КаталогВременныхФайлов();

    КонецЕсли;

КонецФункции
2
комментарии
Alexander
22 мар 2021
Долго думал как на серверной ИБ каталог получить. Оказывается вот оно как. Через грабли. Неужели стандартных функций нет?
Vik
02 мар 2021
Спасибо! Крутое решение
____________________
Copyright©, «Программист 1С в г.Минске», 04.03.2020
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому