更新总账凭证号至对应单据.单据体

【示例】:将付款单总账凭证的凭证号更新至应付票据单据体
1.扩展应付票据添加凭证信息单据体(因一张收款单可对应多张凭证)

2.添加凭证号字段

3.新增二开插件类。
需继承自AbstractBuildVchSecondDevPlugIn,并实现AfterBookBuildVoucher方法。注意如果是自己新增的类名,在第4步注册的时候,需使用自己的类名
using Kingdee.BOS;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Contracts;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.SqlBuilder;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using Kingdee.K3.FIN.Core.PlugIn;
using Kingdee.K3.FIN.Core.PlugIn.Arg;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Text;
namespace Kingdee.K3.FIN.App.Core.BuildVoucher.PlugIn
{
[Description("凭证生成二开测试插件")]
[Serializable]
public class BuildVchSecondDevTestPlugIn : AbstractBuildVchSecondDevPlugIn
{
public override void AfterBookBuildVoucher(BuildVchSecondDevArgs e)
{
base.AfterBookBuildVoucher(e);
if (e.GlVchIds.Count == 0)
{
return;
}
// 获取付款单对应的应付票据和凭证号
string sql = string.Format(@"
SELECT T3.FBILLID AS FID,T0.FVOUCHERGROUPNO AS FVCHGROUPNO
FROM T_GL_VOUCHER T0
INNER JOIN T_BAS_VOUCHER T1 ON T1.FGLVOUCHERID=T0.FVOUCHERID
INNER JOIN T_AP_PAYBILL T2 ON T2.FID=T1.FSOURCEBILLID
LEFT JOIN T_AP_PAYBILLPAYABLE T3 ON T3.FID=T2.FID
LEFT JOIN T_AP_VCHINFOENTRY T4 ON T4.FID=T3.FBILLID
WHERE T1.FSOURCEBILLKEY='AP_PAYBILL' AND T0.FVOUCHERID IN({0})", string.Join(",", e.GlVchIds));
DynamicObjectCollection dyc = DBUtils.ExecuteDynamicObject(e.Context, sql);
if (dyc == null || dyc.Count == 0)
{
return;
}
// 获取分录
更新总账凭证号至对应单据.单据体
【示例】:将付款单总账凭证的凭证号更新至应付票据单据体1.扩展应付票据添加凭证信息单据体(因一张收款单可对应多张凭证)2.添加凭证号字...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



