1. Stop AOS.
2. Delete the .auc file from users\
3. Restart AOS.
This blog is about daily challenges we normally faced in Dynamics 365 and Dynamics AX development.
public static void doLookup(TableId _tableId,
Container _lookupFields,
Container _sortFields,
FormStringControl _control,
FieldId _returnItemFieldNum,
Map _queryRanges = null,
Boolean _useTmpTable = false,
Common _tmpBuffer = null
)
{
SysTableLookup sysTableLookup = SysTableLookup::newParameters(_tableId, _control);
Query query = new Query();
QueryBuildDataSource qbds;
int i;
fieldId lookupFieldId;
;
for(i=1;i <= conlen(_lookupFields);i++)
{
lookupFieldId = conPeek(_lookupFields, i);
if(lookupFieldId == _returnItemFieldNum)
sysTableLookup.addLookupfield(lookupFieldId, true);
else
sysTableLookup.addLookupfield(lookupFieldId);
}
qbds = query.addDataSource(_tableId);
for(i=1;i <= conlen(_sortFields);i++)
{
qbds.addSortField(conPeek(_sortFields, i));
}
if(_queryRanges)
{
rangeEnumerator = _queryRanges.getEnumerator();
while (rangeEnumerator.moveNext())
{
qbds.addRange(rangeEnumerator.currentKey()).value(any2Str(rangeEnumerator.currentValue()));
}
}
if(_useTmpTable)
sysTableLookup.parmTmpBuffer(_tmpBuffer);
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
}
public void lookup()
{
Container fieldNums = [FieldNum(CustTable, AccountNum), FieldNum(CustTable, Name)];
Container sortFields = [FieldNum(CustTable, AccountNum)];
FieldId returnFieldId = FieldNum(CustTable, AccountNum);
Map queryRanges = new Map(Types::Integer, Types::String);
;
queryRanges.insert(FieldNum(CustTable, AccountNum), '4000');
LIBSysTableLookup::doLookup(TableNum(CustTable), fieldNums, sortFields, this, returnFieldId, queryRanges);
}
Container fieldNums = [FieldNum(TmpIdRef, Name), FieldNum(TmpIdRef, HelpTxt)];
Container sortFields = [FieldNum(TmpIdRef, Name)];
FieldId returnFieldId = ConPeek(fieldNums, 1);
TmpIdRef tmpTable;
;
tmpTable = LIBDifferenceAction::BuildActionClassList();
XYZSysTableLookup::doLookup(TableNum(TmpIdRef), fieldNums, sortFields, this, returnFieldId, true, tmpTable);