-
Notifications
You must be signed in to change notification settings - Fork 1
Home
mazzy edited this page Jan 13, 2019
·
12 revisions
SysArgs – это набор статических методов на языке X++ для класса SysArgs в Microsoft Dynamics AX 2009, Microsoft Dynamics AX 2012 и Axapta 4.0.
Get methods возвращают требуемое значение или бросают исключение
- getCallerFormName
- getEnum
- getEnumDefault
- getMarkedRecIds
- getRecord
Check methods возвращают boolean
, не бросают исключений
- checkCallerType
- checkEnumType
- checkRecord
- checkTable
Assert methods ничего не возвращают. Бросают исключение, если в аргументах не подходящие параметры.
- assertCallerFormName
- assertCallerType
- assertEnumType
- assertFormDatasource
- assertRecord
- assertTable
reqTrans = SysArgs::getRecord(args, reqTrans.TableId);
if (args.dataset() == tablenum(ReqTrans) && args.record().RecId)
reqTrans = args.record();
else
throw error(Error::missingFormActiveBuffer(element.name()));
SysArgs::assertCallerType(args, classnum(FormRun)); // пропустит дальше, если вызвали из формы. Иначе бросит исключение.
if( SysArgs::checkRecord(args.caller().args(), tablenum(ProdTable)) )
{
...
callerForm = args.caller(); // нет проверки, что вызвали из формы
if (callerForm && callerForm.args() && callerForm.args().dataset() == tablenum(ProdTable) && callerForm.args().record().RecId)
{
...