Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
Column
width45%
Panel
titleНа странице:

Table of Contents


Column


Общие сведения

Данное действие осуществляет запуск внешней программы на выбранном Сервере сервере домена.

Note
titleВнимание!

Не рекомендуется запускать на Сервере сервере программы с графическим интерфейсом. При возникновении проблем с запуском интерактивных служб рекомендуется обратиться к инструкциям Windows.

Настройка макрокоманды

Для настройки необходимо:

  1. Разрешить взаимодействие серверной службы ITV Host Servise с рабочим столом (Компьютер → Управление → Службы → Свойства службы → Вход в систему).
    Image Modified

    Info
    titleПримечание

    Для типа установки Отказоустойчивый Сервер сервер и Клиентклиент (см. Установка) необходимо разрешить взаимодействие для службы ITV RaFT supervisor service.

  2. Добавить в папку <Директория установки ПК Интеллект X>\UserScripts\ один или несколько пакетных файлов bat с командой запуска приложения.
    Команда должна содержать путь к исполняемому файлу программы. Разрешается задание сетевого пути, параметров командной строки (см. Запуск внешней программы на клиентах Запустить стороннее приложение на клиенте) и использование шаблонов (см. Текстовые шаблоны в настройках действий).
  3. Перейти на вкладку Программирование.
  4. Нажать на кнопку Создать в списке Правила по событиям или Циклические правила (см. Конфигурирование макрокоманд).
  5. Выбрать условие запуска, которое вызовет срабатывание макрокоманды (см. Настройка условий запуска).
  6. Нажать на кнопку Image Added под условиями запуска.
  7. Из выпадающего списка выбрать действие Общее: Запустить стороннее приложение на сервере.
  8. В параметре Запуск внешней программы на сервере выбрать серверВыбрать Сервер, на котором необходимо запускать программу (1).
    Image Modified
  9. Выбрать В параметре Исполняемые файлы выбрать пакетный файл с командой запуска (2).
  10. Ввести В параметре Параметры запуска ввести шаблоны, если они были заданы в bat-файле (3).

    Note
    titleВнимание!

    Если ожидается, что в результате запроса подстановочный знак будет содержать пробелы и/или некоторые специальные символы оболочки (> & | < и т. д.), то шаблон должен быть заключен в кавычки (""). Например, "{rectangles}". Необходимо брать в кавычки всю строку шаблона.

  11. Нажать на кнопку Применить Image Added.

Настройка действия Запустить стороннее приложение на сервере завершена.

Примеры использования

Пример 1

При использовании bat-файла с содержимым

Code Block
SET "datatime=%1"
SET "cameraIpAddress=%2"

msg * Current time is %datatime%, IP-address: %cameraIpAddress%

срабатывание макрокоманды сработка макрокоманды приведет с к следующему сообщению:

 Image Modified

Пример 2

.Экспорт событий об изменении статуса камер (связь потеряна/восстановлена) в формат csv,bat bat-файл с содержимым:

Code Block
SELECT "timestamp"
	,REGEXP_REPLACE("object_id", 'hosts/', '') as device,
	CASE
								WHEN ("any_values"::json->>'state') = '4' THEN 'Signal Lost' 
								WHEN ("any_values"::json->>'state') = '3' THEN 'Signal Restored'
								ELSE ''
		END as state
FROM public."t_json_event" 
WHERE type = '0' AND ("any_values"::json->>'state'='3' OR "any_values"::json->>'state'='4') AND timestamp >= '20200211T0000'
ORDER by timestamp DESC

Пример 3

.Экспорт событий от всех сработок всех датчиков в формат csv,bat bat-файл с содержимым

Code Block
SELECT "timestamp", 
		REGEXP_REPLACE("object_id", 'hosts/', '') as device, 
		CASE
								WHEN ("any_values"::json->>'phase') = '1' THEN 'Closed' 
								WHEN ("any_values"::json->>'phase') = '2' THEN 'Opened'
								ELSE ''
		END as state
FROM public."t_json_event"
WHERE type = '1' AND timestamp >= '20200209T110000' AND "object_id" LIKE '%ray%'
ORDER by timestamp DESC

...