ExecuteMethod
Метод ExecuteMethod() вызывает процедуру или функцию серверного модуля (общего модуля или модуля менеджера). Если модуль не указан, вызывает метод глобального контекста.
Параметры:
Имя | Тип | Описание |
---|---|---|
module | xs:string | Имя модуля. Для глобальных методов не указывается, или передается пустая строка. Опциональный. |
method | xs:string | Имя процедуры или функции. |
params | brom:ValueArray | Массив значений, передаваемых в качестве параметров. Порядок следования значений в массиве должен быть тем же, что и в описании процедуры/функции. Опциональный. |
Возвращаемое значение:
Тип | Описание |
---|---|
производный от brom:ValueBase | Значение, возвращенное вызванной функцией. Для процедур возвращается "Неопределено". |
Настройки доступа
Области видимости методов могут быть заданы в расширении (общий модуль "brom_Настройки" метод "ОбластьДотупаУдаленныхВызовов"). Имена областей задаются по следующим правилам:
Пример | Описание |
---|---|
* | Любой метод глобального контекста. |
{ИмяМетода} | Конкретный метод глобального контекста. |
*.* | Любой метод любого общего модуля. |
{ИмяМодуля}.* | Любой метод конкретного общего модуля. |
*.{ИмяМетода} | Конкретный метод любого общего модуля. |
*.*.* | Любой метод любой коллекции любого типа. |
{ИмяТипа}.*.* | Любой метод любой коллекции конкретного типа. Например только "Справочники". |
{ИмяТипа}.*.{ИмяМетода} | Конкретный метод из любой коллекции определенного типа. |
ВАЖНО!
По умолчанию в расширении установлены доступы ко всем методам во всех возможных областях видимости. В рабочем приложении рекомендуется указывать только области видимости, необходимые для корректной работы удаленного приложения.
Примеры:
Пример №1. Преобразование строки в верхний регистр с помощью функции "ВРег()" глобального контекста.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:brom="https://brom.itworks.group" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Header/>
<soap:Body>
<brom:ExecuteMethod>
<brom:module/>
<brom:method>ВРег</brom:method>
<brom:params>
<brom:Item xsi:type="brom:ValueString" Value="Хорошие новости!"/>
</brom:params>
</brom:ExecuteMethod>
</soap:Body>
</soap:Envelope>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<m:ExecuteMethodResponse xmlns:m="https://brom.itworks.group">
<m:return xsi:type="m:ValueString" Value="ХОРОШИЕ НОВОСТИ!" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</m:ExecuteMethodResponse>
</soap:Body>
</soap:Envelope>
Пример №2. Вывод суммы прописью с помощью функции "ЧислоПрописью()" глобального контекста.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:brom="https://brom.itworks.group" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Header/>
<soap:Body>
<brom:ExecuteMethod>
<brom:module/>
<brom:method>ЧислоПрописью</brom:method>
<brom:params>
<brom:Item xsi:type="brom:ValueNumber" Value="2456.47"/>
<brom:Item xsi:type="brom:ValueString" Value="Л=ru_RU;ДП=Истина"/>
<brom:Item xsi:type="brom:ValueString" Value="целая, целых, целых, ж, сотая, сотой, сотых, ж, 2"/>
</brom:params>
</brom:ExecuteMethod>
</soap:Body>
</soap:Envelope>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<m:ExecuteMethodResponse xmlns:m="https://brom.itworks.group">
<m:return xsi:type="m:ValueString" Value="Две тысячи четыреста пятьдесят шесть целых сорок семь сотых" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</m:ExecuteMethodResponse>
</soap:Body>
</soap:Envelope>
Пример №3. Разбиение строки на массив строк с помощью функции "РазделитьСтроку()" глобального контекста.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:brom="https://brom.itworks.group" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Header/>
<soap:Body>
<brom:ExecuteMethod>
<brom:module/>
<brom:method>СтрРазделить</brom:method>
<brom:params>
<brom:Item xsi:type="brom:ValueString" Value="Красный,Синий,Зеленый,Желтый"/>
<brom:Item xsi:type="brom:ValueString" Value=","/>
</brom:params>
</brom:ExecuteMethod>
</soap:Body>
</soap:Envelope>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<m:ExecuteMethodResponse xmlns:m="https://brom.itworks.group">
<m:return xsi:type="m:ValueArray" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<m:Item xsi:type="m:ValueString" Value="Красный"/>
<m:Item xsi:type="m:ValueString" Value="Синий"/>
<m:Item xsi:type="m:ValueString" Value="Зеленый"/>
<m:Item xsi:type="m:ValueString" Value="Желтый"/>
</m:return>
</m:ExecuteMethodResponse>
</soap:Body>
</soap:Envelope>
Пример №4. Получение информации о курсе валюты "USD" с помощью метода "ПолучитьКурсВалюты()" общего модуля "РаботаСКурсамиВалют".
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:brom="https://brom.itworks.group" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Header/>
<soap:Body>
<brom:ExecuteMethod>
<brom:module>РаботаСКурсамиВалют</brom:module>
<brom:method>ПолучитьКурсВалюты</brom:method>
<brom:params>
<brom:Item xsi:type="brom:ValueObjectRef" Value="9c556d4d-720f-11df-b436-0015e92f2802" Type="Справочник.Валюты"/>
<brom:Item xsi:type="brom:ValueDate" Value="2018-06-04T05:28:34"/>
</brom:params>
</brom:ExecuteMethod>
</soap:Body>
</soap:Envelope>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<m:ExecuteMethodResponse xmlns:m="https://brom.itworks.group">
<m:return xsi:type="m:ValueStruct" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<m:Property xsi:type="m:ValueNumber" Name="Курс" Value="62.2056"/>
<m:Property xsi:type="m:ValueNumber" Name="Кратность" Value="1"/>
<m:Property xsi:type="m:ValueObjectRef" Name="Валюта" Value="9c556d4d-720f-11df-b436-0015e92f2802" Type="Справочник.Валюты"/>
<m:Property xsi:type="m:ValueDate" Name="ДатаКурса" Value="2018-06-04T05:28:34"/>
</m:return>
</m:ExecuteMethodResponse>
</soap:Body>
</soap:Envelope>
Пример №5. Поиск номенклатуры по наименованию с помощью функции "НайтиПоНаименованию()" модуля менеджера справочника "Номенклатура".
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:brom="https://brom.itworks.group" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Header/>
<soap:Body>
<brom:ExecuteMethod>
<brom:module>Справочники.Номенклатура</brom:module>
<brom:method>НайтиПоНаименованию</brom:method>
<brom:params>
<brom:Item xsi:type="brom:ValueString" Value="Бутылка"/>
</brom:params>
</brom:ExecuteMethod>
</soap:Body>
</soap:Envelope>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<soap:Body>
<m:ExecuteMethodResponse xmlns:m="https://brom.itworks.group">
<m:return xsi:type="m:ValueObjectRef" Value="f93e112a-c83a-11e2-8026-0015e9b8c48d" Presentation="Бутылка " Type="Справочник.Номенклатура" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</m:ExecuteMethodResponse>
</soap:Body>
</soap:Envelope>