0

ここにいる誰かが Epicor 9 でのカスタマイズの作成に精通していることを願っています。私はこれを Epicor フォーラムにも投稿しましたが、残念ながらそのフォーラムはかなり死んでいるようです。私が得ることができるどんな助けでも大歓迎です。

注文に関する追加情報を表示および保存するために、注文入力フォームをカスタマイズしました。そのような分野の 1 つが、建築家の仕事です。AR の GroupCode を使用して、アーキテクトを顧客テーブルに保存し、通常の顧客と区別します。顧客検索ダイアログを起動し、結果をフィルタリングしてアーキテクト (GroupCode AR を持つアーキテクト) のみを表示するボタンを追加することに成功しました。ここで問題が発生します。2 つの質問があります。

1: 顧客検索では、顧客の値がデフォルトの顧客タイプ フィールドがあります。その他の選択肢は、< all>、Suspect、または Prospect です。検索フォームのデフォルトを < all> にするにはどうすればよいですか?

2: 検索ダイアログで選択したアーキテクト (顧客) を取得し、その CustID を注文入力カスタマイズの ShortChar01 フィールドに入力するにはどうすればよいですか? ここに私が持っているコードがあります:

private void SearchOnCustomerAdapterShowDialog()
{
    // Wizard Generated Search Method
    // You will need to call this method from another method in custom code
    // For example, [Form]_Load or [Button]_Click

    bool recSelected;
    //string whereClause = string.Empty;
    string whereClause = "GroupCode = 'AR'";
    System.Data.DataSet dsCustomerAdapter = Epicor.Mfg.UI.FormFunctions.SearchFunctions.listLookup(this.oTrans, "CustomerAdapter", out recSelected, true, whereClause);
    if (recSelected)
    {
        System.Data.DataRow adapterRow = dsCustomerAdapter.Tables[0].Rows[0];

        // Map Search Fields to Application Fields
        EpiDataView edvOrderHed = ((EpiDataView)(this.oTrans.EpiDataViews["OrderHed"]));
        System.Data.DataRow edvOrderHedRow = edvOrderHed.CurrentDataRow;
        if ((edvOrderHedRow != null))
        {
            edvOrderHedRow.BeginEdit();
            edvOrderHedRow["ShortChar01"] = adapterRow["CustID"];
            edvOrderHedRow.EndEdit();
        }
    }
}

レコードを選択して [OK] をクリックすると、未処理の例外が発生します。

4

1 に答える 1

0

あなたが抱えている/抱えていた問題は、CustNum を最初に販売注文に追加していないことだと思います。私の考えでは、最初にこの方法で実行しますが、すべてのデフォルトが正しいことを確認するために呼び出すことができる oTrans の ChangeCustomer BO メソッドが存在する可能性があります。

EpiDataView edvOrderHed = ((EpiDataView)(this.oTrans.EpiDataViews["OrderHed"]));
if (edvOrderHed.HasRow)
    {

        edvOrderHed[edvOrderHed.Row].BeginEdit();
        edvOrderHed[edvOrderHed.Row]["CustNum"] = adapterRow["CustNum"];
        edvOrderHed[edvOrderHed.Row]["ShortChar01"] = adapterRow["CustID"];
        edvOrderHed[edvOrderHed.Row].EndEdit();
    }

遅くても参考になれば幸いです。

于 2014-05-28T16:33:11.187 に答える