Как принудительно завершить работу всех пользователей информационной базы? Для этого можно воспользоваться возможностью программного доступа к серверу 1С:Предприятия 8. Нужно создать COM-коннектор и выполнить метод ConnectWorkingProcess(), который позволяет подключиться к указанному серверу.
Затем следует аутентифицироваться с правами администратора в выбранной информационной базе, получить все клиентские соединения этой базы и разорвать их.
Завершение работы пользователей
Код 1C v 8.х Коннектор = Новый COMОбъект("V81.COMConnector");
Сервер = Коннектор.ConnectWorkingProcess("TestServer");
// Аутентифицироваться с административными правами в нужной базе.
Сервер.AddAuthentication("Администратор", " ");
// Создать объект нужной информационной базы.
ИнформационнаяБаза = Сервер.CreateInfoBaseInfo();
ИнформационнаяБаза.Name = "Test_Base";
// Получить соединения базы.
СоединенияБазы = Сервер.GetIBConnections(ИнформационнаяБаза);
// Разорвать соединения клиентских приложений.
Для Каждого Соединение Из СоединенияБазы Цикл
Сервер.Disconnect(Соединение);
КонецЦикла;
Категория:
Пользователь, роль доступа, интерфейс Как определить Информационная База файловая или SQL?
Ниже приведен код функции, которая определяет - Файловая или SQL.
Код 1C v 8.х
//Функция возвращает: Истина - Файловая, Ложь - SQL
Функция ОпределитьЭтаИнформационнаяБазаФайловая() Экспорт
СтрокаСоединенияСБД = СтрокаСоединенияИнформационнойБазы();
// в зависимости от того файловый это вариант БД или нет, по-разному отображается путь в БД
ПозицияПоиска = Найти(Врег(СтрокаСоединенияСБД), "FILE=");
Возврат ПозицияПоиска = 1;
КонецФункции
Категория:
Полезные, Универсальные Функции