====== async ds.rpcCall(func [, arg]) ======
**func** - имя функции приложения;\\
**arg** - массив необязательных аргументов вызова функции;\\
**Возвращает** - результат выполнения функции.\\
Данная функция позволяет вызвать RPC функцию приложения платформы DevelCADA. Документацию по списку и описанию функций приложения, доступных для вызова, разработчик приложения поставляет в комплекте с самим приложением. Данный механизм позволяет легко взаимодействовать приложениям между собой. Так же этот механизм в значительной степени расширяет как базовый набор доступных функций скриптов, так и позволяет разрабатывать собственные, в том числе создавать интеграции со сторонними системами.
При вызове функций приложения, имя вызываемой функции должно содержать так же и имя приложения, разделенные точкой, если имя приложения не указано, будет вызываться функция менеджера приложения (pm).
Пример 1:
let spList = await ds.rpcCall('server.getSpList');
log('Список последовательных портов системы:', spList);
Данный код выведет список доступных последовательных портов в системе.
{{ :ds_rpccall2.png?nolink |}}
Пример 2:
let logData = {
stamp: Date.now(),
mark: 'ZZ',
type: 'e',
val: 'my message'
}
await ds.rpcCall('pm.addLog', [ logData ]);
Данный код добавит в системный журнал, в обход стандартной функции, сообщение **my message** с меткой **ZZ** и типом сообщения - ошибка.
{{ :ds_rpccall3.png?nolink |}}