基于Acumatica上的新供应商创建自动在其他系统上创建供应商
我是Acumatica integration的新手,需要有关如何在用户在Acumatica上创建相同数据后立即在其他系统上自动触发供应商创建的建议。我一直在努力理解I210_ContractBasedWebServices_6培训材料,据我所知,要触发数据创建,我需要覆盖VendorMaint图上的Persist方法,并添加一些行来调用API控制器,但仍然不知道这是否是最好的方法基于Acumatica上的新供应商创建自动在其他系统上创建供应商,acumatica,Acumatica,我是Acumatica integration的新手,需要有关如何在用户在Acumatica上创建相同数据后立即在其他系统上自动触发供应商创建的建议。我一直在努力理解I210_ContractBasedWebServices_6培训材料,据我所知,要触发数据创建,我需要覆盖VendorMaint图上的Persist方法,并添加一些行来调用API控制器,但仍然不知道这是否是最好的方法 我还需要知道如何配置两个系统之间的连接。另一个系统构建在Java上,使用企业服务总线(ESB)和服务适配器与外部系
我还需要知道如何配置两个系统之间的连接。另一个系统构建在Java上,使用企业服务总线(ESB)和服务适配器与外部系统通信。web服务也可用,但不经常使用。如果我要在C#上开发API控制器,我如何与该ESB和服务适配器通信,以便触发其他系统上的供应商创建?这里需要建议 是的,实际上,您可以使用BLC PERSISTER方法或供应商DAC ROWSPERSISTED事件处理程序来实现这一点 Acumatica中的供应商屏幕允许用户插入供应商基本信息,并在以后填写详细信息。要在两个系统之间正确同步,您需要自定义此屏幕,使所有所需字段成为必需字段,以便在创建供应商时填写这些字段,或者您也可以在用户更新供应商而不是插入时处理此情况 因为我们可以预测Web服务调用可能需要一些时间来执行,所以我们可以将其包装在PXLongOperation委托中。这将在长操作网页的右上角显示等待指示器
public class VendorMaint_Extension : PXGraphExtension<VendorMaint>
{
public virtual void Vendor_RowPersisted(PXCache sender, PXRowPersistedEventArgs e)
{
Vendor vendor = e.Row as Vendor;
if (vendor != null &&
e.Operation == PXDBOperation.Insert &&
e.TranStatus == PXTranStatus.Completed)
{
PXLongOperation.StartOperation(Base, delegate()
{
// Add your webservice call here
});
}
}
}
公共类VendorMaint_扩展名:PXGraphExtension
{
公共虚拟无效供应商(PXCache发送方,PXRowPersistedEventArgs e)
{
供应商=e.作为供应商的行;
如果(供应商!=空&&
e、 Operation==PXDBOperation.Insert&&
e、 TranStatus==PXTranStatus.Completed)
{
PXLongOperation.StartOperation(基本,委托()
{
//在此处添加您的Web服务呼叫
});
}
}
}
从这个答案中:
ESB Web服务似乎是最普通的,所以您可以使用.Net Framework HttpClient类来使用它们。您需要编写一个C#ESB Web服务客户端。在Acumatica中,编写Web服务客户端并没有什么特别之处,所以您可以按照C#中的一般建议来编写