Показать сообщение отдельно
Старый 18.09.2020, 00:29   #3  
alicedr is offline
alicedr
Участник
 
173 / 43 (2) +++
Регистрация: 06.07.2012
Адрес: Канада
Походу, не только это.
Важно чтобы параметры методы были контейнером, и возвращаемое значение тоже.
Надеюсь, кому-то мой пример поможет.

X++:
                    RunAsPermission perm = new RunAsPermission(dataContract.userId());
                    perm.assert();
                    [returnValue] = runAs(dataContract.userId(), 
						classNum(GatewayTrans), 
                                                staticMethodStr(GatewayTrans,processAs),
                        [dataContract.Id(),
			dataContract.CustAccount(),
			dataContract.transDate(),
			dataContract.revRecContractStartDate(),
			dataContract.userId(),
			dataContract.allCompanies(),
			dataContract.process()]
			);
     
                    CodeAccessPermission::revertAssert();
X++:
class GatewayTrans
{   
    public static /*server*/ Container processAs(container args)
    {
        CustomId    _Id;
        CustAccount	_CustAccount;
        TransDate   _transDate;
        TransDate   _revRecContractStartDate;
        UserId      _userId;
        boolean     _allCompanies;
        boolean     _process;

        [_Id,_CustAccount, _transDate,_revRecContractStartDate,_userId,_allCompanies,_process] = args;
За это сообщение автора поблагодарили: trud (5), sukhanchik (5).