Número do item duplicado para o registro 54
Vá no banco de dados, e no CTRL+F12 rode a seguinte SQL:
CREATE OR ALTER procedure SINTEGRA_R54 (
COD_EMP integer,
DATAINI date,
DATAFIM date)
returns (
CNPJ varchar(15),
MODELO varchar(2),
SERIE varchar(3),
COD_PAIS integer,
NUMERO integer,
CFO varchar(5),
CST integer,
ITEMNF integer,
COD_PROD integer,
QTDE numeric(15,3),
VLR_BRUTO numeric(15,2),
DESCONTOS numeric(15,2),
BAS_ICM numeric(15,2),
BAS_ICM_SUB numeric(15,2),
VLR_IPI numeric(15,2),
PER_ICMS numeric(15,2),
VLR_EXTRA numeric(15,2),
METIPO char(1),
DATAEMIS date,
TIPO char(1),
EMPRESA integer,
SEQUENCIA integer,
GERABASE char(1))
as
declare variable XFRETE numeric(15,2);
declare variable XSEGURO numeric(15,2);
declare variable XDESPESAS numeric(15,2);
declare variable XVLRICMSUB numeric(15,2);
declare variable CST_TRIB char(1);
declare variable CST_ST char(1);
declare variable CST_CREDITO char(1);
begin
VLR_EXTRA = 0;
FOR
SELECT R.cnpj,R.Modelo, r.serie, r.cod_pais, r.numero, r.cfo, r.cst, r.itemnf,
r.cod_prod, r.qtde, r.vlr_bruto, r.descontos, r.bas_icm,
r.bas_icm_sub, r.vlr_ipi, r.per_icms, R.metipo, r.data, R.tipo,
r.empresa, r.sequencia
FROM sintegra_r50_base(:cod_emp, :dataini, :datafim) R
WHERE ((R.nforigem NOT IN ('C','A')) or (R.emuf = 'PR')) AND R.SITUACAO = 'N'
INTO
:CNPJ, :MODELO, :SERIE, :COD_PAIS, :NUMERO, :CFO, :CST, :ITEMNF,
:COD_PROD, :QTDE, :VLR_BRUTO, :DESCONTOS, :BAS_ICM,
:BAS_ICM_SUB, :VLR_IPI, :PER_ICMS, :METIPO,
:DATAEMIS, :TIPO, :EMPRESA, :SEQUENCIA
DO BEGIN
vlr_extra = :descontos;
suspend;
END
CST = 0;
COD_PROD = 0;
QTDE = 0;
VLR_BRUTO = 0;
DESCONTOS = 0;
BAS_ICM = 0;
BAS_ICM_SUB = 0;
VLR_IPI = 0;
PER_ICMS = 0;
For
SELECT distinct
r.cnpj, r.Modelo, r.serie, r.cod_pais, r.numero, r.frete, r.seguro, r.despesas,
r.data, r.tipo, r.empresa, r.sequencia,
sum(r.vlricmsub_reg54)
-- , r.cfgerabase, r.cst_trib, r.cst_st, r.cst_credito
FROM sintegra_r50_base(:cod_emp, :dataini, :datafim) r
WHERE ((R.nforigem NOT IN ('C','A')) or (R.emuf = 'PR')) AND R.SITUACAO = 'N'
group by
r.cnpj, r.Modelo, r.serie, r.cod_pais, r.numero, r.frete, r.seguro, r.despesas,
r.data, r.tipo, r.empresa, r.sequencia
--,r.cfgerabase, r.cst_trib, r.cst_st, r.cst_credito
INTO :CNPJ, :MODELO, :SERIE, :COD_PAIS, :NUMERO, :XFRETE, :XSEGURO, :XDESPESAS,
:dataemis, :tipo, :empresa, :sequencia, :XVLRICMSUB
--,:gerabase, :cst_trib, :cst_st, :cst_credito
DO BEGIN
if (not ((:tipo = 'E') and ((:gerabase <> 'S') or (:per_icms = 0) or (:cst_trib <> 'S') or (:metipo = 'S') or (:cst_credito <> 'S')))) then
begin
XVLRICMSUB = 0;
end
if ((:xfrete + :xseguro + :xdespesas + :xvlricmsub) > 0) then
begin
select first 1 R.CFO from sintegra_r50_base(:cod_emp, :dataini, :datafim) R
where tipo = :tipo and empresa = :empresa and sequencia = :sequencia
and ((R.nforigem NOT IN ('C','A')) or (R.emuf = 'PR')) AND R.SITUACAO = 'N'
into :cfo;
IF (:XFRETE > 0) then
BEGIN
ITEMNF = 991;
VLR_EXTRA = :XFRETE;
SUSPEND;
END
if (:XSEGURO > 0) then
BEGIN
ITEMNF = 992;
VLR_EXTRA = :XSEGURO;
SUSPEND;
END
if (:XVLRICMSUB > 0) then
BEGIN
ITEMNF = 997;
VLR_EXTRA = :XVLRICMSUB;
SUSPEND;
END
if (:XDESPESAS > 0) then
BEGIN
ITEMNF = 999;
VLR_EXTRA = :XDESPESAS;
SUSPEND;
END
end
END
end


Sped C490 - Bahia
Abastecimento Corrompido
Sintegra Reg54
Erros na versão 197
Erros na versão 198
XML em erros
Erro ao importar notas v197
List index out of bounds (3)
0 comentários:
Postar um comentário