D365勉強メモ 仕入先トランザクションのデータ参数

買掛金管理>仕入先>すべての仕入先 画面のデータ配置により、仕入トランザクションの支払方法、レート、仕入先、債務勘定方法が決めます。

■支払方法

 すべての仕入先 画面>支払タブ>支払方法 の変更により、仕入トランザクションの支払方法が変更できます。

■レート

 すべての仕入先 画面>購買に関する顧客情報タブ>通貨 の変更により、仕入トランザクションの為替レートが変更できます。

仕入

 すべての仕入先 画面>財務分析コードタブ>仕入先 の変更により、仕入トランザクション仕入先が変更できます。

■債務勘定方法

 すべての発注書 画面>設定タブ>転記プロファイル の変更により、仕入トランザクションの債務勘定方法が変更できます。

D365勉強メモ 発注書データの作り方

■すべての発注書 画面にて新規

 ※すべての仕入先>発注書の既定値 タブにおける 発注書の変更管理>上書きの設定、発注書ごとの設定の上書き許可の2つ項目が「はい」と選択されることが前提です。

①メニューボタンの新規にて、発注書の作成ダイアログを開く

仕入先、サイト、倉庫、通貨、及び購入担当グループを入力して保存する

③購入タブ>アクション>確定 押下にて、発注書を確認する

 (購入タブ>仕訳帳>確認済みの発注書 が作成する)

④入庫タブ>生成>入庫リスト 押下にて、品目の入庫を行う。

 (入庫タブ>仕訳帳>入庫リスト が作成する)

⑤入庫タブ>生成>製品受領書 押下にて、製品受領番号を入力して製品を受領する。

 (入庫タブ>仕訳帳>製品受領書 が作成する)

⑥請求書タブ>生成>請求書 押下にて、請求書番号を入力して、受領数量を変更して、照合状態の更新を行って、請求書を転記する。

 (請求書タブ>仕訳帳>請求書 が作成する)

⑦一般会計>定期処理のタスク>未転送の補助元帳仕訳 にて、請求書を今すぐ転送する

 

■販売注文から発注書を生成する

 買掛金管理>発注書>すべての発注書 の発注書タブ>新規>販売注文から 押下にて、発注書を生成する場合、生成対象の販売注文を選択してから、「■すべての発注書 画面にて新規」の③以降の操作を参照してください。

 

■計画オーダー 画面にて確定

 ※マスター プラン > 設定 > マスター プランのパラメーター > すべての計画プロセスの無効化 が いいえ に設定されるのが前提
①マスタープラン>マスタープラン>計画オーダー の計画オーダー画面を開く。

②メニューボタンの新規にて、新しい計画オーダーダイアログを開く

③品目番号、サイト、倉庫、要求数量、及び仕入先を入力して、保存する

④計画オーダー 画面のメニューボタンにて、承認、確定してから、発注書が作成される。

⑤次は発注書の操作で、「■すべての発注書 画面にて新規」の③以降の操作を参照してください

 

D365勉強メモ checkBox複数選択可能の実装

class batchClass extends RunBaseBatch
{

public void dialog()
    {

       DialogRunbase dialog = super();


      // 顧客ID
        tstCustIDField = this.bindInfo().getDialogField(contract, methodStr( batchClass , valCustID));
        tstCustIDField.control().width(400);

        tstCustIDField.registerOverrideMethod(methodStr(FormStringControl, lookup), methodStr(batchClass, custLookup), this);
        tstCustIDField.control().ReplaceOnLookup(false);
    }

 

    public void getFromDialog()
    {

       boolean ret;

        ret = super();

        if (ret)
        {
            valCustID= dialogCustID.value();

        } 

    }

    [Replaceable]
    public void custLookup(FormStringControl _control)
    {
        SysTableLookup lookup = SysTableLookup::newParameters(TableNum(CustTable), _control);
        lookup.addLookupfield(fieldNum(CustTable, AccountNum));
        lookup.addLookupfield(fieldNum(CustTable, Party));
        lookup.performFormLookup();
    }

}

D365勉強メモ 仕入先トランザクション.転記プロファイルに紐づく勘定の取得方法

一般会計で、仕入トランザクション.転記プロファイルに紐づく勘定を実装する場合、以下のように実装します。

LedgerDimensionDefaultAccount       fromLedgerDimension;
fromLedgerDimension     = VendLedgerAccounts::summaryLedgerDimension(vendTrans.AccountNum, vendTrans.PostingProfile);

 

・メイン勘定コードを取得するする場合:

MainAccount::findByLedgerDimension(仕入トランザクション.転記プロファイル).MainAccountId;

・すべての勘定コードを取得するする場合:
DimensionAttributeValueCombination::find(仕入トランザクション.転記プロファイル).DisplayValue;

D365勉強メモ DimensionAttributeValueSet(分析コード セット)からValue取得の方法

D365で、常にオブジェクト::find()で項目の値を取得しますけど、  DimensionAttributeValueSet(分析コード セット)から項目のバリューを取得する場合、以下のコードで取得します。    

  DictTable   dictTable;
        DimensionAttribute  DAVend = DimensionAttribute::findByName("Vend");

        dictTable = new DictTable(tableNum(DimensionAttributeValueSet));
        int fieldCnt = dictTable.fieldCnt(TableScope::IncludeBaseTables);

        for (int i = 1; i<= fieldCnt; i++)
        {
            fieldId fieldId = dictTable.fieldCnt2Id(i, TableScope::IncludeBaseTables);
            DictField dictField = new dictField(dictTable.id(), fieldId);
            if (dictField)
            {
                switch (dictField.label())
                {
                    case DAVend.Name :
                        qbdsDDSet.addRange(fieldId).value("V01..V12");
                        break;
                }
            }
        }

D365勉強メモ Delete actions missing in table2 which is related to table1 with relation name fieldsの対策

リレーション付きのデータソースをコンパイルする場合、「Delete actions missing in table2 which is related to table1 with relation name  fields」というワーニングしたら、子孫テーブルの「Relation」アイテムの「on Delete」というプロパティを設定してから、ワーニングが解消できます。
「on Delete」プロパティ:

casCade:確認なしで親子孫のデータが削除されます。

・Restricted:確認メッセージ「はい」の場合、親子孫のデータが削除されます。

・casCadeRestricted:子テーブルが「casCade」だったら、孫テーブルが「casCadeRestricted」を指定とかの例。。

D365勉強メモ タブの見た目をパネルのように設定する

タブの「fast tab Expended」というプロパティを『always』に設定して、タブの見た目をパネルのように設定できます。

プロパティ指定前



プロパティ指定後