Хранилище

Материал из GedeminWiki
Перейти к: навигация, поиск

В любой программной системе существуют десятки параметров, определяющих ее функционирование. Наверное, вы уже знакомы с реестром системы Windows — специальной базой данных, где в иерархическом виде хранятся параметры как самой операционной системы, так и программ сторонних разработчиков. Хранилище — это аналог реестра Windows, используемый платформой Гедымин для хранения различных параметров. Естественно, возникает вопрос: зачем понадобилось создавать по сути параллельный механизм? Делалось это из двух соображений. Во-первых, часть параметров являются «привязанными» к конкретному пользователю платформы. Естественно, с какого бы компьютера пользователь не вошел в систему, она должна загрузиться именно с его параметрами. При этом, стоит учитывать, что база данных может быть перенесена с одного сервера на другой. Сделать это можно только, если параметры будут храниться централизованно в базе данных, а не в реестре конкретного компьютера. Во-вторых, хранилище используется для хранения экранных форм, которые являются неотъемлемой частью прикладных настроек. При загрузке новой версии настройки все формы должны обновиться. Очевидно, что если бы они были разбросаны по многим компьютерам в сети, простой процесс установки новой версии приложения превратился бы в сущий ад.

Хранилище имеет древовидную многоуровневую иерархическую структуру, образованную разделами и входящими в них подразделами. Раздел имеет имя, которое должно быть уникальным среди всех разделов одного уровня. Путем к разделу или его полным именем называется строка, состоящая из последовательного перечисления имен родительских разделов, разделенных символом наклонной черты, а так же, собственно, имени раздела. Пример полного имени раздела: \Options\Inventory\Equivalent. Одиночный символ наклонной черты ссылается на корневой раздел хранилища. Каждый раздел может иметь произвольное число параметров. Параметр имеет уникальное в данном разделе имя и может быть одного из следующих типов:

  • Целое число
  • Дробное число
  • Строка
  • Дата и время
  • Булевский тип
  • Двоичные данные

Подобно тому, как реестр операционной системы Windows имеет несколько предопределенных корневых ветвей (CLASSES_ROOT, CURRENT_USER, LOCAL_MACHINE и т.д.) хранилище платформы Гедымин так же подразделяется на несколько частей:

  • глобальное
  • пользовательское
  • хранилище рабочей компании
  • хранилище рабочего стола

Данные Хранилища находятся в таблице GD_STORAGE_DATA.

Глобальное хранилище

Глобальное хранилище предназначено для хранения параметров платформы, общих для всех пользователей и всех рабочих организаций. В частности, в корневом разделе глобального хранилища находятся:

 \DFM                     -- В данном разделе содержатся:
                             1. Стандартные экранные формы платформы, настроенные дополнительно 
                                под учетной записью Администратора (т.е. настроенные для всех 
                                пользователей системы).
                             2. Экранные формы, созданные для пользовательских подтипов бизнес объектов.
                                Данный раздел имеет вложенные подразделы, по одному для каждого класса 
                                экранных форм. Каждый вложенный подраздел имеет один или несколько параметров, 
                                по числу пользовательских подтипов. Если для данного класса не определены 
                                пользовательские подтипы, то форма хранится в единственном параметре, 
                                имеющем имя default.
 \NewForm                 -- Список произвольных пользовательских форм. 
                             Каждая форма располагается в отдельном вложенном подразделе, 
                             который имеет до пяти параметров, три из которых присутствуют у форм всех типов: 
                             *	имя класса, который имеет данная форма, 
                             * данные формы, 
                             * и внутренний тип. 
                             Два параметра, присутствуют только у форм, связанных с бизнес объектом: 
                             * тип бизнес объекта 
                             * и его подтип.
 \Options                 -- Глобальные, т.е. единые для всех пользователей, параметры платформы. 
                             Данный раздел имеет несколько вложеных подразделов. 
   WebServerPort          -- Целочисленный номер порта для встроенного веб-сервера. 
                             По-умолчанию используется 80-й порт.
 \RegionalSettings        -- Региональные установки. Формат числа, даты и время и т.п.
 \SubTypes                -- Список определенных пользователем подтипов для каждого класса платформы.

Пользовательское хранилище

Пользовательское хранилище предназначено для хранения параметров платформы, привязанных к конкретному пользователю. На верхнем уровне располагаются разделы с настройками экранных форм. Каждый такой раздел имеет имя состоящее из имени экранной формы и присоединенного к нему, в скобках, имени класса этой формы. Например: dlgInvDocument147004729_45137928(TdlgInvDocument).

Кроме этого, на верхнем уровне присутствуют следующие системные разделы:

 \DFM                     -- Стандартные экранные формы платформы, а так же формы, созданные для пользовательских 
                             подтипов, настроенные дополнительно под конкретного пользователя.
                             Данный раздел имеет вложенные подразделы, по одному для каждого класса экранных форм. 
                             Каждый вложенный подраздел имеет один или несколько параметров, по числу пользовательских 
                             подтипов. Если для данного класса не определены пользовательские подтипы, то форма хранится 
                             в единственном параметре, имеющем имя default.
 \GDC                     -- Параметры бизнес классов. Для каждого бизнес класса в данном разделе имеется 
                             соответствующий подраздел. 
 \Options                 -- Параметры системы, привязанные к конкретному пользователю.

Хранилище компании

Параметры платформы, привязанные к рабочей организации. Одним из самых распространенных использований данного хранилища, является сохранение выбранного пользователем рассчетного счета компании в формах просмотра и диалоговых окнах.

Хранилище рабочего стола

Хранилище параметров, привязанных к конкретному рабочему столу.

См. также

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты