Список баз подразделения

10.01.20

База данных - Инструменты администратора БД

Предлагаю на рассмотрение небольшую обработку, она бывает очень полезна, когда надо быстро и в удобоваримом виде посмотреть, какие базы у Вас есть на сервере. Обработка запускается как внешняя из любой базы, результатом является список всех баз на 1С сервере, также если в описании баз установлена отметка, например, "Рабочая база", она выводится на закладку (смотри скриншот). Ниже дается описание кода, данный код может использоваться как процедура в других мультибазовых программах. Обработка предназначена для работы в клиент-серверных базах и тестировалась на платформе 8.3.14.1854.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Список баз подразделения.:
.epf 9,05Kb
5 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Предлагаю на рассмотрение небольшую обработку, она бывает очень полезна , когда надо быстро и в удобоваримом виде посмотреть какие базы у Вас есть на сервере. Обработка запускается как внешняя из любой базы , результатом является список всех баз на 1с сервере, также если в описании баз установлена отметка например "Рабочая база", она выводится на закладку (смотри скриншот). Ниже дается описание кода, данный код может использоваться как процедура в других мультибазовых программах . 

Обработка предназначена для работы в клиент-серверных базах и тестировалась на платформе 8.3.14.1854.


1. Запуск обработки производится через процедуру ПриОткрытии(Отказ), которая запускает на сервере процедуру СоздатьСписокБаз1().

Код процедуры:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
		
		ВерсияКонфигурации=ПолучитьВерсиюКонфигурации();
		
		СоздатьСписокБаз1();
		
 КонецПроцедуры

2. Процедура СоздатьСписокБаз1() создает соединение с агентом и выгружает кластеры серверов, если кластеры серверов существуют в массив выгружаются
   данные баз, которые в свою очередь перемещаются в таблицу значений БазыСервера. 

Код процедуры:

&НаСервере
Процедура СоздатьСписокБаз1()
//Процедура создает список баз ******************************************************************************************	
БазыСервера.Очистить();                                                                           //Очищаем таблицу БазыСервера
Сервер=СерверПолучить();                                                                          //Через функцию СерверПолучить() получаем адрес сервера

    Попытка
        COMСоединитель = Новый COMОбъект("V83.COMConnector");                                     //V83.COMConnector создаем объект для подсоединения
      Исключение
		Сообщить("Ошибка создания "+ОписаниеОшибки());
		Возврат;
    КонецПопытки;
	
    Попытка	
        СоединениеСАгентом  = COMСоединитель.ConnectAgent("tcp://"+Сервер);                      //Создаем соединение с агентом
	  Исключение	
		Если СтрНайти(Сервер, ":") > 1 Тогда
			Сообщить(" Проверьте номер порта. " + ОписаниеОшибки());
			Сообщить("Хост+Порт "+Сервер);
		  Иначе	
			Сообщить("Ошибка создания агента сервера. " + ОписаниеОшибки());
		КонецЕсли;	
		Возврат;
	КонецПопытки;
	
    КластерыСерверов = СоединениеСАгентом.GetClusters().Выгрузить();                             //Выгружаем кластеры серверов
	СоединениеСАгентом.Authenticate(КластерыСерверов[0], "", "");
	Если КластерыСерверов.Количество() > 0 Тогда                                                 //Если кластеры серверов существуют то выгружаем базы
         Базы = СоединениеСАгентом.GetInfoBases(КластерыСерверов[0]).Выгрузить();
	 КонецЕсли;
	 
	КОМИмяБазы=""; 
	Индекс = Базы.ВГраница();
	ИндексМассива=0;
	Номер = 0;

	Для Каждого База Из Базы Цикл
	Номер=Номер+1;
	   СтрБазыСервера=БазыСервера.Добавить();
	   СтрБазыСервера.Номер = Номер;
	   СтрБазыСервера.НазваниеБазы = База.Name;
       СтрБазыСервера.ОписаниеБазы = База.Descr;
	   СтрБазыСервера.ИмяСервера = Сервер;
	КонецЦикла;

//Следующая часть кода помогает определить когда была сделана запись,
//это дает возможность определить когда приблизительно была создана	база.
//В данной программе эта часть кода не работает, но может быть полезна при использовании
//в другой программе.
	 
