如何使用 DimensionDynamicAccountController 按帐户类型创建查找?

How to Create Lookup by Account Type using DimensionDynamicAccountController?

我有问题。 我的新 table 有两个新字段

1) 名称 -> AccountNum,EDT--> DimensionDynamicAccount

2) 名称 -> AccountType,EDT--> LedgerJournalACType

class声明

:

public class FormRun extends ObjectRun
{
    DimensionDynamicAccountController dimAccountController;
}

初始化(用于表格):

public void init()
{
   super();
   dimAccountController = DimensionDynamicAccountController::construct(
   MyTable_ds,
   fieldstr(MyTable, LedgerDimension),
   fieldstr(MyTable, AccountType));
}

4。在窗体设计中的 Segmented Entry 控件实例上重写以下方法。

public void jumpRef()
{
    dimAccountController.jumpRef();
}

public void loadAutoCompleteData(LoadAutoCompleteDataEventArgs _e)
{
    super(_e);
    dimAccountController.loadAutoCompleteData(_e);
}

public void segmentValueChanged(SegmentValueChangedEventArgs _e)
{
    super(_e);
    dimAccountController.segmentValueChanged(_e);
}

public void loadSegments()
{ 
   super();
   dimAccountController.parmControl(this);
   dimAccountController.loadSegments();
}

public boolean validate()
{
    boolean isValid;
    isValid = super();
    isValid = dimAccountController.validate() && isValid;
    return isValid;
}

5。在支持 Segmented Entry 控件的数据源字段上重写以下方法。

public Common resolveReference(FormReferenceControl _formReferenceControl)
{
   return dimAccountController.resolveReference();
}

现在我的问题是 Lookup 仅适用于 AccountType=="Ledger" 不适用于客户、供应商等...

如果我有一个 AccountType == Vendor 或类似但与 Ledger 不同的我会看到这个

我想要 LedgerJournalTrans 表单中的相同内容

有解决办法,

谢谢大家,

享受

这可能太明显了,但我认为您错过了 lookup() 方法。

参见:

\Forms\LedgerJournalTransDaily\Designs\Design\[Tab:Tab]\[TabPage:OverViewTab]\[Grid:overviewGrid]\SegmentedEntry:LedgerJournalTrans_AccountNum\Methods\lookup

public void lookup()
{
    if (!ledgerJournalEngine.accountNumLookup(ledgerJournalTrans_AccountNum,
                                                ledgerJournalTrans,
                                                ledgerJournalTrans.OffsetAccountType,
                                                ledgerJournalTrans.parmOffsetAccount(),
                                                ledgerJournalTrans_Asset))
    {
        super();
    }
}