【熊说星空银企】电子回单:下载提示-已添加了具有相同键的项

1.问题描述
本文涉及到的情况为人民币银行账户未勾选币别导致下载的交易明细重复,如未其他币别的账户需要根据具体情况而定。
切记!!!

下载回单报错:
System.ArgumentException: 已添加了具有相同键的项。
在 System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
在 System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
在 System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
在 Kingdee.K3.FIN.WB.App.Core.QueryReceipts.QueryReceipt.GetBankFlow(Context ctxt, Int64 accId, IEnumerable`1 code)
在 Kingdee.K3.FIN.WB.App.Core.QueryReceipts.SaveReceiptInfo.FillData(Context ctxt)
在 Kingdee.K3.FIN.WB.App.Core.QueryReceipts.QueryReceipt.Download(Context ctxt, Int64 orgId, Int64 accId, Int64 currency, DateTime startDate, DateTime endDate, String accNo, Int64 bankId, String currencyCode)
在 Kingdee.K3.FIN.WB.App

2.问题分析
2.1检查了下电子回单关联的数据库表(T_WB_Receipt)
SELECT * FROM T_WB_RECEIPT WHERE FID IN (SELECT FID FROM T_WB_RECEIPT GROUP BY FID HAVING COUNT(FID)>1)
检查FID无重复
初步排除非电子回单数据表问题。
2.2报错中有一处信息值得关注:GetBankFlow-获取银行流水

7.5.1.202010版本优化:下载电子回单之前先自动下载交易明细
怀疑是交易明细下载重复了,
之前提单咨询自动下载电子回单执行计划的时候,如果银行账号币别不填的话,会导致下载到的自动下载到的交易明细会把所有币别的账号的都下载一遍。
2.3检查确认发现:报错的银行账户确实没有选币别

维护币别为人民币
2.4接收银行交易明细中检查该账户是否下载其他币别(非人民币)的流水

发现确实重复下载了港元和美元币别的流水

数据库中校验是否重复下载了电子回单关联标记重复的回单
SELECT * FROM T_CN_BANKCASHFLOW WHERE FRECEIPTNO IN (SELECT FRECEIPTNO FROM T_CN_BANKCASHFLOW GROUP BY FRECEIPTNO HAVING COUNT(FRECEIPTNO)>1)
-- FRECEIPTNO 电子回单关联标记
-- T_CN_B
【熊说星空银企】电子回单:下载提示-已添加了具有相同键的项
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



