3

AX 2012 には、仕入先前払いと呼ばれる新機能があります。基本的に、会社は商品の受領前に仕入先に前払いすることができます。これは AX 2009 にはありませんでした。そのため、ユーザーは基本的に前払いレコードを発注書に添付し、前払い請求書と呼ばれるものを投稿できます。商品が最終的に到着すると、この前払い請求書が「実際の」ベンダー請求書に適用され、決済されます。それはかなり簡単で、論理的だと思います。

私の要件は、この前払い請求書の転記を X++ のコードで行うことです。

以下のように PurchFormLetter クラスを使用しようとすると、実際の請求書がポストされますが、これは前払いの場合のように正しくありません。在庫トランザクションはありません。

purchFormLetter = PurchFormLetter::construct(DocumentStatus::Invoice);
purchFormLetter.update(purchTable,
                       '8001',
                       systemDateGet(),
                       PurchUpdate::All,
                       AccountOrder::None,
                       NoYes::No,
                       NoYes::Yes);

AX Dev Guides、Google、ブログで見回しましたが、助けにはなりませんでした。

誰もこれを知っていますか?

4

1 に答える 1

0

PurchPrepayTable テーブル ロジックと PurchPrepayTable フォームを調べる必要があると思います。1 つの注文書に対して 1 つの前払いを使用している場合は、PurchPrepayTable.PurchTable を使用して前払いを購入にリンクできます。X++ コードを呼び出してそれを達成したい場合は、次のことをお勧めします。

  • 購入注文に PurchPrepayTable が存在するかどうかを確認します。
  • その場合 -- 更新します (その前にすべての検証を実行していることを確認してください)。
  • そうでない場合 -- 新しい前払いを作成します (前払いの値がすべての検証に合格することを確認するには、PurchPrepayTable テーブル メソッドも参照してください)。
于 2016-04-20T13:06:08.120 に答える