Цитата:
Сообщение от
Corel
Попробовал - не то, т.к. в таком случае отменяются и транзакции, создаваемые обработкой (для записи в журнал).
Здесь лучше использовать класс UserConnetion. Он создает отдельное подключение к БД, и тогда данная схема сработает
X++:
Connection con = new UserConnection();
ttsbegin;
con.ttsbegin();
//SQL запрос
...
//SQL запрос
//Обработка в Аксапте
...
//Обработка в Аксапте
con.ttsabort();
ttscommit;
Только тут нужно будет ещё сделать блок try/catch, чтобы в случае ошибки в catch'е вызвать con.ttsabort().
Цитата:
Сообщение от
Corel
То есть, тут смысл такой: запросом к SQL создаются записи в таблице блокировок, чтоб аналогичные одновременно работающие обработки не мешали друг другу, создаются строки журнала, после чего идёт откат транзакции по таблице блокировок.
А из Аксапты доступа к данной таблице нет? Ведь гораздо будет проще в конце операции просто удалять нужную запись из LocksTable.