А Ваш коллега не задумался, для чего была добавлена генерация RecId?
Просто везде после строчки:
X++:
localSalesParmTable.RecId = systemSequence.reserveValues(1, tablenum(SalesParmTable));
стоят вызовы:
X++:
AddressTrans_RU::createFromSalesParmTable(localSalesParmTable);
PlInventPackageParm::updateFromSalesParmTable(localSalesParmTable);
Для корректной работы этих методов необходимо, чтобы буфер localSalesParmTable уже содержал "реальный" RecId.
В вышеприведенных методах
SalesFormLetter_PackingSlip\chooseLinesFromWMSArrival, SalesFormLetter_Invoice\chooseLinesFromWMSShipment
эти вызовы не используются.