商贸版4.0迁移旗舰版2.0报错
金蝶云社区-麦加66
麦加66
0人赞赏了该文章 619次浏览 未经作者许可,禁止转载编辑于2016年07月27日 18:03:44

商贸版4.0旗舰版2.0报错
1.根据旗舰版升级工具,首先把账套升级到6.01sp1,无错
2,根据升级工具提示迁移旗舰版2.0,可是一直提示系统中存在数量为0金额为0的单据,迁移不成功。如下截图







先说一下我升级的商贸版账套:1,不允许负库存出库和结账。
2.单据检查未发现金额为0或者数量为0情况,赠品除外。

反反复复 修改检查十几次,一直提示错误。
真心希望开发团队 能不能给想个办法,不让提示这个提示,客户着急用,刚升级到旗舰版,好几个账套
等着用,这一个账套我前前后后弄了4天,客户都跟我急眼了。

感谢



经过论坛朋友的热心帮助,再次修改强制升级,已经取得一大步,尽管还是没能升级成功,但是给出了错误提示
其一个账套提示:链接服务器 '(null)' 的 OLE DB 访问接口 'SQLNCLI10' 返回了对列 '[SQLNCLI10].FHelperCode' 无效的数据。SELECT * INTO [KIS_t_Account]
FROM OpenDataSource('SQLOLEDB', 'Provider=SQLOLEDB;data source=.;initial catalog=AIS20160729130826;user id=sa;password=ly.963852')

.AIS20160729130826.dbo.[t_Account]

另一个账套提示:对象名 'kis_t_CC_Bal_TempImp' 无效。declare @maxbalid as int


declare @prevLastDate datetime


declare @maxYearPeriod as int


declare @curYear as int


declare @curPeriod as int


declare @firstPeriod as int


select @maxbalid = MAX(FIdentity) from KIS_t_CC_bal


set @firstPeriod = 1


select @maxYearPeriod = max(a.FYear * 100 + a.FPeriod) from KIS_t_CC_Stock_BatchNo a


select top 1 @curYear = a.FYear, @curPeriod = a.FPeriod


from KIS_t_CC_Stock_BatchNo a


where (a.FYear * 100 + a.FPeriod) = @maxYearPeriod


set @prevLastDate = CONVERT(DATETIME, Convert(varchar(4), @curYear) + '-' + Convert(varchar(2), @curPeriod) + '-01', 120)


set @prevLastDate = @prevLastDate -1


select 0 as FBrNo,


FPeriod,


FStockID,


a.FItemID as FItemID,


FBatchNo,


FBegQty,


FReceive,


FSend,


CAST(0 as decimal(23,10)) as FYtdReceive,


CAST(0 as decimal(23,10)) as FYtdSend,


FEndQty,


FBegBal,


FDebit,


FCredit,


CAST(0 as decimal(23,10)) as FYtdDebit,


CAST(0 as decimal(23,10)) as FYtdCredit,


FEndBal,


CAST(0 as decimal(23,10)) as FBegDiff,


CAST(0 as decimal(23,10)) as FReceiveDiff,


CAST(0 as decimal(23,10)) as FSendDiff,


CAST(0 as decimal(23,10)) as FBillInterID,


FUnitID,


FBegQty as FAuxBegQty,


CAST(0 as decimal(23,10)) as FYtdBegQty,


CAST(0 as decimal(23,10)) as FYtdAuxBegQty,


CAST(0 as decimal(23,10)) as FYtdAuxReceive,


CAST(0 as decimal(23,10)) as FYtdAuxSend,


CAST(0 as decimal(23,10)) as FYtdBegBal,


CAST(0 as decimal(23,10)) as FYtdBegDiff,


CAST(0 as decimal(23,10)) as FYtdReceiveDiff,


CAST(0 as decimal(23,10)) as FYtdSendDiff,


(case when isnull(b.FISKFPeriod, 0) = 0 then '' else (case when a.FKFDate > '1900-01-01' then Convert(varchar(10), a.FKFDate, 120) else '' end) end) as FKFDate,


a.FKFPeriod as FKFPeriod,


0 as FSPID,


CAST(0 as decimal(23,10)) as FSecBegQty,


CAST(0 as decimal(23,10)) as FSecReceive,


CAST(0 as decimal(23,10)) as FSecSend,


CAST(0 as decimal(23,10)) as FSecYtdReceive,


CAST(0 as decimal(23,10)) as FSecYtdSend,


CAST(0 as decimal(23,10)) as FSecEndQty,


(case when isnull(b.FSecUnitID, 0) = 0 then 0 else b.FSecUnitID end) as FSecUnitID,


Convert(varchar(10), @prevLastDate, 120) as FStockInDate,


FAuxPropID,


(case when isnull(b.FSecUnitID, 0) = 0 then 0 else b.FSecCoefficient end) FSecCoefficient,


