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

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

Для целей настройки и отладки конфигурации платформы реализован режим запуска 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:ProgramDataDatareonPlatformSecurity или C:ProgramDataDatareonGuard (при использовании Guard)

DeveloperDataFolder

Каталог, в котором будут размещены все данные Platform

C:ProgramDataDatareonPlatform

GuardPort

Порт для запуска сервиса авторизации

7203

ControlCenterPort

Порт для запуска ЦН

7200

NodeApiPort

Порт для API кластера

7201

NodeApiQueuePort

Порт для API узла

7202

SnmpPort

NodeListeningPort

Порт для взаимодействия с нодой других объектов

7290

SystemRequestsPort

Порт узла для отправки параметров адаптеров 1С

7292

ClearOnStart

Необходимость очищать каталог DebugDataFolder при запуске

_

  • В 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. Запустить ЦН.

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

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

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

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

  3. Запустить файл DatareonPlatformService.exe из распакованного каталога в режиме Debug.

Например: «C:\ProgramData\Datareon\debug\PlatformArchive20201126.8\DatareonPlatformService.exe» developer -developerConfig=«C:\ProgramData\Datareon\dev\developerConfig.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

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

    Примечание

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

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

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

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

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

    "isClient": true,
    "RemoteNodeAddress": "192.168.110.130",
    "RemoteNodePort": 7290,
    "DebugUser": "User1"
    

    Поле

    Назначение

    isClient

    Флаг, указывающий, что это машина-клиент

    RemoteNodeAddress

    Адрес сервера, к которому будет подключение

    RemoteNodePort

    Порт узла для подключения

    DebugUser

    Имя пользователя

    Примечание

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

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

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

../_images/progect_gen.png

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

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

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

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

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

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

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

../_images/send_debug.png

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

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

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

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

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

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

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

    ../_images/image4.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/image55.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 расширения.