Вызов процедур и функций
Подключаемая библиотека "Brom" позволяет осуществлять удаленный вызов процедур и функций с возможностью передачи произвольного количества параметров сериализуемого типа. Доступен вызов следующих процедур и функций:
- серверных процедур и функций глобального контекста;
- процедур и функций серверных общих модулей;
- процедур и функций модулей менеджера объектов конфигурации.
Если вызванная удаленная функция возвращает значение, которое невозможно сериализовать, на клиент возвращается значение типа "ITworks.Brom.Types.НесериализуемыеДанные". Обработка таких ситуаций должна осуществляться клиентским приложением.
В настройках расширения могут быть указаны области видимости методов конфигурации. Подробнее о настроках видимости вы можете прочесть в инструкции по настройке расширения.
Вызов методов глобального контекста
Вызвать удаленный метод глобального контекста можно:
- вызвав метод "ВызватьМетод()" объекта "БромКлиент" и указав пустое наименование модуля;
- непосредственно вызвав одноименный динамический метод объекта "БромКлиент".
// Первый способ
string числоПрописью1 = клиент.ВызватьМетод("", "ЧислоПрописью", 2547);
// Второй способ
string числоПрописью2 = клиент.ЧислоПрописью(2547);
// Первый способ
object[] цвета1 = клиент.ВызватьМетод("", "СтрРазделить", "Красный,Синий,Зеленый", ",");
// Второй способ
object[] цвета2 = клиент.СтрРазделить("Красный,Синий,Зеленый", ",");
Вызов методов общих модулей
Вызвать удаленный метод глобального контекста можно:
- вызвав метод "ВызватьМетод()" объекта "БромКлиент" и указав имя модуля и имя метода;
- вызвав одноименный динамический метод общего модуля (через контекст модуля).
dynamic доллар = клиент.Справочники.Валюты.НайтиПоКоду("840");
// Первый способ
Структура курс1 = клиент.ВызватьМетод("РаботаСКурсамиВалют", "ПолучитьКурсВалюты", доллар, DateTime.Today);
// Второй способ
Структура курс2 = клиент.РаботаСКурсамиВалют.ПолучитьКурсВалюты(доллар, DateTime.Today);
// Первый способ
object результат1 = клиент.ВызватьМетод("ДемоМодуль", "СовершитьКакоетоДействие");
// Второй способ
object результат2 = клиент.ДемоМодуль.СовершитьКакоетоДействие();
Вызов методов модулей менеджеров
Вызвать удаленный метод модуля менеджера можно:
- вызвав метод "ВызватьМетод()" объекта "БромКлиент" и указав полное имя модуля менеджера и имя метода;
- вызвав одноименный динамический метод модуля менеджера (через контекст модуля менеджера).
// Первый способ
dynamic телевизорСсылка1 = клиент.ВызватьМетод("Справочники.Номенклатура", "НайтиПоНаименованию", "Телевизор", true);
// Второй способ
dynamic телевизорСсылка2 = клиент.Справочники.Номенклатура.НайтиПоНаименованию("Телевизор", true);
// Первый способ
клиент.ВызватьМетод("Справочники.Валюты", "ЗагрузитьКурсыВалют");
// Второй способ
клиент.Справочники.Валюты.ЗагрузитьКурсыВалют();