Ir para conteúdo
  • Cadastre-se

mufalo

Membros
  • Total de ítens

    12
  • Registro em

  • Última visita

Posts postados por mufalo

  1. Bom dia a todos.

    Ao tentar enviar a NFS-e estou recebendo o seguinte erro:

    javax.xml.bind.UnmarshalException - with linked exception:[org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1050; cvc-complex-type.2.4.a: Invalid content was found starting with element 'ExigibilidadeISS'. One of '{"http://www.abrasf.org.br/nfse.xsd":ExigibilidadeISSEnum}' is expected.]
    Valide o xml segundo o schema fornecido no manual.

    Em anexo o XML enviado e o recebido.

    O campo que está dando está correto. O interessante é que a validação fala de um enumerator que não existe no XSD.

     

    O erro começou ontem. Até na quarta estava tudo normal, e já liguei hoje na prefeitura e estão em ponto facultativo, só segunda para encontrar alguém de suporte.

     

    392501-env-lotS.xml 392501-recS.xml

  2. Não foi permitido anexar o patch, então está aqui:

    Index: ACBrBancoBrasil.pas
    ===================================================================
    --- ACBrBancoBrasil.pas (revision 5882)
    +++ ACBrBancoBrasil.pas (working copy)
    @@ -1428,14 +1428,11 @@
        rCedente      := trim(Copy(ARetorno[0],47,30));
        rAgencia      := trim(Copy(ARetorno[0],27,4));
        rDigitoAgencia:= Copy(ARetorno[0],31,1);
    -   rConta        := trim(Copy(ARetorno[1],32,8));
    +   rConta        := trim(Copy(ARetorno[0],32,8));
        rDigitoConta  := Copy(ARetorno[0],40,1);
    -   
        rCodigoCedente:= Copy(ARetorno[0],150,7);
     
    -
        ACBrBanco.ACBrBoleto.NumeroArquivo := StrToIntDef(Copy(ARetorno[0],101,7),0);
    -
        ACBrBanco.ACBrBoleto.DataArquivo   := StringToDateTimeDef(Copy(ARetorno[0],95,2)+'/'+
                                                                  Copy(ARetorno[0],97,2)+'/'+
                                                                  Copy(ARetorno[0],99,2),0, 'DD/MM/YY' );
    @@ -1447,12 +1444,13 @@
          rCNPJCPF := Copy(ARetorno[1],4,14);
        end;
     
    -
        with ACBrBanco.ACBrBoleto do
        begin
           if (not LeCedenteRetorno) and
    -         ((rAgencia <> OnlyNumber(Cedente.Agencia)) or
    -          (rConta <> OnlyNumber(Cedente.Conta))) then
    +         (
    +          (StrToIntDef(OnlyNumber(rAgencia),-1) <> StrToIntDef(OnlyNumber(Cedente.Agencia),-2) ) or
    +          (StrToIntDef(OnlyNumber(rConta),-1)   <> StrToIntDef(OnlyNumber(Cedente.Conta),-2)   )
    +         ) then
              raise Exception.Create(ACBrStr('Agencia\Conta do arquivo inválido'));
     
           Cedente.Nome         := rCedente;
    @@ -1501,10 +1499,11 @@
                DescricaoMotivoRejeicaoComando.Add(CodMotivoRejeicaoToDescricao(OcorrenciaOriginal.Tipo,CodMotivo));
              end;
     
    -         DataOcorrencia := StringToDateTimeDef( Copy(Linha,111,2)+'/'+
    -                                                Copy(Linha,113,2)+'/'+
    -                                                Copy(Linha,115,2),0, 'DD/MM/YY' );
     
    +         DataOcorrencia := StringToDateTimeDef( Copy(Linha,107,2)+'/'+
    +                                                Copy(Linha,109,2)+'/'+
    +                                                Copy(Linha,111,2),0, 'DD/MM/YY' );
    +
              Vencimento := StringToDateTimeDef( Copy(Linha,147,2)+'/'+
                                                 Copy(Linha,149,2)+'/'+
                                                 Copy(Linha,151,2),0, 'DD/MM/YY' );
    @@ -1521,10 +1520,9 @@
              ValorDespesaCobranca := StrToFloatDef(Copy(Linha,182,07),0)/100; //--Anderson: Valor tarifa
              ValorOutrasDespesas  := StrToFloatDef(Copy(Linha,189,13),0)/100;
     
    -         if StrToIntDef(Copy(Linha,296,6),0) <> 0 then
    -            DataCredito:= StringToDateTimeDef( Copy(Linha,176,2)+'/'+
    -                                               Copy(Linha,178,2)+'/'+
    -                                               Copy(Linha,180,2),0, 'DD/MM/YY' );
    +         DataCredito:= StringToDateTimeDef( Copy(Linha,176,2)+'/'+
    +                                            Copy(Linha,178,2)+'/'+
    +                                            Copy(Linha,180,2),0, 'DD/MM/YY' );
           end;
        end;
     
     
  3. Bom dia,

    Efetuei algumas modificações na leitura do CNAB400 do Banco do Brasil.

    -Correção da busca do número da conta (estava pegando da 2ª linha. o dado está na primeira)

    -Melhoria na validação de agencia e conta do arquivo com os dados de emissão.

    -Correção da coluna da DataOcorrencia, conforme manual http://www.bb.com.br/docs/pub/emp/empl/dwn/Doc2628CBR643Pos7.pdf

    -Remoção da Verificação do conteúdo da coluna 296 antes de obter a DataCredito. (conforme o manual, não havia lógica na verificação)

    Segue em anexo o diff das modificações efetuadas.

     

     

  4. Como já disse, não estou isentando o meu sistema do erro. Inclusive o mesmo já foi corrigido.

    Só estou batendo na tecla de que um XML assinado, válido, neste situação (item de 2 em 2), ao ser aberto pelo componente e salvo novamente, invalida-se a assinatura.

    Com aquela alteração q enviei, isso não acontece.

    Acredito que o componente deva tentar manter ao máximo a originalidade do XML aberto, para não se invalidar a assinatura do mesmo.

  5. Olá a todos.

    Meu sistema estava gerando erroneamente as tags nItem, do grupo det. Estava incrementando de 2 em 2 (1, 3 ,5 ,7 ,9, 11...)

    E comecei a notar erro quando iria recarregar o XML e enviar por email. O XML "reaberto" reorganizava a numeração dos itens. (mudava para 1, 2, 3, 4, 5, ...)

    Olhando os fontes, encontrei onde era reorganizado os itens:

    Na linha 331, do pcnNFER.pas havia a seguinte linha:

    (* *)NFe.Det.prod.nItem := i + 1;

    substitui por

    (* *)NFe.Det.prod.nItem := nItem;

    e resolveu o problema.

    Acredito que esta correção deva ser aplicada ao componente, pois quando se carregar um XML deve ser mantido exatamente os dados que foram encontrados.

    Obrigado

    Adriano.

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.