(case when isnull(b.FSecUnitID, 0) = 0 then 0 else a.FSecBegQty end) as FAuxUnitBegQty,


CAST(0 as decimal(23,10)) as FYtdAuxUnitBegQty,


CAST(0 as decimal(23,10)) as FYtdAuxUnitSend,


CAST(0 as decimal(23,10)) as FYtdAuxUnitReceive,


(case when b.FIsSerialNumMgr = 1 then -1 else 0 end) as FSNListID,


'' AS FMTONo


into #tempICInvInitialn78


from KIS_t_CC_Stock_BatchNo a , KIS_t_ICItem b, KIS_t_Stock c


where (b.FTrack <> 78 or (b.FTrack = 78 and b.FISBatchManager = 1)) and abs(a.FBegQty) > 0.00000001 and (a.FYear * 100 + a.FPeriod) = @maxYearPeriod and a.FItemID = b.FItemID and a.FStockID = c.FItemID and c.FTypeID <> 502


update t set


t.FYtdReceive = a1.FYtdReceive,


t.FYtdSend = a1.FYtdSend,


t.FYtdDebit = a1.FYtdDebit,


t.FYtdCredit = a1.FYtdCredit,


t.FYtdAuxReceive = a1.FYtdAuxReceive,


t.FYtdAuxSend = a1.FYtdAuxSend,


t.FYtdAuxUnitSend = a1.FYtdAuxUnitSend,


t.FYtdAuxUnitReceive = a1.FYtdAuxUnitReceive


from #tempICInvInitialn78 t,


(select FStockID,


a.FItemID,


FBatchNo,


sum(FReceive * 1.0) as FYtdReceive,


sum(FSend * 1.0) as FYtdSend,


sum(FDebit * 1.0) as FYtdDebit,


sum(FCredit * 1.0) as FYtdCredit,


sum(FReceive * 1.0) as FYtdAuxReceive,


sum(FSend * 1.0) as FYtdAuxSend,


sum(case when isnull(b.FSecUnitID, 0) = 0 then 0 else a.FSecReceive * 1.0 end) as FYtdAuxUnitReceive,


sum(case when isnull(b.FSecUnitID, 0) = 0 then 0 else a.FSecSend * 1.0 end) as FYtdAuxUnitSend,


FAuxPropID


from KIS_t_CC_Stock_BatchNo a , KIS_t_ICItem b, KIS_t_Stock c


where (b.FTrack <> 78 or (b.FTrack = 78 and b.FISBatchManager = 1)) and (a.FYear * 100 + a.FPeriod) < @maxYearPeriod and a.FItemID = b.FItemID and a.FStockID = c.FItemID and c.FTypeID <> 502 and


(a.FYear * 100 + a.FPeriod) >= (@curYear * 100 + @firstPeriod)


group by FStockID,


a.FItemID,


FBatchNo,


FAuxPropID


) as a1


where t.FStockID = a1.FStockID and


t.FItemID = a1.FItemID and


t.FBatchNo = a1.FBatchNo and


t.FAuxPropID = a1.FAuxPropID


select 0 as FBrNo,


a.FPeriod,


a.FStockID,


a.FItemID as FItemID,


a1.FBatchNo as FBatchNo,


a.FBegQty,


a.FReceive,


a.FSend,


CAST(0 as decimal(23,10)) as FYtdReceive,


CAST(0 as decimal(23,10)) as FYtdSend,


a.FEndQty,


a.FBegBal,


a.FDebit,


a.FCredit,


CAST(0 as decimal(23,10)) as FYtdDebit,


CAST(0 as decimal(23,10)) as FYtdCredit,


a.FEndBal,


CAST(0 as decimal(23,10)) as FBegDiff,


CAST(0 as decimal(23,10)) as FReceiveDiff,


CAST(0 as decimal(23,10)) as FSendDiff,


a.FIdentity as FBillInterID,


FUnitID,


a.FBegQty as FAuxBegQty,


CAST(0 as decimal(23,10)) as FYtdBegQty,


CAST(0 as decimal(23,10)) as FYtdAuxBegQty,


CAST(0 as decimal(23,10)) as FYtdAuxReceive,


CAST(0 as decimal(23,10)) as FYtdAuxSend,


CAST(0 as decimal(23,10)) as FYtdBegBal,


CAST(0 as decimal(23,10)) as FYtdBegDiff,


CAST(0 as decimal(23,10)) as FYtdReceiveDiff,


CAST(0 as decimal(23,10)) as FYtdSendDiff,


a1.FKFDate as FKFDate,


a1.FKFPeriod as FKFPeriod,


0 as FSPID,


CAST(0 as decimal(23,10)) as FSecBegQty,


CAST(0 as decimal(23,10)) as FSecReceive,


