Acumatica BQL语句以SOOrder而不是POOrder获取数据

Acumatica BQL语句以SOOrder而不是POOrder获取数据,acumatica,Acumatica,我正在使用Employees默认分支设置SOOrder上的默认分支: 当我使用相同的代码在采购订单上设置分支时,BranchMaint.BranchAccount始终为空,就好像PorecipEntry\u扩展没有访问权限一样 using PX.Data; using PX.Objects.EP; using static PX.Objects.CS.BranchMaint; using System; namespace PX.Objects.PO { // Acuminator d

我正在使用Employees默认分支设置SOOrder上的默认分支:

当我使用相同的代码在采购订单上设置分支时,BranchMaint.BranchAccount始终为空,就好像PorecipEntry\u扩展没有访问权限一样

using PX.Data;
using PX.Objects.EP;
using static PX.Objects.CS.BranchMaint;
using System;

namespace PX.Objects.PO
{
    // Acuminator disable once PX1016 ExtensionDoesNotDeclareIsActiveMethod extension should be constantly active
    public class POReceiptEntry_Extension : PXGraphExtension<POReceiptEntry>
    {
        #region Event Handlers

        protected void POReceiptLine_BranchID_FieldDefaulting(PXCache cache, PXFieldDefaultingEventArgs e)
        {

            try
            {
                var row = (POReceiptLine)e.Row;
                if (row == null) return;

                EPEmployee CurEPEmployee = PXSelect<
                    EPEmployee,
                    Where<EPEmployee.userID, Equal<Required<AccessInfo.userID>>>>
                    .Select(Base, Base.Accessinfo.UserID);

                BranchBAccount CurBranchBAccount = PXSelect<
                    BranchBAccount,
                    Where<BranchBAccount.bAccountID, Equal<Required<EPEmployee.parentBAccountID>>>>
                    .Select(Base, CurEPEmployee.ParentBAccountID);
         
                e.NewValue = CurBranchBAccount.BranchBranchCD;

            }
            catch (Exception ex)
            {
                PXTrace.WriteError(ex);
            }
        }


        #endregion
    }
}

有没有办法从PoreceipEntry\u扩展访问BranchMaint.BranchBAccount

请尝试下面的方法。同时考虑一下你希望在PO收据中这样的功能,在大多数情况下,你可能是从PurcaHeSE命令中拉出来的,所以分支将来自PO而不是来自你的字段默认扩展。
         protected void POReceiptLine_BranchID_FieldDefaulting(PXCache cache, PXFieldDefaultingEventArgs e)
        {

            try
            {
                var row = (POReceiptLine)e.Row;
                if (row == null) return;

                EPEmployee CurEPEmployee = PXSelect<
                    EPEmployee,
                    Where<EPEmployee.userID, Equal<Required<AccessInfo.userID>>>>
                    .Select(Base, Base.Accessinfo.UserID);

                Branch CurBranchBAccount = PXSelect<
                    Branch,
                    Where<Branch.bAccountID, Equal<Required<EPEmployee.parentBAccountID>>>>
                    .Select(Base, CurEPEmployee.ParentBAccountID);

                e.NewValue = CurBranchBAccount.BranchCD;

            }
            catch (Exception ex)
            {
                PXTrace.WriteError(ex);
            }
        }
         protected void POReceiptLine_BranchID_FieldDefaulting(PXCache cache, PXFieldDefaultingEventArgs e)
        {

            try
            {
                var row = (POReceiptLine)e.Row;
                if (row == null) return;

                EPEmployee CurEPEmployee = PXSelect<
                    EPEmployee,
                    Where<EPEmployee.userID, Equal<Required<AccessInfo.userID>>>>
                    .Select(Base, Base.Accessinfo.UserID);

                Branch CurBranchBAccount = PXSelect<
                    Branch,
                    Where<Branch.bAccountID, Equal<Required<EPEmployee.parentBAccountID>>>>
                    .Select(Base, CurEPEmployee.ParentBAccountID);

                e.NewValue = CurBranchBAccount.BranchCD;

            }
            catch (Exception ex)
            {
                PXTrace.WriteError(ex);
            }
        }