насколько я вижу, заполняется поле тут (в дебаггере вижу что таки заполняется):
X++:
class MCRPaymentReview
{
/*...................................*/
public static boolean outOfBalance(MCRCustPaymTotals _mcrCustPaymTotals,
AmountCur _overUnderPaymAmount = 0,
AmountCur _totalSalesAmount = 0)
{
/*.....................................*/
else
{
// Update back status gets called from so many places that a new
// enum value was added so that only end order can put a
// sales order on out of balance "hold".
// So once end order validates that this is not out of balance
// make sure that it doesn't happen again unless the order
// is modified.
mcrSalesTable.OutOfBalanceReleased = MCROutOfBalanceReleaseType::Verified;
}
ttsBegin;
if (salesTable.validateWrite())
{
salesTable.mcrPackMCRSalesTable(mcrSalesTable); //<<----------------------------
salesTable.update();
}
else
{
throw error("@SYS104318");
}
ttsCommit;
return isValid;
X++:
public class SalesTable extends common
{
/*....................................*/
/// <summary>
/// Packs the retail sales table extension table into <c>MCRSalesTable</c> field.
/// </summary>
/// <param name="_mcrSalesTable">
/// Extension table to be packed.
/// </param>
public void mcrPackMCRSalesTable(MCRSalesTable _mcrSalesTable)
{
_mcrSalesTable.SalesTable = this.RecId;
this.SysExtensionSerializerMap::packExtensionTable(_mcrSalesTable);
}