投影型DACの投影クエリを拡張/変更する方法はありますか?Acumatica ProjectionベースのDACクエリを拡張する
たとえば、投影に結合ステートメントを追加して、新しく結合されたテーブルを使用可能なフィールドに使用する必要がある場合。
PXCacheExtensionにカスタムフィールドを追加すると、期待どおりに動作しますが、PXCacheExtension DACの上部にPXProjectionクエリを指定しても効果はないようです。
オリジナル:
[Serializable]
[PXProjection(typeof(Select5<EPApproval, InnerJoin<Note,
On<Note.noteID, Equal<EPApproval.refNoteID>,
And<EPApproval.status, Equal<EPApprovalStatus.pending>>>,>,
Where2<Where<EPApproval.ownerID, IsNotNull, And<EPApproval.ownerID, Equal<CurrentValue<AccessInfo.userID>>>>,
Or2<Where<EPApproval.workgroupID, InMember<CurrentValue<AccessInfo.userID>>,
Or<EPApproval.workgroupID, IsNull>>,
Or<EPApproval.workgroupID, Owned<CurrentValue<AccessInfo.userID>>>>>,
Aggregate<GroupBy<EPApproval.refNoteID,
GroupBy<EPApproval.curyInfoID,
GroupBy<EPApproval.bAccountID,
GroupBy<EPApproval.ownerID,
GroupBy<EPApproval.approvedByID,
GroupBy<EPApproval.curyTotalAmount>>>>>>>>))]
public partial class EPOwned : EPApproval{
拡張:
[Serializable]
[PXProjection(typeof(Select5<EPApproval, InnerJoin<Note,
On<Note.noteID, Equal<EPApproval.refNoteID>,
And<EPApproval.status, Equal<EPApprovalStatus.pending>>>,
LeftJoin<RQRequest, On<RQRequest.noteID, Equal<Note.noteID>>>>,
Where2<Where<EPApproval.ownerID, IsNotNull, And<EPApproval.ownerID, Equal<CurrentValue<AccessInfo.userID>>>>,
Or2<Where<EPApproval.workgroupID, InMember<CurrentValue<AccessInfo.userID>>,
Or<EPApproval.workgroupID, IsNull>>,
Or<EPApproval.workgroupID, Owned<CurrentValue<AccessInfo.userID>>>>>,
Aggregate<GroupBy<EPApproval.refNoteID,
GroupBy<EPApproval.curyInfoID,
GroupBy<EPApproval.bAccountID,
GroupBy<EPApproval.ownerID,
GroupBy<EPApproval.approvedByID,
GroupBy<EPApproval.curyTotalAmount>>>>>>>>))]
public class EPOwnedExt : PXCacheExtension<EPApprovalProcess.EPOwned> {
おかげ
ありがとうRuslanDev、それは動作します。継承されたDACではなくPXCacheEntensionでも動作するかどうか知っていますか?ありがとう。 – Matx
@Matxでは、DAC拡張クラスでは機能しません。継承されたDACでのみ機能します。 – RuslanDev