我需要灭活成千上万条废弃的线索。为此,我将加载每个文件,设置Valid = NO,并将其保存回数据库。这是我的代码:
var ocrd = Company.GetBusinessObject( SAPbobsCOM.BoObjectTypes.oBusinessPartners ) as SAPbobsCOM.BusinessPartners;
foreach ( var cardCode in abandonedLeadList ) {
if ( ocrd.GetByKey( cardCode ) ) {
ocrd.Valid = SAPbobsCOM.BoYesNoEnum.tNO;
if ( ocrd.Update() != 0 ) {
// Code here to keep a list of the ones we could not write, along with error codes and messages
}
}
}此更改的目的是通过将记录的validFor标志设置为'N‘来禁用该记录。
调试时,我已经完成了这段代码。对ocrd.Update()的调用返回0,表示成功,在数据库中,记录的UpdateDate和UpdateTS表示发生了保存--但是在更新后,validFor标志仍然是'Y‘,而铅仍然处于活动状态。
我遗漏了什么?以编程方式禁用业务合作伙伴的正确方法是什么?
我的SAP版本是Business One 9.3 (9.30.180) PL:08 (64位)
发布于 2022-08-08 13:26:37
要使业务合作伙伴处于非活动状态,请通过DI-API和Valid属性使用Valid属性:
ocrd.Valid = SAPbobsCOM.BoYesNoEnum.tNO
ocrd.Frozen = SAPbobsCOM.BoYesNoEnum.tYEShttps://stackoverflow.com/questions/73277984
复制相似问题