class DTProductionOrderCustomisation_EventHandler
{
public static SysLookupMultiSelectCtrl msCtrl;
// <summary>
/// Building the DocuType query
// </summary>
/// returns the Docutype Query
public static Query buildDocuTypeQuery()
{
Query docuTypeQry = new Query(queryStr(DTProductionOrderForSalesIdQue));
return docuTypeQry;
}
Public static SysLookupMultiSelectCtrl parmSysLookupMultiSelectCtrl(SysLookupMultiSelectCtrl _msCtrl = msCtrl)
{
msCtrl = _msCtrl;
return msCtrl;
}
Public static container getSelectedNotes(str _noteStr)
{
SalesTable salesTable;
container tmpValues, conIds, conName;
int idx;
if(_noteStr)
{
tmpValues = str2con(_noteStr, ';');
}
for(idx=1; idx<=conLen(tmpValues); idx++)
{
salesTable = salesTable::find(conPeek(tmpValues, idx));
conIds += salesTable.RecId;
conName += salesTable.SalesId;
}
return [conIds, conName, conIds];
}
// <summary>
// </summary>
// <param name="sender"></param>
// <param name="e"></param>
[FormDataFieldEventHandler(formDataFieldStr(ProdTableCreate, ProdTable, DTSalesId), FormDataFieldEventType::Modified)]
public static void DTSalesId_OnModified(FormDataObject sender, FormDataFieldEventArgs e)
{
SysLookupMultiSelectCtrl msCtrlloc = DTProductionOrderCustomisation_EventHandler::parmSysLookupMultiSelectCtrl();
FormRun formRun = sender.datasource().formRun();
ProdTable prodTable = formRun.dataSource(FormDataSourceStr(ProdTableCreate, ProdTable)).cursor() as ProdTable;
ProdTable.DTSalesId = con2Str(msCtrlloc.getSelectedFieldValues(), ';');
}
//<summary>
//</summary>
//<param name="sender"></param>
//<param name="e"></param>
[FormEventHandler(formStr(ProdTableCreate), FormEventType::Initialized)]
public static void ProdTableCreate_OnInitialized(xFormRun sender, FormEventArgs e)
{
FormRun formRun = sender.datasource().formRun();
Query docuTypeQry = DTProductionOrderCustomisation_EventHandler::buildDocuTypeQuery();
FormStringControl DocuTypes = formRun.design().controlName('ProdTable_DTSalesId');
ProdTable prodTable = formRun.dataSource(FormDataSourceStr(ProdTableCreate, ProdTable)).cursor() as ProdTable;
msCtrl = SysLookupMultiSelectCtrl::construct(formRun,
DocuTypes,
querystr(DTProductionOrderForSalesIdQue),
false,
[tableNum(ProdTable), fieldNum(ProdTable,DTSalesId)]);
msCtrl.refreshQuery(docuTypeQry);
msCtrl.set(DTProductionOrderCustomisation_EventHandler::getSelectedNotes(ProdTable.DTSalesId));
DTProductionOrderCustomisation_EventHandler::parmSysLookupMultiSelectCtrl(msCtrl);
}
}
[ExtensionOf(formstr(ProdTableCreate))]
final class DTProdTableCreate_ProductionOrderDetails_Extension
{
public static SysLookupMultiSelectCtrl msCtrl;
/// <summary>
/// Building the DocuType query
/// </summary>
/// returns the Docutype Query
public Query buildDocuTypeQuery()
{
Query docuTypeQry = new Query(queryStr(DTProductionOrderForSalesIdQue));
return docuTypeQry;
}
Public static SysLookupMultiSelectCtrl parmSysLookupMultiSelectCtrl(SysLookupMultiSelectCtrl _msCtrl = msCtrl)
{
msCtrl = _msCtrl;
return msCtrl;
}
container getSelectedNotes(str _noteStr)
{
SalesTable salesTable;
container tmpValues, conIds, conName;
int idx;
if(_noteStr)
{
tmpValues = str2con(_noteStr, ';');
}
for(idx=1; idx<=conLen(tmpValues); idx++)
{
salesTable = salesTable::find(conPeek(tmpValues, idx));
conIds += salesTable.RecId;
conName += salesTable.SalesId;
}
return [conIds, conName, conIds];
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
[FormDataFieldEventHandler(formDataFieldStr(ProdTableCreate, ProdTable, DTSalesId), FormDataFieldEventType::Modified)]
public static void DTSalesId_OnModified(FormDataObject sender, FormDataFieldEventArgs e)
{
SysLookupMultiSelectCtrl msCtrl = DTProdTableCreate_ProductionOrderDetails_Extension::parmSysLookupMultiSelectCtrl();
FormRun formRun = sender.datasource().formRun();
ProdTable prodTable = formRun.dataSource(FormDataSourceStr(ProdTableCreate, ProdTable)).cursor() as ProdTable;
ProdTable.DTSalesId = con2Str(msCtrl.getSelectedFieldValues(), ';');
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
[FormEventHandler(formStr(ProdTableCreate), FormEventType::Initialized)]
public static void ProdTableCreate_OnInitialized(xFormRun sender, FormEventArgs e)
{
FormRun formRun = sender.datasource().formRun();
Query docuTypeQry = formRun.buildDocuTypeQuery();
FormStringControl DocuTypes = formRun.design().controlName('ProdTable_DTSalesId');
ProdTable prodTable = formRun.dataSource(FormDataSourceStr(ProdTableCreate, ProdTable)).cursor() as ProdTable;
msCtrl = SysLookupMultiSelectCtrl::construct(formRun,
DocuTypes,
querystr(DTProductionOrderForSalesIdQue),
false,
[tableNum(ProdTable), fieldNum(ProdTable,DTSalesId)]);
msCtrl.refreshQuery(docuTypeQry);
msCtrl.set(formRun.getSelectedNotes(ProdTable.DTSalesId));
ProdTableCreate::parmSysLookupMultiSelectCtrl(msCtrl);
}
}
public static SysLookupMultiSelectCtrl msCtrl;
Stay up to date on forum activity by subscribing. You can also customize your in-app and email Notification settings across all subscriptions.
Andre Arnaud de Cal... 283,375 Super User
Martin Dráb 223,308 Super User
nmaenpaa 101,140