Open Sales Order Clouse Custom Form in Ax 2012 X++
Form Methods:
public class FormRun extends ObjectRun
{
QueryBuildRange headerVoided;
QueryBuildRange headerType;
QueryBuildRange headerProjId;
QueryBuildRange lineVoided;
TransDate toDate;
InventDimCtrl_Frm_Mov inventDimFormSetup;
SalesLine salesLinelocal;
}
void checkSelectAllBox()
{
;
if(!Salesline_CheckSelected.Value())
{
SelectAll.checked(False);
}
}
public Common docCursor()
{
Common docCursor;
docCursor = super();
if (docCursor.TableId == tablenum(InventDim))
{
docCursor = salesLine;
}
return docCursor;
}
void init()
{
super();
toDate = mkDate(1, (mthOfYr(systemDateget())), year(systemDateget()));
salesTable_ds.query().dataSourceTable(tablenum(SalesTable)).addRange(fieldnum(SalesTable, SalesStatus)).value(queryValue(SalesStatus::Backorder));
salesLine_ds.query().dataSourceTable(tablenum(SalesLine)).addRange(fieldnum(SalesLine, SalesType)).value(queryValue(SalesType::ReturnItem));
salesLine_ds.query().dataSourceTable(tablenum(SalesLine)).addRange(fieldnum(SalesLine, SalesType)).value(queryValue(SalesType::Sales));
salesLine_ds.query().dataSourceTable(tablenum(SalesLine)).addRange(fieldnum(SalesLine, SalesType)).value(queryValue(SalesType::Subscription));
salesLine_ds.query().dataSourceTable(tablenum(SalesLine)).addRange(fieldnum(SalesLine, SalesStatus)).value(queryValue(SalesStatus::Backorder));
//salesLine_ds.query().dataSourceTable(tablenum(SalesLine)).addRange(fieldnum(SalesLine, ConfirmedDlv)).value(queryValue(strFmt("<%1", toDate)));
element.updateDesign(InventDimFormDesignUpdate::Init);
if (element.args().record())
{
salesLine_ds.object(fieldnum(SalesLine, CustAccount)).visible(False);
}
}
Object inventDimSetupObject()
{
return inventDimFormSetup;
}
void selectAllRecord()
{
SalesIdBase salesIdBase;
LineNum lineNumberLoc;
;
ttsbegin;
for (salesLineLocal = SalesLine_ds.getFirst(); salesLineLocal != null; salesLineLocal = salesLine_ds.getNext())
{
salesIdBase = salesLineLocal.SalesId;
lineNumberLoc = salesLinelocal.LineNum;
salesLinelocal = SalesLine::find(salesIdBase, lineNumberLoc);
salesLinelocal.selectForUpdate(true);
if (SelectAll.value() == NoYes::Yes)
{
salesLinelocal.CheckSelected = NoYes::Yes;
}
else
{
salesLinelocal.CheckSelected = NoYes::No;
}
salesLinelocal.Update();
}
ttscommit;
}
void updateDesign(InventDimFormDesignUpdate mode)
{
InventMovement movement = InventMovement::construct(salesLine);
switch (mode)
{
case InventDimFormDesignUpdate::Init :
if (!inventDimFormSetup)
{
inventDimFormSetup = InventDimCtrl_Frm_Mov::newFromFormMovement(element, movement);
}
case InventDimFormDesignUpdate::Active :
// inventDimFormSetup.formActiveSetup(movement.inventTable().DimGroupId,movement);
inventDimFormSetup.formSetControls(true);
break;
case InventDimFormDesignUpdate::FieldChange :
// inventDimFormSetup.formActiveSetup(movement.inventTable().DimGroupId,movement);
inventDimFormSetup.formSetControls(false);
break;
default : throw error(strfmt("@SYS54195",funcname()));
}
}
void updateSelectedRecord()
{
DialogButton dialogButton;
int countSelected;
;
dialogButton = box::yesNo("Do you want to short close deliver remainders for the selected lines", dialogButton::Yes, "@SYS116321");
if (dialogButton == dialogButton::Yes)
{
ttsbegin;
for (salesLineLocal = salesLine_ds.getFirst(); salesLineLocal != null ;salesLineLocal = salesLine_ds.getNext())
{
if (salesLineLocal.CheckSelected == NoYes::Yes)
{
salesLinelocal = SalesLine::find(salesLinelocal.SalesId, salesLinelocal.LineNum);
salesLinelocal.selectForUpdate(true);
salesLinelocal.RemainSalesPhysical = 0;
salesLinelocal.RemainInventPhysical = 0;
salesLinelocal.CheckSelected = NoYes::No;
salesLinelocal.Update();
countSelected++;
}
}
ttscommit;
if (countSelected)
{
info(strfmt("%1 seleted rows updated",countSelected));
}
else
{
info(strfmt("No rows were selected"));
}
}
}
FormDataSource salesTable_ds()
{
return salesTable_ds;
}
public void modified()
{
super();
element.checkSelectAllBox();
}
public void clicked()
{
super();
element.selectAllRecord();
SalesLine_ds.reread();
SalesLine_ds.research();
SalesLine_ds.refresh();
}
void clicked()
{
super();
element.updateSelectedRecord();
SalesLine_ds.reread();
SalesLine_ds.research();
SalesLine_ds.refresh();
}
No comments:
Post a Comment