diff --git a/Gatedge.K3.Pilot.PlugIn/BOSPlugIn/AR_SalesVATInvoice/ServicePlugIn/AfterSave.cs b/Gatedge.K3.Pilot.PlugIn/BOSPlugIn/AR_SalesVATInvoice/ServicePlugIn/AfterSave.cs index 58382e5..5bdf242 100644 --- a/Gatedge.K3.Pilot.PlugIn/BOSPlugIn/AR_SalesVATInvoice/ServicePlugIn/AfterSave.cs +++ b/Gatedge.K3.Pilot.PlugIn/BOSPlugIn/AR_SalesVATInvoice/ServicePlugIn/AfterSave.cs @@ -24,6 +24,7 @@ namespace Gatedge.K3.Pilot.PlugIn.BOSPlugIn.AR_SalesVATInvoice.ServicePlugIn e.FieldKeys.Add("SRCBILLTYPEID"); // 实体属性名(没有F前缀) e.FieldKeys.Add("SRCBILLNO"); // 实体属性名(没有F前缀) e.FieldKeys.Add("SEQ"); + e.FieldKeys.Add("BILLNO"); // 单据编号(主表字段) } @@ -56,29 +57,17 @@ namespace Gatedge.K3.Pilot.PlugIn.BOSPlugIn.AR_SalesVATInvoice.ServicePlugIn // 判断条件:FIDD != 当前行ID 且 源单编号为空 if (fiddValue != entryId && string.IsNullOrWhiteSpace(srcBillNo)) { - // 查询源单据体信息(FID = fiddValue的明细行) - // 这里使用数据库字段名(带F前缀) - var sql = $@"/*dialect*/ -SELECT FSRCBILLTYPEID, FSRCBILLNO, FSEQ -FROM T_IV_SALESICENTRY -WHERE FENTRYID = {fiddValue}"; - Logger.Error("销售增值税专用发票", sql, new Exception()); - Logger.Error("销售增值税专用发票", "78", new Exception()); - var result = DBServiceHelper.ExecuteDynamicObject(this.Context, sql); - if (result == null || result.Count == 0) - continue; - - var srcData = result[0]; - // 注意:SQL查询返回的是数据库字段名(带F前缀) - var srcBillTypeId = srcData["FSRCBILLTYPEID"]?.ToString() ?? ""; - var srcBillNoValue = srcData["FSRCBILLNO"]?.ToString() ?? ""; + // 从当前单据主表获取单据编号(实体属性名:BILLNO) + var billNo = billObj["BILLNO"]?.ToString() ?? ""; + // 固定源单类型为"销售增值税专用发票" + var srcBillType = "IV_SALESIC"; // 回写当前单据体:源单类型、源单编号 // 这里使用数据库字段名(带F前缀) var updateSql = $@"/*dialect*/ UPDATE T_IV_SALESICENTRY -SET FSRCBILLTYPEID = '{srcBillTypeId.Replace("'", "''")}', - FSRCBILLNO = '{srcBillNoValue.Replace("'", "''")}' +SET FSRCBILLTYPEID = '{srcBillType.Replace("'", "''")}', + FSRCBILLNO = '{billNo.Replace("'", "''")}' WHERE FENTRYID = {entryId}"; Logger.Error("销售增值税专用发票", updateSql, new Exception()); Logger.Error("销售增值税专用发票", "78", new Exception());