Кто ж вас так код форматировать учил?
Попробуйте
X++:
while select forUpdate custTrans
where custTrans.Invoice
{
}
раз вы всеравно их обьновляете все.
AX нужно RecVersion, без него она не может понять обновляете ли вы то что выбрали ранее, а вы его не выбираете...