...

Глобальный модуль и портлеты в СЕ

Тема в разделе "Вопросы по функционалу", создана пользователем Dmitriy Smirnov, 19 май 2021.

  1. Dmitriy Smirnov

    Dmitriy Smirnov New Member

    Коллеги, подскажите такой момент

    Есть глобальный модуль (дизайнер - сценарии - глобальные модули) и методы (public static), определенные там, успешно вызываются из сценариев процессов, но при попытке подключения этого же глобального модуля в портлете натыкаюсь на исключение "The type or namespace name 'CommonFunc' could not be found (are you missing a using directive or an assembly reference?)".
    Это какое-то явное ограничение СЕ? Баг? Или ошибка использования?
    Попробовал подключить модуль скрипта процесса в портлет, но там аналогичные ошибки "could not be found".

    В более общем случае надо следующее: из нескольких портлетов вызвать единый серверный код. Это может быть как некий глобальный модуль, так и допустим вызов метода у како-либо пользовательского объекта.
    Как быть?
     
  2. Здравствуй.

    А ссылка на сборку добавлена? Через using определен глобальный модуль?
     
  3. Dmitriy Smirnov

    Dmitriy Smirnov New Member

    Да, конечно
     
  4. Попробуй через новый экземпляр класса вызвать

    var kek = new Fail();
    context.Str2= kek.asdf(context.Str2);

    где
    kek - новый экземляр
    Fail() - класс в глобальном модуле где функция
    asdf(<string>) - функция в классе Fail()

    я у себя проверил - работает такой вариант, если не работает надо копать код, проверять верно ли юзинги цепляет тд. Версия 3.15.12 кажется, ну последняя.
     
  5. Dmitriy Smirnov

    Dmitriy Smirnov New Member

    Тут до экземпляра класса дело даже не доходит. В портлете вываливается еще на этапе подключения модуля:
    upload_2021-8-16_10-30-44.png

    При этом, из модулей процессов всё проходит успешно (с добавлением модуля в ссылки)
    upload_2021-8-16_10-32-20.png
     
  6. А автокомплит кода вообще видит эти функции глобального модуля?
     
  7. Dmitriy Smirnov

    Dmitriy Smirnov New Member

     

Поделиться: