====== 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 |}}