在处理发票和备忘录处理按钮期间收集图形数据
Collecting Graph data during Process invoice and memos process button
我目前正在将代码从 Build 19.213.0029 升级到 Build 21.201.0086。
我在开具发票时有代码 运行。
namespace JVDnamespace
{
public class JVDSOInvoiceEntry_Extension : PXGraphExtension<SOInvoiceEntry>
{
public static bool IsActive() => true;
#region Event Handlers
public delegate IEnumerable ReleaseDelegate(PXAdapter adapter);
[PXOverride]
public IEnumerable Release(PXAdapter adapter, ReleaseDelegate baseMethod)
{
if ( !(Base.Document.Current is null) && !(Base.Document.Current.CuryOrigDocAmt is null))
{
setCreditLimit(Base.Document.Current.CustomerID.Value, Base.Document.Current.CuryOrigDocAmt.Value);
}
return baseMethod(adapter); ;
}
我使用 Process Invoice and Memos(SO505000) 来 process/Release 我所有的文件,然后上面的代码会为我做一个计算。
问题出在新版本的 Acumatica(Build 21.201.0086)Base.Document.current 为空,我可以找到一种方法来查看当前正在处理的文档。如果您从发票 (SO303000) 中释放文档,则情况并非如此,然后填充当前数据。
问题:
在页面 'Process Invoice and Memos(SO505000)'.
的处理(发布)期间,是否有新方法或其他方法获取当前 CustomerID 和 CuryOrigDocAmt
您可以使用 adpater.Get<ARInvoice>()
获取正在发布的发票列表,然后针对每张发票执行您需要的任何逻辑。如果您从输入页面发布,这应该在两个页面上都有效,它将只是该发票的列表。
public class SOInvoiceEntryExt : PXGraphExtension<SOInvoiceEntry>
{
public static bool IsActive() => true;
public delegate IEnumerable ReleaseDelegate(PXAdapter adapter);
[PXOverride]
public IEnumerable Release(PXAdapter adapter, ReleaseDelegate baseMethod)
{
foreach(ARInvoice inv in adapter.Get<ARInvoice>())
{
// Exceute logic here per invoice
}
return baseMethod(adapter); ;
}
}
我目前正在将代码从 Build 19.213.0029 升级到 Build 21.201.0086。
我在开具发票时有代码 运行。
namespace JVDnamespace
{
public class JVDSOInvoiceEntry_Extension : PXGraphExtension<SOInvoiceEntry>
{
public static bool IsActive() => true;
#region Event Handlers
public delegate IEnumerable ReleaseDelegate(PXAdapter adapter);
[PXOverride]
public IEnumerable Release(PXAdapter adapter, ReleaseDelegate baseMethod)
{
if ( !(Base.Document.Current is null) && !(Base.Document.Current.CuryOrigDocAmt is null))
{
setCreditLimit(Base.Document.Current.CustomerID.Value, Base.Document.Current.CuryOrigDocAmt.Value);
}
return baseMethod(adapter); ;
}
我使用 Process Invoice and Memos(SO505000) 来 process/Release 我所有的文件,然后上面的代码会为我做一个计算。
问题出在新版本的 Acumatica(Build 21.201.0086)Base.Document.current 为空,我可以找到一种方法来查看当前正在处理的文档。如果您从发票 (SO303000) 中释放文档,则情况并非如此,然后填充当前数据。
问题: 在页面 'Process Invoice and Memos(SO505000)'.
的处理(发布)期间,是否有新方法或其他方法获取当前 CustomerID 和 CuryOrigDocAmt您可以使用 adpater.Get<ARInvoice>()
获取正在发布的发票列表,然后针对每张发票执行您需要的任何逻辑。如果您从输入页面发布,这应该在两个页面上都有效,它将只是该发票的列表。
public class SOInvoiceEntryExt : PXGraphExtension<SOInvoiceEntry>
{
public static bool IsActive() => true;
public delegate IEnumerable ReleaseDelegate(PXAdapter adapter);
[PXOverride]
public IEnumerable Release(PXAdapter adapter, ReleaseDelegate baseMethod)
{
foreach(ARInvoice inv in adapter.Get<ARInvoice>())
{
// Exceute logic here per invoice
}
return baseMethod(adapter); ;
}
}