Проект gpl-2C |
Документация\Архитектура 2с |
|
Архитектура системы
Система состоит из трех основных частей:
1. Репозитария метаданных (md2-файла)
2. Исполняемой машины
3. Подсистемы для связи с внешними устройствами (графическая система, БД…)
Репозитарий метаданных
Менеджер объектов и модулей представляет собой глобальный объект, работающий с файлом конфигурации, обеспечивает загрузку текста модуля, компиляцию и его запуск.
Он хранит список ранее скомпилированных модулей (т.е. код на языке 2С, переведенный в байт-код) для обеспечения кэширования и список запущенных на исполнение (т.е. спроецированных в памяти) глобальных модулей.
Исполняемая виртуальная машина
Порядок запуска системы
В данном разделе описывается алгоритм работы процедуры
CEnterpriseApp::InitInstance()·
Регистрация системных объектов:1. СписокЗначений, ValueList
2. ДеревоЗначений, ValueTreeCtrl
3. Массив, Array, Структура
4. ФайлМетаданных, MetadataFile
5. QuerySQL, ЗапросSQL
6. Файловая система
7. Grid, Сетка
8. Menu, Меню
9. Метаданные, Metadata
10. Модуль, Module
11. Текст, Text
12. Число
13. Строка
14. Дата
·
Подключение плагинов·
Если не задана конкретная база, то: старт диалога выбора баз, выход·
Инициализация графической среды MDI·
Запуск пользовательской среды - исполнение конфигурации (алгоритм работы процедуры CModuleManager::Load()):1. Открытие файлов *.md2 с системными библиотеками функций и объектов уровня 1.
2. Открытие текущей конфигурации - файла config.md2, который должен находиться в каталоге базы данных.
3. Компиляция глобального модуля "Инициализации системы" и запуск предопределенной процедуры «ПриНачалеРаботыСистемы»
4. Обработка макрообъектов
· Компиляция модулей объекта
· Регистрация макрообъекта в «Регистраторе объектов»
· Запуск предопределенных процедур модулей объектов
4. Компиляция остальных общих (глобальных) модулей конфигурации и запуск предопределенных процедурПримечание:
Код текста модуля, не входящий в функции и процедуры игнорируется. Исключения составляют модули форм, в которых сначала исполняется код модуля не входящий в состав функций и процедур, а после этого выполняются предопределенные процедуры и функции, предусмотренные контекстом исполнения.