Инструменты разработки

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

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

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

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

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

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

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

  • Не поддерживается работа в кластере, состоящем из нескольких серверов.

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

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

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

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

  3. Создать конфигурацию для запуска режима разработчика.

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

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

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

  • В Linux:

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

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

Параметры исполняемых файлов и способы их передачи

Обязательные параметры (для всех)

Параметры

Описание

-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"
    }
    ]
    
    • RemoteConnectionEnabled: флаг, разрешающий удаленную отладку.

    • UserName: произвольное имя пользователя.

    • DebugKey: ключ пользователя (идентификатор запускаемого модуля процессов).

    • DebugScheme: название схемы.

    • UnprocQueueId: идентификатор очереди.

    Примечание

    В полях, указанных выше, используются пользовательские значения.

  2. Экспортируйте конфигурацию в файлы.

  3. Скопируйте файлы на машину-клиент, с которой будет осуществляться отладка.

  4. Разверните Платформу на машине-клиенте в режиме разработчика с экспортированной базой.

  5. Добавьте следующие параметры:

    "isClient": true,
    "RemoteNodeAddress": "server-address",
    "RemoteNodePort": 7290,
    "DebugUser": "User1"
    
    • isClient: флаг, указывающий, что это машина-клиент.

    • RemoteNodeAddress: адрес сервера, к которому будет подключение.

    • RemoteNodePort: порт узла для подключения.

    • DebugUser: имя пользователя.

    Примечание

    В полях, указанных выше, используются пользовательские значения.

  6. Зайдите с машины-клиента в ЦН.

  7. Создайте проект в пункте меню Инструменты разработкиПрограммирование, нажав на кнопку Сгенерировать проект:

../_images/progect_gen0.png

Путь к созданному проекту можно посмотреть в логах ЦН. Созданный проект может быть изменен в любой среде разработки, например, в VisuaStudio.

  1. После внесения изменений создайте файл dll. Для этого выполните следующие действия:

    1. Откройте проект в VisualStudio.

    2. Перейдите в Обозреватель решений.

    3. Щелкните правой кнопкой мыши по решению проекта.

    4. Нажмите на кнопку Собрать решение.

  2. Отправьте версию для отладки в пункте меню ЦН Инструменты разработкиПрограммирование, указав путь до проекта и нажав на кнопку Отправить версию для отладки:

../_images/send_debug0.png

После отправки файла dll на сервер, на нем будет запущен отдельный экземпляр модуля процессов, к которому можно подключаться с помощью удаленного отладчика. Для запуска процесса от имени определенного пользователя (например, из метода веб-сервиса) используется схема отладки (DebugScheme).

Расширение Query Language Editor

Расширение «Query Language Editor» создано для среды разработки Visual Studio для упрощения разработки и отладки выражений на языке запросов в Платформе.

Внимание

Расширение работает только в версии Visual Studio 2019 года.

../_images/image14.png

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

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

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

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

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

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

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

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

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

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

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

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

Внимание

Начиная с версии 3.2.0.0, в Платформе используется обновленная структура каталогов данных. В корне каталога данных находится общий конфигурационный файл CommonConfig.json.

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

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

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

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

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

    Внимание

    Из CommonConfig.json запомнить значение порта из параметра «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/image53.png
    • В параметре «DebugUser»: установить нужное имя пользователя, значение по умолчанию «Администратор».

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

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

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

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

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

../_images/image9.png
../_images/image10.png

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

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

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

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

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

../_images/image122.png

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

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

../_images/image1311.png

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

../_images/image146.png
../_images/image152.png

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