Number sequence parameter form class in D365fo x++

 Number sequence parameter form class in D365fo x++

[Form] public class DSPMPropertyParameters extends FormRun { NumberSeqReference numberSeqReference; boolean runExecuteDirect; TmpIdRef tmpIdRef; NumberSeqScope scope; NumberSeqApplicationModule numberSeqApplicationModule; container numberSequenceModules; public void init() { this.numberSeqPreInit(); super(); this.numberSeqPostInit(); } void numberSeqPreInit() { runExecuteDirect = false; numberSequenceModules = [NumberSeqModule::DSPMProperty]; numberSeqApplicationModule = new NumberSeqModuleDSProperty(); scope = NumberSeqScopeFactory::createDataAreaScope(); NumberSeqApplicationModule::createReferencesMulti(numberSequenceModules, scope); tmpIdRef.setTmpData(NumberSequenceReference::configurationKeyTableMulti(numberSequenceModules)); } void numberSeqPostInit() { numberSequenceReference_ds.object(fieldNum(NumberSequenceReference, AllowSameAs)).visible(numberSeqApplicationModule.sameAsActive()); ctrlLabelSameAs.visible(numberSeqApplicationModule.sameAsActive()); } [DataSource] class NumberSequenceReference { public void removeFilter() { runExecuteDirect = false; numbersequenceReference_ds.executeQuery(); } public void executeQuery() { if (runExecuteDirect) { super(); } else { runExecuteDirect = true; this.queryRun(NumberSeqReference::buildQueryRunMulti(numberSequenceReference, tmpIdRef, numberSequenceTable, numberSequenceModules, scope)); numbersequenceReference_ds.research(); } } public int active() { NumberSequenceDatatype numberSequenceDatatype; int ret; ret = super(); return ret; } [DataField] class NumberSequenceId { /// <summary> /// /// </summary> /// <param name = "_formReferenceControl"></param> /// <returns></returns> public Common resolveReference(FormReferenceControl _formReferenceControl) { NumberSequenceCode code = _formReferenceControl.filterValue( AbsoluteFieldBinding::construct(fieldStr(NumberSequenceTable, NumberSequence), tableStr(NumberSequenceTable))).value(); // Do not call super as we're providing our own disambiguation logic. // resolvedRecord = super(_formReferenceControl); return NumberSequenceTable::findByNaturalKey(code, scope.getId(true)); } /// <summary> /// /// </summary> /// <param name = "_formReferenceControl"></param> /// <returns></returns> public Common lookupReference(FormReferenceControl _formReferenceControl) { NumberSequenceTable selectedRecord; SysReferenceTableLookup sysTableLookup = SysReferenceTableLookup::newParameters(tableNum(NumberSequenceTable), _formReferenceControl, true); Query lookupQuery; // Do not call super as we're providing our own custom lookup logic. // selectedRecord = super(_formReferenceControl); // Display the Title and Department fields in the lookup form. sysTableLookup.addLookupfield(fieldNum(NumberSequenceTable, NumberSequence)); // Create a custom Query that filters on NumberSequenceScope. lookupQuery = new Query(); lookupQuery.addDataSource(tableNum(NumberSequenceTable)).addRange(fieldNum(NumberSequenceTable, NumberSequenceScope)).value(queryValue(scope.getId(true))); sysTableLookup.parmQuery(lookupQuery); // Return the record selected by the user. selectedRecord = sysTableLookup.performFormLookup(); return selectedRecord; } } } [Control("String")] class editTableName { public void lookup() { SysTableLookup sysTableLookup = SysTableLookup::newParameters(tablenum(SYSTABLEIDVIEW), this); Query query = new Query(); QueryBuildDataSource queryBuildDataSource; QueryBuildRange nameQBR, typeQBR; sysTableLookup.addLookupfield(fieldnum(SYSTABLEIDVIEW, SqlName)); sysTableLookup.addLookupfield(fieldnum(SYSTABLEIDVIEW, Id)); queryBuildDataSource = query.addDataSource(tablenum(SYSTABLEIDVIEW)); sysTableLookup.parmQuery(query); sysTableLookup.performFormLookup(); } } [Control("String")] class editFiledName { public void lookup() { SysTableLookup sysTableLookup = SysTableLookup::newParameters(tablenum(SysTableFieldIdView), this); Query query = new Query(); QueryBuildDataSource queryBuildDataSource; QueryBuildRange nameQBR, typeQBR; sysTableLookup.addLookupfield(fieldnum(SysTableFieldIdView, SqlName)); sysTableLookup.addLookupfield(fieldnum(SysTableFieldIdView, FieldId)); queryBuildDataSource = query.addDataSource(tablenum(SysTableFieldIdView)); queryBuildDataSource.addRange(fieldnum(SysTableFieldIdView, Id)).value(SysQuery::value(DSPMPropertyProposedChangesFields.DSTableId)); sysTableLookup.parmQuery(query); sysTableLookup.performFormLookup(); } } [Control("String")] class editTableNameNew { public void lookup() { SysTableLookup sysTableLookup = SysTableLookup::newParameters(tablenum(SYSTABLEIDVIEW), this); Query query = new Query(); QueryBuildDataSource queryBuildDataSource; QueryBuildRange nameQBR, typeQBR; sysTableLookup.addLookupfield(fieldnum(SYSTABLEIDVIEW, SqlName)); sysTableLookup.addLookupfield(fieldnum(SYSTABLEIDVIEW, Id)); queryBuildDataSource = query.addDataSource(tablenum(SYSTABLEIDVIEW)); sysTableLookup.parmQuery(query); sysTableLookup.performFormLookup(); } } }

Comments

Popular posts from this blog

D365FO – AX – X++ –Refresh, Reread, Research, and ExecuteQuery

Create Inventory Journal through Code in D365FO X++

SalesLine Reservation in D365fo x++