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
Post a Comment