3994 - Itens na nota de serviço
Problema: Descrição do Problema: No XML da NFS-e não está saindo itens e observações, ou seja, os serviços estão saindo no XML apenas com a descrição e todos juntos.
Quando ocorre / onde se aplica: Emissão de NFS-e
Solução: Solução 3994: No padrão ABRASF de fato não existem itens, a TAG de Descriminação do serviço é um campo alfa de 2000 caracteres. Se existir mais de uma vez o mesmo item de serviço na NF, é gerado no XML padrão ABRASF apenas 1 registro somando todas as quantidades de todos os itens de serviço iguais.
É possível manipular através do identificador GER-000ABRASF1 a informação da descriminação.
@EXEMPLO REGRA@
Definir numero VSIntCodEmp;
Definir numero VSIntCodFil;
Definir alfa VSIntCodSnf;
Definir numero VSIntNumRps;
Definir alfa VSIntDesSer;
Definir alfa CR;
Definir Cursor Cur_E140ISV;
Cur_E140ISV.Sql SELECT E140ISV.VLRLSE, E080SER.DesSer, E140ISV.SEQISV, E140ISV.CPLISV FROM E140ISV, E080SER /
WHERE E140ISV.CODEMP = E080SER.CODEMP AND E140ISV.CODSER = E080SER.CODSER /
AND E140ISV.CODEMP = :VSIntCodEmp AND E140ISV.CODFIL = :VSIntCodFil AND E140ISV.CODSNF = :VSIntCodSnf /
AND E140ISV.NUMNFV = :VSIntNumRps ORDER BY E140ISV.SEQISV;
VSIntDesSer = ;
Cur_E140ISV.AbrirCursor();
Enquanto (Cur_E140ISV.Achou)
Inicio
VSIntDesSer = VSIntDesSer + Cur_E140ISV.CPLISV + ......R$ + Formatar(Cur_E140ISV.VLRLSE, %n);
TamanhoAlfa(VSIntDesSer,vtam);
CaracterParaAlfa(10, CR);
InserirAlfa(CR,VSIntDesSer,vtam+1);
Cur_E140ISV.Proximo();
Fim;
Cur_E140ISV.FecharCursor();
@FIM@
É possível utilizar o identificador GER-000GERSDE1 para gerar o XML no padrão Senior com itens e observações (gerando as informações no grupo <InfSenior> do arquivo XML), neste caso no eDocs a forma de integração tem que ser SENIOR e nessa situação os itens são todos separados um por um no XML e não existe forma para que ocorra o agrupamento deles no XML.
Quando ocorre / onde se aplica: Emissão de NFS-e
Solução: Solução 3994: No padrão ABRASF de fato não existem itens, a TAG de Descriminação do serviço é um campo alfa de 2000 caracteres. Se existir mais de uma vez o mesmo item de serviço na NF, é gerado no XML padrão ABRASF apenas 1 registro somando todas as quantidades de todos os itens de serviço iguais.
É possível manipular através do identificador GER-000ABRASF1 a informação da descriminação.
@EXEMPLO REGRA@
Definir numero VSIntCodEmp;
Definir numero VSIntCodFil;
Definir alfa VSIntCodSnf;
Definir numero VSIntNumRps;
Definir alfa VSIntDesSer;
Definir alfa CR;
Definir Cursor Cur_E140ISV;
Cur_E140ISV.Sql SELECT E140ISV.VLRLSE, E080SER.DesSer, E140ISV.SEQISV, E140ISV.CPLISV FROM E140ISV, E080SER /
WHERE E140ISV.CODEMP = E080SER.CODEMP AND E140ISV.CODSER = E080SER.CODSER /
AND E140ISV.CODEMP = :VSIntCodEmp AND E140ISV.CODFIL = :VSIntCodFil AND E140ISV.CODSNF = :VSIntCodSnf /
AND E140ISV.NUMNFV = :VSIntNumRps ORDER BY E140ISV.SEQISV;
VSIntDesSer = ;
Cur_E140ISV.AbrirCursor();
Enquanto (Cur_E140ISV.Achou)
Inicio
VSIntDesSer = VSIntDesSer + Cur_E140ISV.CPLISV + ......R$ + Formatar(Cur_E140ISV.VLRLSE, %n);
TamanhoAlfa(VSIntDesSer,vtam);
CaracterParaAlfa(10, CR);
InserirAlfa(CR,VSIntDesSer,vtam+1);
Cur_E140ISV.Proximo();
Fim;
Cur_E140ISV.FecharCursor();
@FIM@
É possível utilizar o identificador GER-000GERSDE1 para gerar o XML no padrão Senior com itens e observações (gerando as informações no grupo <InfSenior> do arquivo XML), neste caso no eDocs a forma de integração tem que ser SENIOR e nessa situação os itens são todos separados um por um no XML e não existe forma para que ocorra o agrupamento deles no XML.