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

10.01.20

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

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

Скачать исходный код

Наименование Файл Версия Размер
Список баз подразделения.:
.epf 9,05Kb
3
.epf 9,05Kb 3 Скачать

Предлагаю на рассмотрение небольшую обработку, она бывает очень полезна , когда надо быстро и в удобоваримом виде посмотреть какие базы у Вас есть на сервере. Обработка запускается как внешняя из любой базы , результатом является список всех баз на 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С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 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, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

14400 руб.

06.12.2023    3905    20    1    

44

Infostart УДиФ: Управление данными и формами 1С

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

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

10000 руб.

10.11.2023    4876    13    2    

38

SALE! 15%

PowerTools

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

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 3060 руб.

14.01.2013    179114    1086    0    

863

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

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

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

14400 руб.

29.04.2020    28383    83    146    

61

Конфигурация Session Monitor

Мониторинг Инструменты администратора БД Платформа 1С v8.3 Россия Платные (руб)

Конфигурация Session Monitor предназначена для мониторинга сервера 1С с целью отслеживания чрезмерной нагрузки от конкретных сеансов и скорости реакции рабочих процессов.

1500 руб.

01.12.2020    14502    36    0    

51

Система хранения присоединенных файлов в томах на диске

Инструменты администратора БД Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    61686    90    59    

74

Хранилище файлов на SQL

Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Управленческий учет Платные (руб)

Привязка файлов / сканов к объектам 1С с сохранением их на SQL-сервере

12000 руб.

09.10.2019    11299    5    8    

9

Автоматическое резервное копирование любой клиент-серверной базы 1С в формате DT с удалением сеансов, архивацией, изменением расширения (8.3.14+, расширение)

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

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

6000 руб.

06.11.2012    70413    622    44    

80
Оставьте свое сообщение