Информационные базы
В системе «1С:Предприятие» различаются понятия информационная база и база данных. Под термином информационная база понимается совокупность следующих сущностей: конфигурация, данные, настройки, различные административные данные, а также база данных, в которой это все хранится. Под термином база данных понимается упорядоченный набор структурированной информации (данных), которая хранится в электронном виде в компьютерной системе. Как правило, с базой данных взаимодействует специальный программный комплекс, который называется система управления базами данных или СУБД. Таким образом, если упоминается информационная база — речь идет о логическом понятии, связанном с системой «1С:Предприятие». Если упоминается база данных, значит речь идет о хранилище данных. Хранилище данных, скорее всего, бу дет представлено в виде размещенного в файловой системе файла (одного или нескольких), к которому имеет доступ только процесс СУБД.
В кластере серверов можно создать несколько информационных баз. Для идентификации каждая информационная база обладает собственным именем, которое должно быть уникально в рамках кластера серверов. Кроме имени информационная база имеет еще и внутренний идентификатор, который является значением типа Ууид
. Уникальный идентификатор информационной базы доступен только при программной работе с кластером серверов.
Каждая информационная база описывается специальным экземпляром типа ИнфобазаОписаниеV8
. Получить описание конкретной информационной базы можно следующими способами:
- Получить список всех информационных баз кластера с помощью метода
КластерV8.ПолучитьИнфобазы()
, затем перебрать получившийся массив экземпляров типаИнфобазаОписаниеV8
и по каким-то критериям выбрать одну или несколько информационных баз. - Сразу найти нужную информационную базу в том случае, если мы знаем ее уникальный идентификатор. Получить описа ние конкретной информационной базы по известному идентификатору можно с помощью метода
КластерV8.ПолучитьИнфобазу()
. - Создать новую информационную базу с помощью метода
КластерV8.СоздатьИнфобазу()
. В этом случае необходимо указать все ключевые параметры информационной базы перед тем, как произойдет фактическое создание базы. Фактически база создается после выполнения методаИнфобазаV8.Записать()
.
Чтобы выполнять какие-то административные действия, необходимо получить права администратора этой базы. Для этого следует выполнить аутентификацию от имени пользователя информационной базы (подробнее о пользователях написано здесь) системы «1С:Предприятие» с помощью метода ВыполнитьАутентификацию()
. После выполнения аутентификации появляется доступ к изменению свойств информационной базы.
Свойства информационной базы, которые доступны у экземпляра типа ИнфобазаV8
, по своим именам в основном соответствуют свойствам информационной базы, описанными в документации к системе «1С:Предприятие». Если свойства информационной базы изменены, то чтобы обновить свойства информационной базы в кластере серверов, следует воспользоваться методом Записать()
.
Кроме изменения свойств информационной базы система «1С:Шина» поддерживает следующие операции:
- Получить список текущих сеансов с помощью метода
ПолучитьСеансы()
. - Получить список соединений информационной базы с помощью метода
ПолучитьСоединения()
. - Удалить информационную базу из кластера серверов. Удаление выполняется с помощью метода
Удалить()
. При этом режим удаления информационной базы задается параметромРежимУдаленияИнфобазыV8
метода, который может принимать следующие значения:НеВыполнятьДействийСБазойДанных
— информационная база удаляется из кластера серверов, сама база данных не изменяется.ОчиститьБазуДанных
— информационная база удаляется из кластера серверов, база данных очищается.УдалитьБазуДанных
— информационная база удаляется из кластера серверов, база данных также удаляется.
Получить список информационных баз
метод ПолучитьСписокИБ()
пер ТекущийКластер = ПолучитьКластер()
ТекущийКластер.ВыполнитьАутентификацию("", "")
пер СписокОписанийИБ = ТекущийКластер.ПолучитьИнфобазы()
для ОписаниеИБ из СписокОписанийИБ
пер ИБ = ОписаниеИБ.ВыполнитьАутентификацию("", "")
пер ИмяИнфобазы = ИБ.Имя
пер Субд = ИБ.Субд
пер СерверБД = ИБ.СерверБазДанных
пер ИмяБД = ИБ.ИмяБазыДанных
пер ОписаниеИнфобазы = ИБ.Описание
;
;
метод ПолучитьКластер(): КластерV8
пер Сервер = новый АдминистрированиеСервераV8("localhost", 1545)
возврат Сервер.ПолучитьКластеры()[0]
;