Вызов процедур и функций

Подключаемая библиотека "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);
// Первый способ
клиент.ВызватьМетод("Справочники.Валюты", "ЗагрузитьКурсыВалют");

// Второй способ 
клиент.Справочники.Валюты.ЗагрузитьКурсыВалют();