Показать сообщение отдельно
Старый 25.02.2015, 14:48   #5  
pedrozzz is offline
pedrozzz
Молодой, подающий надежды
Аватар для pedrozzz
MCBMSS
Лучший по профессии 2015
 
164 / 218 (8) ++++++
Регистрация: 18.02.2010
Адрес: Краснодар
Цитата:
Сообщение от dech Посмотреть сообщение
По-видимому, у вас джоб. А джобы всегда выполняются на клиенте, независимо от того, что вы указали модификатор server. Самое простое - сделайте статический метод класса, отрабатывающий на сервере:
Самое простое - написать в джобе
X++:
static void jobOnServer(Args _args)
{
    MenuFunction                            menuFunction;

    if (! isRunningOnServer())
    {
        menuFunction = ClassFactory::makeObjectOnServer(classNum(MenuFunction));
        menuFunction.objectType(MenuItemObjectType::Job);
        menuFunction.object(funcname());
        menuFunction.runOn(2);
        menuFunction.run();

        return;
    }

    info("Дальше любой код, который хотите выполнять на сервере");
}
При этом, насколько помню, funcname() возвращает имя джоба только в 2012, в более ранних версиях приходилось в ручную указывать имя и при неосторожной копипасте можно случайно запустить совсем другой джоб
__________________
Кононов Пётр
За это сообщение автора поблагодарили: A_BAS (1), coolibin (2), Kabardian (3), Ace of Database (3), gl00mie (1), sukhanchik (2), Hyper (1), Perc (1).