Центр разработки
Режим разработки
Для целей настройки и отладки конфигурации платформы реализован режим запуска Developer. В этом режиме:
Платформа запускается как приложение, а не как служба. Для запуска в качестве службы используется параметр asService.
Возможен запуск нескольких экземпляров Платформы на одном устройстве.
Возможен запуск нескольких различных версий (сборок) программного обеспечения на одном устройстве.
Порты, указанные в конфигурации, переопределяются на тестовые.
Все сервисы запускаются только на текущем устройстве.
Отключена защита от случайного переопределения узла к другому кластеру.
Чтобы запустить режим разработчика:
Создать каталог для данных экземпляра. Например: D:\DatareonData\Instance1\PlatformData.
Создать каталог для файлов конфигурации (например: D:\DatareonData\Instance1\Config) или базы конфигурации (например: D:\DatareonData\Instance1\Security).
Создать конфиг для запуска режима разработчика. В конфиге могут быть указаны абсолютные пути и относительные. Для относительных путей текущей директорией считается директория, где размещен отладочный конфиг.
{ "$type": "DT.ConfigurationRepository.Configuration.DeveloperConfig, DT_ConfigurationRepository", "GuardDb": "Security", "DeveloperDataFolder": "D:\\DatareonData\\Instance1\\PlatformData", "GuardPort": 7203, "controlCenterPort": 7200, "adminUIPort": 7204, "nodeApiPort": 7201, "archiveApiPort": 7202, "systemRequestsPort": 7292, "snmpPort": 7294, "nodeListeningPort": 7290, "clearOnStart": false, "workSpace": "D:\\DatareonData\\Instance1\\Config", "precompileSerialize": false, "workSpaceOnline": true, "ignoreVersionCheck": true }
Поле
Назначение
Аналог в промышленной среде
GuardDb
Каталог, в котором размещена конфигурация Security.db
C:\Progra mData\Datareon\Platform\Security или C:\ProgramData\Datareon\Guard (при использовании Guard)
Develop erDataFolder
Каталог, в котором будут размещены все данные Platform
C:\ProgramData\Datareon\Platform
GuardPort
Порт для запуска сервиса авторизации
7203
Contr olCenterPort
Порт для запуска ЦН
7200
NodeApiPort
Порт для API кластера
7201
Node ApiQueuePort
Порт для API узла
7202
SnmpPort
NodeL isteningPort
Порт для взаимодействия с нодой других объектов
7290
System RequestsPort
Порт узла для отправки параметров адаптеров 1С
7292
ClearOnStart
Необходимость очищать каталог D ebugDataFolder при запуске
В Windows:
От имени Администратора запустить приложение DatareonPlatformService с параметром developer, в developerConfig указать путь к конфигу (абсолютный или обязательный). Пример: «C:Program Files (x86)DatareonPlatformDatareonPlatformService.exe» developer -developerConfig=«C:ProgramDataDatareondebugdeveloperConfig.json»
Запустить ЦН.
В Linux:
Выполнить команду Platformmanager debug, в debugConfig указать путь к конфигу (абсолютный или обязательный). Пример: Platformmanager developer -developerConfig=/home/debug/developerConfigCentos.json
Запустить ЦН.
В режиме разработки возможен запуск приложения без установки дистрибутива.
Чтобы запустить режим разработчика без установки:
Скачать дистрибутив Platform.
Распаковать архив.
Запустить файл DatareonPlatformService.exe из распакованного каталога в режиме Debug.
Например: «C:ProgramDataDatareondebugPlatformArchive20201126.8DatareonPlatformService.exe» developer -developerConfig=«C:ProgramDataDatareondevdeveloperConfig.json» Также можно зарегистрировать как службу с помощью cmd (https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/sc-create) или powershell (https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/new-service?view=powershell-7.1).
Примечание
При регистрации в качестве службы обязательно необходимо указать параметр asService. Например: New-Service -Name «DatareonPlatform1» -Description «Datareon Platform instance 1» -BinaryPathName „«D:\PlatformData\distr\debug\DatareonPlatformService.exe» developer -developerConfig=«D:\DatareonData\Instance1\developerConfig.json» -asService“
Параметры исполняемых файлов и способы их передачи
Обязательные параметры (для всех)
Параметры |
Описание |
-id=<guid> |
Идентификатор процесса |
-с=<путь> |
Полный путь к файлу конфигурации |
-lc=<путь> |
Полный путь к файлу локальной конфигурации |
Дополнительные параметры (DatareonPlatformControlCenter.exe)
Параметры |
Описание |
-r |
Флаг, указывает что сервис запущен повторно |
Дополнительные параметры (DatareonPlatformControlAdapter.exe)
Параметры |
Описание |
-m |
Запустить в режиме «только метаданные» |
Способы передачи параметров запуска .exe файла в команде
Способ |
Пример |
Через пробел |
-lc C:\ProgramData\ Datareon\dev_1589\PlatformData\LocalNodeConfig.json -asService |
Через знак равенства |
-lc=C:\ProgramData\ Datareon\dev_1589\PlatformData\LocalNodeConfig.json -asService |
Через двоеточие |
-lc:C:\ProgramData\ Datareon\dev_1589\PlatformData\LocalNodeConfig.json -asService |
Примечание
Путь может быть указан в кавычках и без кавычек: lc:«C:\ProgramData\Datareon\dev_1589\PlatformData\LocalNodeConfig.json»
Работа в режиме разработки из профиля отладки
Цель: одновременная отладка разных процессов разными пользователями на одном тестовом сервере.
1. В конфигурацию сервера, запущенного в режиме разработчика, добавить следующие параметры:
"RemoteConnectionEnabled": true, "DebugProfiles": [ { "UserName": "User1", "DebugKey":"383b2a55-41d1-4e4b-a025-79bfca87323b", "DebugScheme": "Scheme1", "UnprocQueueId": "483b2a55-41d1-4e4b-a025-79bfca87323b" } ]
Поле
Назначение
Remote ConnectionEnabled
Флаг, разрешающий удаленную отладку
UserName
Имя пользователя
DebugKey
Ключ пользователя (идентификатор запускаемого модуля процессов)
DebugScheme
Название схемы
UnprocQueueId
Идентификатор очереди
Экспортировать конфигурацию в файлы и скопировать на машину-клиента, с которой будет осуществляться отладка.
3. На машине-клиенте развернуть Платформу в режиме разработчика с экспортированной базой, в конфигурации добавить параметры:
"isClient": true, "RemoteNodeAddress": "192.168.110.130", "RemoteNodePort": 7290, "DebugUser": "User1", "DebugProfiles": [ { "UserName": "User1", "DebugKey":"383b2a55-41d1-4e4b-a025-79bfca87323b", "DebugScheme": "Scheme1", "UnprocQueueId": "483b2a55-41d1-4e4b-a025-79bfca87323b" } ]
Поле |
Назначение |
isClient |
Флаг, указывающий, что это машина-клиент |
RemoteNodeAddress |
Адрес сервера, к которому будет подключение |
RemoteNodePort |
Порт узла для подключения |
DebugUser |
Имя пользователя |
DebugProfiles |
Данные профиля пользователя |
4. С машины-клиента зайти в ЦН и в пункте меню Разработка->Программирование и сгенерировать проект. Путь до сгенерированного проекта можно посмотреть в логах центра настройки.
5. Сгенерированный проект можно изменять и отлаживать в любой среде разработки, например, в VisuaStudio.
6.После внесения изменений, необходимо сгенерировать dll, после чего зайти в ЦН и в пункте меню Разработка->Программирование и отправить версию для отладки.
7. После отправки dll на сервер, на нем запускается свой экземпляр модуля процессов, к которому можно подключаться удаленным отладчиком. Для запуска процесса от имени определенного пользователя (например, из метода веб-сервиса) используется его DebugScheme.
Расширение Query Language Editor
Расширение «Query Language Editor» создано для среды разработки Visual Studio для упрощения разработки и отладки выражений на языке запросов в Платформе.
Внимание
Расширение работает только в версии Visual Studio 2019 года.
Функциональность расширения
Выполнение запроса на экземпляре Platform, расположенном на удаленной машине, из Visual Studio 2019.
Просмотр результата запроса в расширении в Visual Studio 2019.
Использование проекта, сгенерированного в Режиме разработчика из настроенной конфигурации Platform.
Автозаполнение и показ доступных вариантов ключевых слов языка запросов.
Автозаполнение и показ доступных вариантов Типов данных и их полей для конкретной конфигурации Platform.
Установка расширения
Скачать и установить свободно распространяемое программное обеспечение Visual Studio Community 2019 (использовать параметры установки по умолчанию).
Скачать и распаковать архив с расширением Query Language Editor.
Для установки расширения нужно в распакованной папке запустить файл QueryLanguageEditor.vsix.
В окне Установщика расширений по умолчанию выбран доступный для установки продукт - Visual Studio Community 2019. Нажать на кнопку Install, дождаться успешной установки расширения.
Настройка взаимодействия между расширением и экземпляром Platform
Запросы из Query Language Editor будут выполняться на экземпляре Platform в режиме разработчика на удаленном сервере.
Для организации работы расширения с экземпляром Platform:
Сгенерировать проект на базе конфигурации.
Перенести проект на машину с установленным расширением.
Настроить соединение между проектом и экземпляром Platform: вcтавить параметр со значением «RemoteConnectionEnabled»: true в файл настройки экземпляра Platform developerConfig.json.
Внимание
Запомнить значение порта из параметра «NodeListeningPort», он понадобится в дальнейшем.
Перейти в Центр настроек Platform (меню Разработка, пункт Программирование)
Нажать на кнопку «Сгенерировать проект».
Скопировать сгенерированный проект из папки generate, расположенной по адресу PlatformData\Cache\DatareonPlatformControlCenter\generate.
Перенести папку с проектом на машину с установленным расширением Query Language Editor.
В папке с проектом открыть файл настроек DebugConfig.json, расположенный по адресу Папка_с_проектом\DT_Source.
Установить следующие параметры:
В параметре «RemoteNodeAddress»: в кавычках установить ip адрес удаленной машины, на которой расположен экземпляр Platform.
В параметре «RemoteNodePort»: port без кавычек установить порт из параметра «NodeListeningPort».
В параметре «IsClient»: установить значение true.
В параметре «DebugUser»: установить нужное имя пользователя, значение по умолчанию «Администратор».
Настройка быстрого доступа к окну расширения в VisualStudio 2019
Запустите Visual Studio 2019. Окно работы с расширением находится в панели Вид > Другие окна>QueryEditorWindow.
В Главном окне на Стандартной панели инструментов нажмите на кнопку Параметры панели.
Выберите Добавить или удалить кнопки и поставьте галочку рядом с пунктом Другие окна
Нажмите на стрелочку на новом значке на панели и выберите QueryEditorWindow.
Теперь на Стандартной панели доступен значок для QueryEditorWindow.
Использование расширения
Для работы с запросами в расширении:
Откройте в Visual Studio 2019 сгенерированный проект из Platform: в папке с проектом запустите файл platform.sln.
После запуска Visual Studio 2019, откройте QueryEditorWindow, нажав на значок. Расширение готово к работе.
Верхнюю половину окна занимает Поле ввода запроса, нижнюю половину окна занимает Поле просмотра результата.
При вводе запроса, расширение предлагает список автозаполнения, доступных к использованию, объектов и их полей из конфигурации Platform и, используемых в языке запросов, ключевых слов.
В верхней части окна находится кнопка для выполнения запроса.
В случае возникновения ошибки в Платформе при выполнении запроса, текст ошибки можно просмотреть на вкладке Messages расширения.