При первом запуске в 1С передается параметр-строка вида: «c65ccd10-6daa-496e-92aa-80043476f2e8|C:\ProgramData\Cleverence\Базы Mobile SMARTS\ Магазин 15, Полный\Backup|http://127.0.0.1:10501/c65ccd10-6daa-496e-92aa-80043476f2e8?altip=SERVER_NAME»
Данная строка состоит из 3 подстрок, разделенных символом «/»:
- ID базы — c65ccd10-6daa-496e-92aa-80043476f2e8.
- Путь до папки с бэкапами — C:\ProgramData\Cleverence\Базы Mobile SMARTS\ Магазин 15, Полный\Backup.
- URL базы = протокол + IP сервера Mobile SMARTS + порт + ID базы — http://127.0.0.1:10501/c65ccd10-6daa-496e-92aa-80043476f2e8?altip=SERVER_NAME.
Далее запускается алгоритм проверки существования базы, которая была передана в параметрах запуска и её доступность для подключения. Для этого:
-
Проверяем подключение через REST API по URL базы (сначала – с клиента, в случае неудачи – с сервера), затем проверяем совместимость платформы Mobile SMARTS с REST API. Если все получилось, значит, текущая база существует и доступна для подключения. Если нет – пытаемся подключиться через COM сначала с клиента, в случае неудачи – с сервера.
-
Если URL базы отсутствует в параметре запуска, берем 1-ую подстроку параметра в качестве ID базы и пытаемся подключиться через COM сначала с клиента, в случае неудачи – с сервера.
-
Сохраняем в хранилище общих настроек 1С (ХОН) по ключу «Cleverence_РасположениеКомпоненты» переменную ядра «РасположениеКомпоненты» (НаКлиенте или НаСервере).
Если база существует и доступна для подключения:
-
Сохраняем в ХОН по ключу «Cleverence_ПараметрыПодключенияMS» переменную ядра «ПараметрыПодключенияMS» – всю структуру параметров подключения базы (ID базы, имя базы, ID приложения, строка подключения, QR, логин, токен, имя ИО, тип установленного продукта, уровень приложения).
-
Сохраняем в ХОН по ключу «Cleverence_РежимВыбораБазы» режим выбора базы («СтрокаПодключения» или «ИзСписка»).
-
Сохраняем в ХОН по ключу «Cleverence_ТипИнтерфейса» тип интерфейса (REST_API или COM).
Далее производим инициализацию ядра (локального или глобального, в зависимости от того, откуда доступна база Mobile SMARTS– с клиента или с сервера):
-
В переменную ядра «КатегорииНастроекMS» получаем категории настроек: сериализуемые, узловые, настройки подключения, настройки справочников, настройки номенклатуры.
-
Получаем пустую структуру настроек в переменную ядра «ТекущиеНастройкиMS» – все возможные ключи настроек (например, «ВыгружатьНоменклатуруСразу», «НастройкиОбменаСправочников», «НастройкиБизнесПроцессов»).
-
Получаем значения настроек из базы Mobile SMARTS и заполняем ими пустую структуру настроек. Если выбран какой-либо текущий узел для текущей базы 1С, то получаем настройки из базы Mobile SMARTS, привязанной к этому узлу (это может быть как частная база, так и основная база Mobile SMARTS).
-
В переменную ядра «СтруктураМетаданных» сохраняем метаданные документов 1С, метаданные документов MS, пользователи MS, устройства MS, таблицы MS, UniПолейНоменклатуры.
-
В переменную ядра «ДанныеТекущегоУзла» получаем Ид, Имя узла и Ид базы MS, привязанной к этому узлу.
-
В переменную ядра «ПраваПользователя» получаем права пользователя, например, «Администратор», «Пользователь». Механизм пока в разработке, является заготовкой для своей системы разграничения прав.
-
Выполняем обновление структуры настроек, если структура настроек изменилась.
-
Временная заплатка — объединяем произвольные коды, если произвольные коды лежат в 4-х ключах:
-
ПроизвольныеКоды_Выгрузка_ШапкаДокумента. ПроизвольныеКоды_Выгрузка_ТабличнаяЧастьДокумента. ПроизвольныеКоды_Загрузка_ШапкаДокумента. ПроизвольныеКоды_Загрузка_ТабличнаяЧастьДокумента.
-
Проверяем обновление типовых бизнес-процессов.
-
Собираем общую структуру настроек бизнес-процессов из ключей «НастройкиБизнесПроцессов_ПоУмолчанию», «НастройкиБизнесПроцессов_Пользовательские», «НастройкиБизнесПроцессов_ПользовательскиеНастройки» в один ключ «НастройкиБизнесПроцессов» и сохраняем в кэш.
-
Собираем общую структуру произвольных кодов из ключей «ПроизвольныеКоды_ПоУмолчанию», «ПроизвольныеКоды_Пользовательские» в один ключ «ПроизвольныеКоды» и сохраняем в кэш.
Завершающие действия
- Выгрузить бизнес-процессы в таблицу Mobile SMARTS «БизнесПроцессы».
- Выгрузить ячейки в таблицу Mobile SMARTS «Ячейки».
- Завершить работу 1С и вернуть управление в мастер настройки Mobile SMARTS.