| ♥ 0 | Estou a ter o erro que envio abaixo a migrar uma base de dados para a V10. Erros na atualização por script Versão inicial 07.81001
O erro deve se À seguinte query: “ — Documentos Internos INSERT INTO [INV_Origens] ( Id, IdTipoOrigem, IdChave1, IdChave2, NumLinha, Moeda, Cambio, CambioMBase, CambioMAlt , ValorUnitario, ValorAdicional, ValorAbater, Quantidade, Unidade, FactorConv , ActualizaStock, ActualizaCusto, ActualizaPCU, ActualizaDUE, ActualizaDUS , Data, Documento, Filial, Chave1, Chave2, NumChave1 , IDProjecto, WBSItem ) SELECT Id = NEWID() , IdTipoOrigem = tori.Id , IdCabecOrig = ls.IdCabecOrig , IdLinhaOrig = CASE WHEN ls.Modulo = ‘S’ THEN ls.Id ELSE ls.IdLinhaOrig END , NumLinha = ls.NumLinha , Moeda = cori.Moeda , Cambio = ISNULL(cori.Cambio, 1) , CambioMBase = ISNULL(cori.CambioMBase, 1) , CambioMAlt = ISNULL(cori.CambioMAlt, 1) , ValorUnitario = ABS(ISNULL(ls.PrecUnit, 0)) , ValorAdicional = ISNULL(ls.DespesaAdicionalCompra, 0) , ValorAbater = ISNULL(ls.DescontoComercial, 0) , Quantidade = ls.Quantidade , Unidade = ls.Unidade , FactorConv = CASE WHEN ISNULL(ls.FactorConv, 0) = 0 THEN 1 ELSE ls.FactorConv END , ActualizaStock = 1 , ActualizaPC = ls.ActPCM , ActualizaPCU = CASE WHEN ISNULL(ds.TipoDocumento, -1) IN (2, 9) THEN 0 ELSE ls.ActPCU END , ActualizaDUE = CASE WHEN ISNULL(ds.TipoDocumento, -1) IN (2, 9) THEN 0 ELSE ls.ActUltEntrada END , ActualizaDUS = CASE WHEN ISNULL(ds.TipoDocumento, -1) IN (0, 1, 8) THEN 0 ELSE ls.ActUltSaida END , Data = ls.Data , Documento = cori.TipoDoc + ‘ ‘ + cori.Serie + ‘/’ + CAST(cori.NumDoc AS NVARCHAR(15)) , Filial = cori.Filial , Chave1 = cori.TipoDoc , Chave2 = cori.Serie , NumChave1 = cori.NumDoc , IDProjecto = ls.ObraID , WBSItem = ls.WBSItem FROM LinhasSTK ls INNER JOIN CabecInternos cori ON ls.IdCabecOrig = cori.Id INNER JOIN INV_TiposOrigem tori ON tori.Apl = ‘INT’ LEFT JOIN INV_Origens ori ON ls.IdCabecOrig = ori.IdChave1 AND ((ls.Modulo <> ‘S’ AND ls.IdLinhaOrig = ori.IdChave2) OR (ls.Modulo = ‘S’ AND ls.Id = ori.IdChave2)) LEFT JOIN DocumentosStk ds ON ls.Modulo = ‘S’ AND ls.TipoDoc = ds.Documento WHERE ls.Artigo IS NOT NULL AND ori.Data IS NULL “
Alguém me pode ajudar a entender resolver o problema?
Muito Obrigado
Marked as spam |
| Private answer Recomendo a leitura do artigo no Fórum de Suporte: https://supportforum.ila.cegid.com/questions/erro-migrar-arithmetic-overflow-error-converting-float-to-data-type-numeric/ e a consulta da anomalia BID: 60741 (https://partnerspace.primaverabss.com/pesquisa-de-anomalias#collapseAnomalia-60741_ERP110AP_TFS) Marked as spam |