Acumatica-行动“撤消并应用备忘录”默认记帐期至有效财务期

问题描述 投票:0回答:1

在“发票和备忘”屏幕上按“冲销并应用于备忘录”操作后,是否可以创建定制以将过帐期间设置为当前活动财务期间?

[我们注意到新创建的贷项通知单默认为发票的过帐期间,如果在下一个财务期间记入贷方,则可能不正确。

customization acumatica
1个回答
0
投票

[您在说应收账款方面,但是我在应收账款方面做了类似的事情。它并不是您所要的,但太大了,无法发表评论。 您也许可以从中获得一般的想法并将其应用于您的方案。我采取的方法是检查发布时间。

protected virtual void _(Events.FieldUpdated<APInvoice.finPeriodID> e)
{
    APInvoice row = (APInvoice)e.Row;
    CheckPeriod(e.Cache, row);
}

#region Release override
public delegate IEnumerable ReleaseDelegate(PXAdapter adapter);
[PXOverride]
public virtual IEnumerable Release(PXAdapter adapter, ReleaseDelegate baseMethod)
{
    CheckPeriod(Base.Caches[typeof(APInvoice)], Base.Document.Current);
    return baseMethod(adapter);
}
#endregion

protected virtual void CheckPeriod(PXCache cache, APInvoice invoice)
{
    if (invoice?.FinPeriodID == null) return;

    string currentPeriod = GetCurrentPeriod(invoice.BranchID);
    if (currentPeriod != invoice.FinPeriodID)
    {
        PXUIFieldAttribute.SetError<APInvoice.finPeriodID>(cache, invoice, "Invalid period");
    }

}

public virtual string GetCurrentPeriod(int? branchID)
{
    PXResultset<Branch> Results = PXSelectJoin<GL.Branch,
        InnerJoin<FinPeriod, On<FinPeriod.organizationID, Equal<Branch.organizationID>>>,
        Where<Branch.branchID, Equal<Required<Branch.branchID>>,
            And<FinPeriod.startDate, LessEqual<Required<FinPeriod.startDate>>,
            And<FinPeriod.endDate, Greater<Required<FinPeriod.endDate>>>>>>  // End Date is the date AFTER the period ends
        .SelectSingleBound(Base, null, branchID, Base.Accessinfo.BusinessDate, Base.Accessinfo.BusinessDate);

    if (Results != null)
    {
        foreach (PXResult<GL.Branch, FinPeriod> result in Results)
        {
            FinPeriod period = result;
            return period.FinPeriodID;
        }
    }
    return null;
}

如您所见,我在Release上放了一个替代项以执行我的验证,如果期间不是当前的,则会设置错误条件。通过检索当前营业日期的当前期间并与APInvoice上的期间进行比较来执行验证。

您可以从示例中探索GetCurrentPeriod的使用,如果对您的目标有所帮助,可以将其放在FieldDefaulting上。

© www.soinside.com 2019 - 2024. All rights reserved.