Цитата:
Сообщение от
AnGor
Возникла задача - поменять пользователя, от имени которого запускается пакетное задание. Как это можно сделать?
Или надо удалить задание, зайти под нужным пользователем и создать новое пакетное задание?
Вот готовые коды методов, которые позволяют изменить имя от которого запускаются пакетные задания:
X++:
global::executeSql(strFmt("update Batch set ExecutedBy = 'вася', CreatedBy = 'вася' where recId = %1", Batch.RecId));
global::executeSql(strFmt("update BatchJob set CreatedBy = 'вася' where recId = %1", Batch.BatchJobId));
Batch и BatchJob - это журнал пакетных заданий и само пакетное задание.
где
X++:
static server void executeSql(str _sql)
{
SqlSystem sqlSystem = new SqlSystem();
Connection connection;
Statement statement;
SqlStatementExecutePermission permission;
;
connection = new Connection();
statement = connection.createStatement(ResultSetType::Dynamic, ResultSetConcurrency::Updatable);
sqlSystem = new SqlSystem();
connection.ttsbegin();
permission = new SqlStatementExecutePermission(_sql);
permission.assert();
statement.executeUpdate(_sql);
CodeAccessPermission::revertAssert();
connection.ttscommit();
}