\Data Dictionary\Maps\CustVendTable\Methods\balanceAllCurrency()
X++:
//BP Deviation Documented
display AmountCur balanceAllCurrency(CurrencyCode _currencyCode = this.Currency)
{
...
switch (custVendTrans.TableId)
{
case tablenum(CustTrans) :
hasAccess = hasFieldAccess(tablenum(CustTrans), fieldnum(CustTrans, AmountCur), AccessType::View);
hasAccess = hasAccess && hasFieldAccess(tablenum(CustTrans), fieldnum(CustTrans, AmountMST), AccessType::View);
hasAccess = hasAccess && hasFieldAccess(tablenum(CustTrans), fieldnum(CustTrans, ExchAdjustment), AccessType::View);
break;
case tablenum(VendTrans) :
hasAccess = hasFieldAccess(tablenum(VendTrans), fieldnum(VendTrans, AmountCur), AccessType::View);
hasAccess = hasAccess && hasFieldAccess(tablenum(VendTrans), fieldnum(VendTrans, AmountMST), AccessType::View);
hasAccess = hasAccess && hasFieldAccess(tablenum(VendTrans), fieldnum(VendTrans, ExchAdjustment), AccessType::View);
break;
}
if (!hasAccess)
throw error("@SYS57330");
...
Нельзя в display-методе "0.00" вернуть, если нет доступа, вместо выброса исключения? Я уж молчу про информативность сообщения "Нет доступа".