Показать сообщение отдельно
Старый 20.11.2009, 00:47   #5  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
674 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
столкнулся с точно такой же проблемой.

если в методе класса BatchRun

X++:
    if (batchClass.runsImpersonated())
        {
            // Ok to assert here because the user name comes from
            // the batch table
            runAsPermission = new RunAsPermission(batch.CreatedBy);
            runAsPermission.assert();
            // BP Deviation Documented
            runas(batch.CreatedBy,
                classnum(BatchRun),
                staticmethodstr(BatchRun, runJobStatic),
                [batchId]);

            CodeAccessPermission::revertAssert();
        }
        else
        {
            BatchRun::runJobStatic([batchId]);
        }
сделать так, чтоб переходили на ветку else, то в её недрах виден некий лишенец в поле Event.UserId, из-за которого и происходит исключительная ситуация.

проблему поборол очисткой таблицы EventCUD, но какая связь между ид пользователя, породившим событие и пакетной обработкой, я так и не понял.
__________________
Felix nihil admirari