Центр разработки

Режим разработки

Для целей настройки и отладки конфигурации платформы реализован режим запуска Developer. В этом режиме:

  • Платформа запускается как приложение, а не как служба. Для запуска в качестве службы используется параметр asService.

  • Возможен запуск нескольких экземпляров Платформы на одном устройстве.

  • Возможен запуск нескольких различных версий (сборок) программного обеспечения на одном устройстве.

  • Порты, указанные в конфигурации, переопределяются на тестовые.

  • Все сервисы запускаются только на текущем устройстве.

  • Отключена защита от случайного переопределения узла к другому кластеру.

Чтобы запустить режим разработчика:

  1. Создать каталог для данных экземпляра. Например: D:\DatareonData\Instance1\PlatformData.

  2. Создать каталог для файлов конфигурации (например: D:\DatareonData\Instance1\Config) или базы конфигурации (например: D:\DatareonData\Instance1\Security).

  3. Создать конфиг для запуска режима разработчика. В конфиге могут быть указаны абсолютные пути и относительные. Для относительных путей текущей директорией считается директория, где размещен отладочный конфиг.

    {
    "$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:

      1. От имени Администратора запустить приложение DatareonPlatformService с параметром developer, в developerConfig указать путь к конфигу (абсолютный или обязательный). Пример: «C:Program Files (x86)DatareonPlatformDatareonPlatformService.exe» developer -developerConfig=«C:ProgramDataDatareondebugdeveloperConfig.json»

      2. Запустить ЦН.

    • В Linux:

      1. Выполнить команду Platformmanager debug, в debugConfig указать путь к конфигу (абсолютный или обязательный). Пример: Platformmanager developer -developerConfig=/home/debug/developerConfigCentos.json

      2. Запустить ЦН.

В режиме разработки возможен запуск приложения без установки дистрибутива.

Чтобы запустить режим разработчика без установки:

  1. Скачать дистрибутив Platform.

  2. Распаковать архив.

  3. Запустить файл 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

Идентификатор очереди

  1. Экспортировать конфигурацию в файлы и скопировать на машину-клиента, с которой будет осуществляться отладка.

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 года.

../_images/image155.png

Функциональность расширения

  • Выполнение запроса на экземпляре Platform, расположенном на удаленной машине, из Visual Studio 2019.

  • Просмотр результата запроса в расширении в Visual Studio 2019.

  • Использование проекта, сгенерированного в Режиме разработчика из настроенной конфигурации Platform.

  • Автозаполнение и показ доступных вариантов ключевых слов языка запросов.

  • Автозаполнение и показ доступных вариантов Типов данных и их полей для конкретной конфигурации Platform.

Установка расширения

  • Скачать и установить свободно распространяемое программное обеспечение Visual Studio Community 2019 (использовать параметры установки по умолчанию).

  • Скачать и распаковать архив с расширением Query Language Editor.

    ../_images/image210.png
  • Для установки расширения нужно в распакованной папке запустить файл QueryLanguageEditor.vsix.

    ../_images/image34.png
  • В окне Установщика расширений по умолчанию выбран доступный для установки продукт - Visual Studio Community 2019. Нажать на кнопку Install, дождаться успешной установки расширения.

Настройка взаимодействия между расширением и экземпляром Platform

Запросы из Query Language Editor будут выполняться на экземпляре Platform в режиме разработчика на удаленном сервере.

Для организации работы расширения с экземпляром Platform:

  1. Сгенерировать проект на базе конфигурации.

  2. Перенести проект на машину с установленным расширением.

  3. Настроить соединение между проектом и экземпляром Platform: вcтавить параметр со значением «RemoteConnectionEnabled»: true в файл настройки экземпляра Platform developerConfig.json.

    ../_images/image44.png

    Внимание

    Запомнить значение порта из параметра «NodeListeningPort», он понадобится в дальнейшем.

  4. Перейти в Центр настроек Platform (меню Разработка, пункт Программирование)

  5. Нажать на кнопку «Сгенерировать проект».

  6. Скопировать сгенерированный проект из папки generate, расположенной по адресу PlatformData\Cache\DatareonPlatformControlCenter\generate.

  7. Перенести папку с проектом на машину с установленным расширением Query Language Editor.

  8. В папке с проектом открыть файл настроек DebugConfig.json, расположенный по адресу Папка_с_проектом\DT_Source.

  9. Установить следующие параметры:

    • В параметре «RemoteNodeAddress»: в кавычках установить ip адрес удаленной машины, на которой расположен экземпляр Platform.

    • В параметре «RemoteNodePort»: port без кавычек установить порт из параметра «NodeListeningPort».

    • В параметре «IsClient»: установить значение true.

      ../_images/image510.png
    • В параметре «DebugUser»: установить нужное имя пользователя, значение по умолчанию «Администратор».

Настройка быстрого доступа к окну расширения в VisualStudio 2019

  1. Запустите Visual Studio 2019. Окно работы с расширением находится в панели Вид > Другие окна>QueryEditorWindow.

    ../_images/image611.png
    ../_images/image77.png
  2. В Главном окне на Стандартной панели инструментов нажмите на кнопку Параметры панели.

  3. Выберите Добавить или удалить кнопки и поставьте галочку рядом с пунктом Другие окна

    ../_images/image82.png
  4. Нажмите на стрелочку на новом значке на панели и выберите QueryEditorWindow.

../_images/image92.png
../_images/image108.png

Теперь на Стандартной панели доступен значок для QueryEditorWindow.

Использование расширения

Для работы с запросами в расширении:

  1. Откройте в Visual Studio 2019 сгенерированный проект из Platform: в папке с проектом запустите файл platform.sln.

    ../_images/image1111.png
  2. После запуска Visual Studio 2019, откройте QueryEditorWindow, нажав на значок. Расширение готово к работе.

../_images/image1210.png

Верхнюю половину окна занимает Поле ввода запроса, нижнюю половину окна занимает Поле просмотра результата.

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

../_images/image1311.png

В верхней части окна находится кнопка для выполнения запроса.

../_images/image1410.png
../_images/image156.png

В случае возникновения ошибки в Платформе при выполнении запроса, текст ошибки можно просмотреть на вкладке Messages расширения.