2016-09-28 19 views
2

私はカスタム処理ページを持っています。データビューのメインDACはARRegisterですが、データビューの委任があります。ビュー&デリゲートの両方が、この理由は、メインDACにARInvoiceARCashSale & に参加...一部のレコードは、現金売上高であり、その他は、請求書、延滞料、電気ショック療法です。現金販売に特有のデータを表示するいくつかのグリッド列が含まれています。プロセスデリゲートを割り当てるために、私のプロセスグラフで静的メソッドを呼び出します。メソッドはエラーなしで実行されます。処理画面のデータが消えます

データビューのデリゲートでは、BQLから返された各レコードのドキュメントタイプをチェックします。
場合、ELSE yield return new PXResult<ARRegister, ARCashSale>(register, cashsale) yield return new PXResult<ARRegister>(register)

デリゲートの理由は、標準BQLを使用して決定することができないいくつかの他の条件をチェックすることです現金販売は、。ユーザーが「すべて処理」を選択すると、現金販売に特有の列のデータが消えてしまいます。理由を判断できません。他の人がこれを経験したかどうかを確認する。

のDataView

public PXProcessingJoin<ARRegister, 
     LeftJoin<cs.ARCashSale, On<ARRegister.docType, Equal<cs.ARCashSale.docType>, And<ARRegister.refNbr, Equal<cs.ARCashSale.refNbr>>>, 
     LeftJoin<ARInvoice, On<ARRegister.docType, Equal<ARInvoice.docType>, And<ARRegister.refNbr, Equal<ARInvoice.refNbr>>>, 
      InnerJoin<Customer,On<ARRegister.customerID,Equal<Customer.bAccountID>>>>>, 
     Where2<Where<ARRegister.released, Equal<True>, And<ARRegister.branchID, Equal<Current<AccessInfo.branchID>>>>, 
      And<Where<Customer.finChargeApply,Equal<True>>>>> Registers; 
+0

私もこのような問題を抱えています。処理ボタンをクリックすると、結合された列の情報が消えてしまいます。 – Hybridzz

答えて

0

あなたのページのグリッド上MatrixModeおよび/またはSyncPositionで遊んがありますか? SyncPosition = "True"が必要な場合もあります また、すべてを使用していない場合に問題が発生しますか? (プロセス1または2行)

0

これは古い質問ですが、同様の問題がありました。

処理したいDACに "Selected"という名前のブール値フィールドを追加する必要があります。

私が解決した方法は、ローカルDACを使用していました。 これをARRegisterから継承させ、必要なフィールドを追加するだけです。

私の場合は、PXProjectionを使用してメインDACから継承し、必要なフィールドを結合DACから追加しました。正しいDACにマップするには、これらのフィールドのtype属性にBqlField = typeof(DAC.field)プロパティを追加する必要があることに注意してください。

次に、PXProcessingビューでは、ローカルDACを使用してください。

また、BQLのトラブルシューティングの際にProfiler Request Screen(SM205070)を試してみると非常に便利です。

関連する問題