Экспортная функция становится методом собственного объекта

Учебные задачи

Внешний модуль вызывает функцию объекта обработки через точку. Экспорт открывает доступ, но не создает сетевой сервис.

Где и как запускать

Серверный общий модуль и модуль объекта собственной обработки.

Подготовка

  1. В модуле объекта своей обработки УчебныйРасчет разместите исходную экспортную функцию из отдельного блока ниже.

  2. Основной блок поместите в свой серверный общий модуль без привилегированного режима. Вызовите его экспортную процедуру из собственной серверной команды.

Процедура ПроверитьУчебныйКонтекст() Экспорт
    Расчет = Обработки.УчебныйРасчет.Создать();
    Сумма = Расчет.РассчитатьУчебнуюСумму(250, 4);
    Сообщить("Результат метода объекта: " + Строка(Сумма));
КонецПроцедуры
Исходный модуль объекта УчебныйРасчет

Исходная учебная конфигурация → Обработки → УчебныйРасчет → Модуль объекта

Серверный модуль собственного объекта; это исходный код, не модуль расширения.

Функция РассчитатьУчебнуюСумму(Цена, Количество) Экспорт
    Возврат Цена * Количество;
КонецФункции

Разбор по шагам

  1. Объявите функцию в модуле объекта, а не формы.

  2. Создайте настоящий объект обработки.

  3. Вызовите экспортный метод и используйте возвращенное число.

Как проверить результат

  1. Результат 1000 приходит из метода объекта.

  2. После удаления Экспорт внешний вызов становится недоступен.

Ожидаемый результат

Наглядное дополнение контекста своего объекта экспортным методом.

На что обратить внимание

  1. Объект, форма и общий модуль имеют разные контексты. Экспорт не делает серверную функцию клиентской и не заменяет настройку доступности модуля.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.