Цитата:
Сообщение от
ZVV
Но для временных таблиц можно (и часто нужно) сделать свою транзакцию посредством вызовов соответсвующих методов на табличном буффере.
X++:
static void TmpTableTTSTest(Args _args)
{
TmpABC tmpABC;
;
try
{
tmpABC.ttsbegin();
tmpABC.ItemId = "Test1";
tmpABC.RefRecId = 1;
tmpABC.insert();
tmpABC.ItemId = "Test2";
tmpABC.RefRecId = 2;
tmpABC.insert();
while select forupdate tmpABC
{
tmpABC.ItemId = tmpABC.ItemId + "upd";
tmpABC.update();
}
throw error("Throw");
tmpABC.ttscommit();
}
catch
{
while select tmpABC
{
info(tmpABC.ItemId);
}
}
}
Результат:
Throw
Test1upd
Test2upd
Я как-то не так юзаю соответствующие методы табличного буфера?
upd: Ну да, с ручным абортом работает, но только это не совсем то.