1

レポート ダイアログ ボックスでカスタマイズされたルックアップを実装するにはどうすればよいですか。

たとえば、レポート ダイアログに 2 つのフィールドがあるとします。1) Custgroup 2) CustAccount

最初のフィールドで特定の顧客グループを選択した場合、2 番目のフィールド ルックアップは、この顧客グループに属する顧客のみを表示する必要があります。

//class

    public class ReportRun extends ObjectRun
    {

        DialogField dialogcustGroup,dialogcustaccount ;
        CustTable  obj_CustTable ;
    }

   //dialog method
   public Object dialog(Object _dialog)
{
    DialogRunbase dialog = _dialog;
    DialogGroup     toFromGroup;
    Args _args;
    str accountnum,custGroup;
    ;
   // _args =  new Args();
   //  obj_dev_CustTable = _args.record(); 
    //accountnum = obj_dev_CustTable.AccountNum;

    dialogcustGroup = dialog.addFieldValue(extendedTypeStr(CustGroup),CustGroup,"");

    while select obj_CustTable
         where obj_CustTable.AccountNum == dialogcustGroup .value()
    {
         CID     =  obj_dev_CustTable.CID;
     dialogcustaccount =dialog.addFieldValue(ExtendedTypeStr(AccountNum),accountnum,"CID");
    }


    return dialog;
}  

どんな助けでも素晴らしいでしょう!!!!

4

3 に答える 3

0

pack 、 unpack 、 main メソッドなどのいくつかのメソッドを宣言する必要があります

于 2013-01-24T21:50:27.567 に答える
0
     public class CustAmountCalculation extends RunBase
{
    DialogField fieldAccount;
    CustAccount custAccount;

}

    public Object dialog()
{

    Dialog dialog;
    DialogGroup groupCustomer;
    dialog = super();
    fieldAccount = dialog.addField(extendedTypeStr(custAccount), "CustomerAccount");
    return dialog;
}

    public boolean getFromDialog()
{
    custAccount = fieldAccount.value();
    return super();
}

    public container pack()
{
    return conNull();
}


    public void run()
{
    CustTable custTable;
    CustTrans custTrans;
    ;

    select sum(AmountMST) from custTrans where custTrans.AccountNum == custAccount;
    info("You have enetered customer information");
    info(strfmt("Account: %1", custAccount));
    info(strFmt("Amount: %1", custTrans.AmountMST));
}

    public boolean unpack(container _packedClass)
{
    return true;
}

    public static void main(Args _args)
{
    CustAmountCalculation custAmountCalculation = new CustAmountCalculation();
    if (CustAmountCalculation.prompt())
    {
        CustAmountCalculation.run();
    }
}
于 2013-12-09T14:03:25.697 に答える