Может так сойдет?
X++:
Set updated = new Set(Types::Int64);
While select from tmpTable1
Join forUpdate Table1 where Table1.Id like tmpTable1.Mask
{
if (!updated.in(Table1.RecID))
{
Table1.Amount += tmpTable1.addAmount;
Table1.update();
updated.add(Table1.RecID)
}
}