2018-12-04

[AX 2012] Create Default SpecQty on Product Receipt Posting Form

Table PurchParameters
PurchUpdate recommendedSpecQty(DocumentStatus _documentStatus)
{
    PurchUpdate specQty;

    switch (_documentStatus)
    {

        case DocumentStatus::Invoice :
            specQty = PurchUpdate::PackingSlip;
            break;
           
        case DocumentStatus::PackingSlip :
            specQty = PurchUpdate::ReceiveNow;
            break;


        default:
            specQty = PurchUpdate::All;
            break;
    }

    return specQty;
}
Form PurchEditLines
        if(PurchParameters::find().PromptQty)
        {
            recommendedQty = purchFormLetter.recommendedSpecQty();
            if(recommendedQty != specQty.selection())
            {
                boxFormOnceIsActive = true;

                if(documentStatus != DocumentStatus::PackingSlip)
                {

                    box = BoxFormOnce::construct();
                    box.parmDialogBoxType(DialogBoxType::YesNoBox);
                    box.parmDialogButton(DialogButton::Yes);
                    box.parmTitle("@SYS59372");
                    box.parmText(strFmt("@SYS102340", salesUpdateEnum.index2Name(specQty.selection()), salesUpdateEnum.index2Name(recommendedQty)));
                    box.parmOwner(new SysDictClass(classIdGet(purchEditLinesForm)).name());
                    if(box.prompt() == DialogButton::Yes)
                    {
                        specQty.selection(recommendedQty);
                        specQty.selectionChange();
                    }
                }
                else
                {
                    specQty.selection(recommendedQty);
                    specQty.selectionChange();
                }


                boxFormOnceIsActive = false;
            }
        }

[AX 2012] Hide Cancel Button on Dialog

void showTotals()
{
    Dialog          dlg = new Dialog("Totals");
    DialogField     rfpAmount;
    DialogField     settlAmount;
    DialogField     totalAmount;
    formBuildCommandButtonControl   cancelButton;
    ;

    rfpAmount = dlg.addFieldValue(extendedTypeStr(Amount), MIORFPTable.TotalReqAmt, "Cash Advance", "Cash Advance");
    rfpAmount.active(false);
    settlAmount = dlg.addFieldValue(extendedTypeStr(Amount), MIORFPSettlementTable.TotalSetAmt, "Actual", "Actual");
    settlAmount.active(false);
    totalAmount = dlg.addFieldValue(extendedTypeStr(Amount), MIORFPTable.TotalReqAmt - MIORFPSettlementTable.TotalSetAmt, "Settle", "Settle");
    totalAmount.active(false);

    dlg.defaultButton(DialogDefaultButton::Ok);
    dlg.alwaysOnTop(true);
    dlg.dialogForm().form().design().left(48, 4);
    dlg.dialogForm().form().design().top(240, 3);

    cancelButton = dlg.dialogForm().control("cancelButton");
    cancelButton.visible(false);

    dlg.run();
}