Инструменты разработки
Режим разработки
Для целей настройки и отладки конфигурации платформы реализован режим запуска Developer. В этом режиме:
Платформа запускается как приложение, а не как служба. Для запуска в качестве службы используется параметр asService.
Возможен запуск нескольких экземпляров Платформы на одном устройстве.
Возможен запуск нескольких различных версий (сборок) программного обеспечения на одном устройстве.
Порты, указанные в конфигурации, переопределяются на тестовые.
Все сервисы запускаются только на текущем устройстве.
Не поддерживается работа в кластере, состоящем из нескольких серверов.
Отключена защита от случайного переопределения узла к другому кластеру.
Чтобы запустить режим разработчика:
Создать каталог для данных экземпляра. Например: D:\DatareonData\Instance1\PlatformData.
Создать каталог для файлов конфигурации (например: D:\DatareonData\Instance1\Config) или базы конфигурации (например: D:\DatareonData\Instance1\Security).
Создать конфигурацию для запуска режима разработчика.
{ "$type": "DT.ConfigurationRepository.Configuration.DeveloperConfig, DT_ConfigurationRepository", "DeveloperDataFolder": "D:\\DatareonData\\Instance1\\PlatformData", "controlCenterPort": 7200, "adminUIPort": 7204, "nodeApiPort": 7201, "LocalNodeApiPort": 7202, "systemRequestsPort": 7298, "snmpPort": 7294, "nodeListeningPort": 7290, "clearOnStart": false, "workSpace": "D:\\DatareonData\\Instance1\\Config", "precompileSerialize": false, "workSpaceOnline": true, "ignoreVersionCheck": true }
Поле |
Назначение |
Аналог в промышленной среде |
|---|---|---|
DeveloperDataFolder |
Каталог, в котором будут размещены все данные Platform. Поддерживаются абсолютный и относительный пути. |
C:\ProgramData\Datareon\Platform |
ControlCenterPort |
Порт для запуска ЦН |
7200 |
NodeApiPort |
Порт для API кластера |
7201 |
LocalNodeApiPort |
Порт для API узла |
7202 |
SnmpPort |
Порт для сборки счетчиков SNMP с узлов |
— |
NodeListeningPort |
Порт для взаимодействия с нодой других объектов |
7290 |
SystemRequestsPort |
Порт узла для отправки параметров адаптеров 1С |
7298 |
ClearOnStart |
Необходимость очищать каталог DebugDataFolder при запуске |
_ |
workSpace |
Поддерживается абсолютный путь |
_ |
В Windows:
От имени Администратора запустить приложение DatareonPlatformService с параметром developer, в developerConfig указать путь к конфигурации (абсолютный или обязательный). Пример: «C:\Program Files (x86)\Datareon\Platform\DatareonPlatformService.exe» developer -developerConfig=«C:\ProgramData\Datareon\debug\developerConfig.json»
Запустить ЦН.
В Linux:
Выполнить команду Platformmanager debug, в debugConfig указать путь к конфигурации (абсолютный или обязательный). Пример: Platformmanager developer -developerConfig=/home/debug/developerConfigCentos.json
Запустить ЦН.
Параметры исполняемых файлов и способы их передачи
Обязательные параметры (для всех)
Параметры |
Описание |
|---|---|
-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»
Работа в режиме разработки из профиля отладки
На тестовом сервере возможна одновременная отладка отдельных процессов разными пользователями.
Примечание
При работе с ЦН в режиме разработчика с использованием подключения к удаленному серверу Платформы, статус лицензии проверяется только на сервере.
Для выполнения отладки:
В конфигурацию экземпляра для режима разработчика, добавьте следующие параметры:
"RemoteConnectionEnabled": true, "DebugProfiles": [ { "UserName": "User1", "DebugKey":"383b2a55-41d1-4e4b-a025-79bfca87323b", "DebugScheme": "Scheme1", "UnprocQueueId": "483b2a55-41d1-4e4b-a025-79bfca87323b" } ]
RemoteConnectionEnabled: флаг, разрешающий удаленную отладку.
UserName: произвольное имя пользователя.
DebugKey: ключ пользователя (идентификатор запускаемого модуля процессов).
DebugScheme: название схемы.
UnprocQueueId: идентификатор очереди.
Примечание
В полях, указанных выше, используются пользовательские значения.
Экспортируйте конфигурацию в файлы.
Скопируйте файлы на машину-клиент, с которой будет осуществляться отладка.
Разверните Платформу на машине-клиенте в режиме разработчика с экспортированной базой.
Добавьте следующие параметры:
"isClient": true, "RemoteNodeAddress": "server-address", "RemoteNodePort": 7290, "DebugUser": "User1"
isClient: флаг, указывающий, что это машина-клиент.
RemoteNodeAddress: адрес сервера, к которому будет подключение.
RemoteNodePort: порт узла для подключения.
DebugUser: имя пользователя.
Примечание
В полях, указанных выше, используются пользовательские значения.
Зайдите с машины-клиента в ЦН.
Создайте проект в пункте меню Инструменты разработки → Программирование, нажав на кнопку Сгенерировать проект:
Путь к созданному проекту можно посмотреть в логах ЦН. Созданный проект может быть изменен в любой среде разработки, например, в VisuaStudio.
После внесения изменений создайте файл dll. Для этого выполните следующие действия:
Откройте проект в VisualStudio.
Перейдите в Обозреватель решений.
Щелкните правой кнопкой мыши по решению проекта.
Нажмите на кнопку Собрать решение.
Отправьте версию для отладки в пункте меню ЦН Инструменты разработки → Программирование, указав путь до проекта и нажав на кнопку Отправить версию для отладки:
После отправки файла 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
Внимание
Начиная с версии 3.2.0.0, в Платформе используется обновленная структура каталогов данных. В корне каталога данных находится общий конфигурационный файл CommonConfig.json.
Запросы из Query Language Editor будут выполняться на экземпляре Platform в режиме разработчика на удаленном сервере.
Для организации работы расширения с экземпляром Platform:
Сгенерировать проект на базе конфигурации.
Перенести проект на машину с установленным расширением.
Настроить соединение между проектом и экземпляром Platform: вcтавить параметр со значением «RemoteConnectionEnabled»: true в файл настройки экземпляра Platform developerConfig.json.
Внимание
Из CommonConfig.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 расширения.



