Ir para conteúdo
  • Cadastre-se

LeandroHermes

Membros
  • Total de ítens

    2
  • Registro em

  • Última visita

Últimos Visitantes

377 visualizações

LeandroHermes's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Week One Done
  • One Month Later
  • One Year In
  • Conversation Starter

Recent Badges

0

Reputação

  1. Caso alguém enfrente a mesma situação, o que eu fiz foi o seguinte: Levei em consideração o fato de que, no grupo infNFe (assim como nos outros documentos), deve-se informar o grupo infUnidTransp com infUnidCarga como filho dele, OU então, informar apenas o grupo infUnidCarga sozinho. Não deve ser informados infUnidTransp e infUnidCarga como filhos diretos do grupo infNFe, apenas um ou outro. Assim, verifico se não foi gerado o grupo infUnidTransp, para poder gerar o infUnidCarga. No arquivo pcteCTeT, função TCTeR.LerXML, linha 751 (ao menos no meu arquivo), coloque o while dentro de uma condição, ficou assim: //i02 := 0; if i02 = 0 then begin while Leitor.rExtrai(4, 'infUnidCarga', '', i02 + 1) <> '' do begin CTe.infCTeNorm.infDoc.infNFE[i01].infUnidCarga.Add; CTe.infCTeNorm.infDoc.infNFE[i01].infUnidCarga[i02].tpUnidCarga := StrToUnidCarga(ok, Leitor.rCampo(tcStr, 'tpUnidCarga')); CTe.infCTeNorm.infDoc.infNFE[i01].infUnidCarga[i02].idUnidCarga := Leitor.rCampo(tcStr, 'idUnidCarga'); CTe.infCTeNorm.infDoc.infNFE[i01].infUnidCarga[i02].qtdRat := Leitor.rCampo(tcDe2, 'qtdRat'); i03 := 0; while Leitor.rExtrai(5, 'lacUnidCarga', '', i03 + 1) <> '' do begin CTe.infCTeNorm.infDoc.infNFE[i01].infUnidCarga[i02].lacUnidCarga.Add; CTe.infCTeNorm.infDoc.infNFE[i01].infUnidCarga[i02].lacUnidCarga[i03].nLacre := Leitor.rCampo(tcStr, 'nLacre'); inc(i03); end; inc(i02); end; end;
  2. Boa tarde amigos, Estou utilizando o ACBrCTe, com fontes atualizados hoje pela manhã. Gerei um XML, informei em infNFe o nó infUnidTransp, e dentro dele dois nós infUnidCarga. Assinei o arquivo, validei, abri e conferi visualmente a estrutura, tudo certo. No entanto, ao utilizar a rotina de enviar o arquivo, retornou um erro na validação, dizendo que encontrou a tag infUnidCarga onde não deveria. Abri novamente o mesmo arquivo e notei que os dois nós infUnidCarga que estavam dentro do infUnidTransp foram replicados para fora dele, como se fossem filhos do infNFe. Executando a aplicação em modo Debug, notei que isso ocorre toda vez que o componente chama a rotina Assinar; onde salva o arquivo novamente, replicando as tags mencionadas toda vez que executo a rotina. Fiz este teste várias vezes e a situação ocorreu em todas. Em anexo, o XML que foi assinado, depois validado, depois usei a função Enviar, que causou o erro acima citado. Desde já, grato pela atenção. P.S.: Debugando mais a fundo, descobri que o bug está já na leitura do XML, devido ao fato de existirem dois nós com o mesmo nome, mesmo em níveis diferentes. Mais precisamente, na unit pcteCTeR.pas, na função TCTeR.LerXML (no arquivo que tenho atualmente, a partir da linha 750), está lendo conteúdo das tags já lidas anteriormente, que são de outro nível. Vou fazer um ajuste temporário no código, mas aguardo atualização da função. Abraços. 42141209358661000168570010000000051000000059-cte.xml
×
×
  • 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.