Acumatica BQL语句以SOOrder而不是POOrder获取数据
我正在使用Employees默认分支设置SOOrder上的默认分支: 当我使用相同的代码在采购订单上设置分支时,BranchMaint.BranchAccount始终为空,就好像PorecipEntry\u扩展没有访问权限一样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
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);
}
}