D365BC 棚卸仕訳帳のEdit in Excel


前回は品目仕訳帳をEdit in Excelで編集してみました。今回は棚卸仕訳帳をEdit in Excelで編集してみます。結論を先に書くと、特定の条件下のみ利用できます。
具体的には、バッチ名をアルファベット順にソートして先頭のバッチ名のみ利用可能、という現象が起きます。この現象はEdit in Excelボタンが無い仕訳帳画面に共通の挙動のようです。

いやいや、Edit in Excelボタンが無いのにどうやってEdit in Excelするんだ?という話ですが、頑張ればできます。今回はその方法と制約条件(不思議な挙動)について説明します。

1. Edit in Excel が無い画面でEdit in Excelする方法

品目仕訳帳(Item Journal)にはEdit in Excelボタンがあります。Item Journal 画面で確認できますし、虫眼鏡ボタンから’Excel’で検索すると’Edit in Excel’が表示されます。

一方、棚卸仕訳帳(Physical Inventory Journal)にはEdit in Excelボタンがありません。虫眼鏡ボタンで検索しても表示されません。

Edit in Excelボタンが存在しない棚卸仕訳帳でEdit in Excelを使用するには以下の手順でExcelを作成します。

まず、Edit in Excelが存在する画面でEdit in ExcelボタンをクリックしてExcelをダウンロードします。今回の例では品目仕訳帳(Item Journal)を使用していますが、理論的には得意先一覧ページでも問題ないはずです。

ダウンロードしたEdit in Excelのファイルを開きます。

品目仕訳帳(Item Journal)のデータが読み込まれています。このシートは使わないので、間違わないように名前を変えておきます。(ついでに色も変えましたが変えなくても問題ありません。)

このExcelブックで棚卸仕訳帳(Physical Inventory Journal)のデータを編集できるようにします。準備としてWeb Service機能を実行します。

Web Serviceを新規作成するため’+New’ボタンをクリック。

PageID:392(Physical Inventory Journals)を追加します。Service Nameは後で検索しやすい様に、プレフィックスに’Z_’を付けて’Z_PhysicalInventoryJournals’としておきます。

先ほどのExcelに戻ります。シートを新規追加し、シート名を’Physical Inventory Journals’に変更します。そしてDesignボタンを押します。

’+Add Table’ボタンをクリック。

Data Sourceに先ほど追加したWeb Service ‘Z_PhysicalInventoryJournals’を指定します。

Nextをクリック

データソースが指定できたので次は出力するフィールドを指定します。とりあえず全項目選択して’+Add’ボタンをクリック。

全項目が選択されました。Done をクリック。

データを取得してExcelシートを更新するので現在のシートのデータが消える可能性があります、という警告が出ます。シートにデータは無いのでYesを選択。

このようにシートが更新されました。棚卸仕訳帳(Physical Inventory Journals)の項目が1行目に出力されています。Done をクリック。

これで棚卸仕訳帳のEdit in Excelシートが完成しました。

データ更新できるかどうか試してみましょう。棚卸仕訳帳(Physical Inventory Journals)に戻り、バッチ名’Default’を選択します。(Cronusの既定ではDefaultバッチしかないはずです。他のバッチが存在すると上手くいかない可能性があるので削除しておいてください。)
そして明細行を作るため’Calculate Inventory’ボタンをクリックします。これは品目元帳(Item Ledger Entries)を元に、論理在庫を算出して棚卸仕訳帳に明細を作成する機能です。

文書番号(Document No.)を適当に指定してOKをクリック。

Cronusの初期データだと以下のように明細が作成されるはずです。なお、明細数はもっと多くあり、上にスクロールすると表示されます。

棚卸仕訳帳のEdit in Excelのシートに戻り、Refreshボタンをクリックします。

すると棚卸仕訳帳(Inventory Journals)に作成した明細データが読み込まれました。

試しに数量を変更してPublishボタンをクリックします。

棚卸仕訳帳に戻ると数量が変更されている事が確認できます。

このように、Edit in Excelが存在しないページであっても、ページ番号をWeb Serviceで追加すればEdti in Excelが使用できます。ページは該当の画面でCtrl+Alt+F1ボタンを押すと調べられます。

2. Edit in Excelボタンが無い画面でEdit in Excel機能を使う場合の制約

Edit in Excel ボタンが無い仕訳帳画面でEdit in Excelを使用する場合に制約があります。(制約というか不思議な挙動というか。。)
それは、バッチ名が複数存在する場合にアルファベット順で昇順ソートして最初のバッチ名しか処理できない、という制約です。

試しにやってみましょう。品目仕訳帳(Physical Inventory Journals)でバッチを追加します。

‘MYBATCH’というバッチを追加します。昇順ソートすると’DEFAULT'<‘MYBATCH’というのがポイントです。

バッチ名’MYBATCH’を選択し、Calculate Inventory ボタンをクリックします。

DEFAULTバッチのデータと違いを持たせるため、品目番号(Item No.)に条件をつけて絞ります。

このようにデータが作成されます。

棚卸仕訳帳のEdid in Excelシートに戻り、Refresh ボタンをクリックします。

データは増えません。。が、これは前回の品目仕訳帳の記事で記載した暗黙的なフィルタが聞いている可能性がありますので念のためフィルタを削除します。Filterボタンをクリック。

データソースを切り替えます。

データソースを’Z_PhysicalInventoryJournals’に切り替えて’x Clear Filter’をクリック。

これで暗黙的なフィルタは解除されたはずです。Done をクリック。

Refresh をクリック。

データは増えませんでした。。明示的にバッチ名’MYBATCH’を指定してみましょう。Filterボタンをクリック。

以下のようにデータソースとフィルタを指定します。そしてDoneをクリック。

Refreshをクリック。

えらーになりました。。エラーはItem JournalシートでRefreshするとなぜか解消できます。

バッチ名’MYBATCH’を’A_MYBATCH’に変更します。バッチ名で昇順ソートすると’A_MYBATCH'<‘DEFAULT’になるのがポイントです。

警告が出ますが問題ないのでYesをクリック。

棚卸仕訳帳のEdit in Excelに戻り、フィルタ条件はすべてクリアします。

Refreshをクリック。

すると今度はエラーにならずに’A_MYBATCH’のデータが表示されました。フィルタはすべて解除したにも関わらず’DEFAULT’バッチのデータは表示されません。

バッチ名を’Z_MYBATCH’に変更してみます。

あらためてEdit in ExcelのシートをRefreshするとDEFAULTのデータが表示されます。

バッチ名を’DEFAULS’にしたり’DEFAULU’にしたりして実験すると、バッチ名を昇順ソートして先頭のバッチ名しか取得できないことが分かります。なぜこのような仕様になっているのか、意図は分かりませんが、実際の挙動としてはこうなっています。興味のある方は標準ソースコードを追いかけてみてください。(私はTechnical Consultantではないので諦めました。。)

色々な仕訳帳を調べてみましたが、Edit in Excelボタンが無い仕訳帳は Recurring Journalなど いくつかあります。調べた限り、いずれの仕訳帳も同様に先頭のバッチ名しか処理されませんでした。

いつかは棚卸仕訳帳を含めたすべての仕訳帳にEdit in Excelボタンが追加され、品目仕訳帳などと同様に任意のバッチ名でデータを編集できるようになって欲しいものです。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です