CAST(0 as decimal(23,10)) as FSecSend,


CAST(0 as decimal(23,10)) as FSecYtdReceive,


CAST(0 as decimal(23,10)) as FSecYtdSend,


CAST(0 as decimal(23,10)) as FSecEndQty,


(case when isnull(b.FSecUnitID, 0) = 0 then 0 else b.FSecUnitID end) as FSecUnitID,


Convert(varchar(10), @prevLastDate, 120) as FStockInDate,


a1.FAuxPropID as FAuxPropID,


(case when isnull(b.FSecUnitID, 0) = 0 then 0 else b.FSecCoefficient end) FSecCoefficient,


(case when isnull(b.FSecUnitID, 0) = 0 then 0 else a.FBegQty / b.FSecCoefficient end) as FAuxUnitBegQty,


CAST(0 as decimal(23,10)) as FYtdAuxUnitBegQty,


CAST(0 as decimal(23,10)) as FYtdAuxUnitSend,


CAST(0 as decimal(23,10)) as FYtdAuxUnitReceive,


(case when b.FIsSerialNumMgr = 1 then ((-1) * a1.FSourceIdentity) else 0 end) as FSNListID,


'' AS FMTONo,


a1.FIDIndex as FIDIndex


into #tempICInvInitial78


from KIS_t_CC_bal a , kis_t_CC_Bal_TempImp a1 , KIS_t_ICItem b, KIS_t_Stock c


where a.FClassTypeID = a1.FClassTypeID and a.FInterID = a1.FInterID and a.FID = a1.FID and a.FEntryID = a1.FEntryID and a.FIdentity = a1.FIdentity and


(b.FTrack = 78 and b.FISBatchManager = 0) and abs(a.FBegQty) > 0.00000001 and (a.FYear * 100 + a.FPeriod) = @maxYearPeriod and a.FItemID = b.FItemID and a.FStockID = c.FItemID and c.FTypeID <> 502


update t set


t.FYtdReceive = a1.FYtdReceive,


t.FYtdSend = a1.FYtdSend,


t.FYtdDebit = a1.FYtdDebit,


t.FYtdCredit = a1.FYtdCredit,


t.FYtdAuxReceive = a1.FYtdAuxReceive,


t.FYtdAuxSend = a1.FYtdAuxSend,


t.FYtdAuxUnitSend = a1.FYtdAuxUnitSend,


t.FYtdAuxUnitReceive = a1.FYtdAuxUnitReceive


from #tempICInvInitial78 t,


(select a1.FStockID,


a1.FItemID,


a1.FBatchNo,


a1.FAuxPropID,


sum(FReceive * 1.0) as FYtdReceive,


sum(FSend * 1.0) as FYtdSend,


sum(FDebit * 1.0) as FYtdDebit,


sum(FCredit * 1.0) as FYtdCredit,


sum(FReceive * 1.0) as FYtdAuxReceive,


sum(FSend * 1.0) as FYtdAuxSend,


sum(case when isnull(b.FSecUnitID, 0) = 0 then 0 else a.FReceive * 1.0 / b.FSecCoefficient end) as FYtdAuxUnitReceive,


sum(case when isnull(b.FSecUnitID, 0) = 0 then 0 else a.FSend * 1.0 / b.FSecCoefficient end) as FYtdAuxUnitSend,


a1.FIDIndex as FIDIndex


from KIS_t_CC_bal a , kis_t_CC_Bal_TempImp a1 , KIS_t_ICItem b, KIS_t_Stock c


where a.FClassTypeID = a1.FClassTypeID and a.FInterID = a1.FInterID and a.FID = a1.FID and a.FEntryID = a1.FEntryID and a.FIdentity = a1.FIdentity and


(b.FTrack = 78 and b.FISBatchManager = 0) and (a.FYear * 100 + a.FPeriod) < @maxYearPeriod and a.FItemID = b.FItemID and a.FStockID = c.FItemID and c.FTypeID <> 502 and


(a.FYear * 100 + a.FPeriod) >= (@curYear * 100 + @firstPeriod)


group by a1.FStockID,


a1.FItemID,


a1.FBatchNo,


a1.FAuxPropID,


a1.FIDIndex


) as a1


where t.FStockID = a1.FStockID and


t.FItemID = a1.FItemID and


t.FBatchNo = a1.FBatchNo and


t.FAuxPropID = a1.FAuxPropID and


t.FIDIndex = a1.FIDIndex


select


FBrNo,


FPeriod,


FStockID,


FItemID,


FBatchNo,


FBegQty,


FReceive,


FSend,


FYtdReceive,


FYtdSend,


FEndQty,


FBegBal,


FDebit,


FCred






2个账套 提示2个不同的错误提示,伙伴们再给看一下,该怎么处理 ? 万分感谢!






1.png(104.84KB)

2.png(54.17KB)