Запрос = Новый Запрос;
Запрос.Текст = 
	  "ВЫБРАТЬ
	  |	Подразделения.Ссылка КАК Ссылка
	  |ИЗ
	  |	Справочник.Подразделения КАК Подразделения" ;
	         РезультатЗапроса = Запрос.Выполнить();
	         Выборка = РезультатЗапроса.Выбрать();                                
	        Пока Выборка.Следующий() Цикл                                          				//Выбираем результат запроса в цикле
                 ПодразделениеСсылка = Выборка.Ссылка;
            КонецЦикла;   
	 
	//ДатаСозданияСслки=ДатаСозданияСсылки(ПодразделениеСсылка); 

 КонецПроцедуры

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Вспомогательные функции и процедуры**********************************************************************************

Данная функция служит для получения сервера , может также использоваться в других программах.
 

&НаСервере
Функция СерверПолучить()
	ИБ			= СтрокаСоединенияИнформационнойБазы();
	П1 			= Сред(ИБ, 7, 32);
	СерверПорт 	= Лев(П1, СтрНайти(П1, "Ref")-3);
	СерверБазы= СерверПорт;
	//Отчет.ТекущаяБаза= Сред(ИБ,СтрНайти(ИБ,";")+6,((СтрДлина(ИБ)-(СтрНайти(ИБ,";")+6)))-1);
	
	ДвоеточиеПоложение = СтрНайти(СерверПорт, ":");
	Если ДвоеточиеПоложение=0 Тогда
		Сервер = СерверПорт;
	Иначе
		Сервер = Лев(СерверПорт, ДвоеточиеПоложение-1)+":"+СтрЗаменить((Число(Сред(СерверПорт, ДвоеточиеПоложение+1, 4)) -1), Символы.НПП, "");
	КонецЕсли;	
	Сервер = Сервер;	
	Возврат Сервер;
	
КонецФункции

Функция вычисляет когда была создана ссылка, с ее помощью можно приблизительно вычислить дату создания базы,
это иногда бывает полезно.

&НаСервере
Функция ДатаСозданияСсылки(ПодразделениеСсылка)
	Ссылка=ПодразделениеСсылка;
    ГУИД = Ссылка.УникальныйИдентификатор();
    Строка16 = Сред(ГУИД, 16, 3) + Сред(ГУИД, 10, 4) + Сред(ГУИД, 1, 8);
    Разрядность = СтрДлина(Строка16);
    ЧислоСек = 0;
    Для Позиция = 1 По Разрядность Цикл
        ЧислоСек = ЧислоСек + Найти("123456789abcdef",Сред(Строка16,Позиция,1))*Pow(16,Разрядность - Позиция);
    КонецЦикла;
    ЧислоСек = ЧислоСек / 10000000;
    Возврат Дата(1582, 10, 15, 04, 00, 00) + ЧислоСек;
КонецФункции  

Функция получает версию конфигурации.

&НаСервере
Функция ПолучитьВерсиюКонфигурации()
	
		СистемнаяИнформация = Новый СистемнаяИнформация;
		ВерсияПлатформы = СистемнаяИнформация.ВерсияПриложения;	
	    ВерсияКонфигурации = Метаданные.Версия;
		Длина=СтрДлина(ВерсияКонфигурации)-4;
		Версия=Сред(ВерсияКонфигурации,5,Длина);
		ВерсияЧисло=Число(Версия);
		Если ВерсияЧисло>= 10 Тогда
			Сообщить(ВерсияКонфигурации);
		КонецЕсли;
		Возврат ВерсияКонфигурации;
КонецФункции  

Как я писал выше, обработка может использоваться как составная часть в других программах, поэтому код программы несколько избыточен.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

14400 руб.

20.08.2024    49078    277    143    

248

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

16000 руб.

10.11.2023    20890    86    42    

95

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 17.06.2025, версия 1.3

20400 руб.

06.12.2023    18699    68    10    

102

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    40542    124    152    

84

Инструменты администратора БД Системный администратор Программист 1С v8.3 1C:Бухгалтерия Платные (руб)

Брандмауэр для сервера 1С включает в себя управление возможностью начала и возобновления сеансов пользователей по различным условиям, ограничение общего числа возможных сеансов для работы с информационной базой, резервирование возможности работы с информационной базой определенных польззователей, запрет запуска нескольких сеансов для пользователя, журнализация событий начала (возобновления) и завершения (гибернации) сеансов, ведение списка активных сеансов для информационных баз кластера серверов

12000 руб.

06.02.2017    34311    147    18    

53

Архивирование (backup) Инструменты администратора БД 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    76860    632    45    

90
Для отправки сообщения требуется регистрация/авторизация