Ir para conteúdo
  • Cadastre-se

RibaSoft

Membros
  • Total de ítens

    150
  • Registro em

  • Última visita

  • Days Won

    1

RibaSoft last won the day on 13 Maio 2023

RibaSoft had the most liked content!

Contact Methods

  • Website URL
    http://ribasoft.blogspot.com

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

RibaSoft's Achievements

Community Regular

Community Regular (8/14)

  • Dedicated Rare
  • Reacting Well Rare
  • First Post
  • Collaborator Rare
  • Conversation Starter

Recent Badges

66

Reputação

5

Community Answers

  1. Estou com o mesmo problema no Paraná
  2. Olá a todos, procurei algo semelhante em outros tópicos, mas não encontrei, por isso estou criando este. Para leitura de xmls baixados no site do Receita/PR "NFs Emitidas contra o CNPJ" esse erro ocorre ao tentar carregar o xml no componte utilizando o {$DEFINE USE_ACBr_XMLDOCUMENT} Comentando-o {.$DEFINE USE_ACBr_XMLDOCUMENT} e recompilando o projeto ele lê normalmente. xxxxxxxxxx.xml
  3. Consegui descobrir aqui, eu estava pegando o retorno do evento de forma errada. Estou usando esse agora e deu certo. "auxMDF.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.XML;". Obrigado. Da minha parte pode fechar o Tópico.
  4. Olá a todos. Estou tentando imprimir eventos do MDFe, uso o mesmo padrão tanto no NFe, NFCe, CTe e todos funcionam porém ao tentar com o MDFe ele retorna vazio com mensagem de "cancelamento" mesmo sendo um evento de encerramento. Se eu uso o método auxM.EventoMDFe.LerXML funciona perfeitamente, mas se uso o auxM.EventoMDFe.LerXMLFromString não funciona. Acabei de zerar o ACBr e o Lazarus do me PC e continua da mesma forma, estou desde sedo procurando nos tópicos e não achei nada que resolvesse. var auxXML: string; auxM: TACBrMDFe; auxI: TACBrMDFeDAMDFeRL; begin DataModulo.OpenSQL('SELECT XML FROM MDF_EVENTOS WHERE ID = 1); auxXML := DataModulo.Query.FieldByName('XML').AsString; try auxM := TACBrMDFe.Create(nil); auxM.EventoMDFe.LerXMLFromString(auxXML); try auxI := TACBrMDFeDAMDFeRL.Create(nil); auxM.DAMDFE := auxI; auxM.ImprimirEvento; finally FreeAndNil(auxI); end; finally FreeAndNil(auxM); end; end;
  5. NFC modelo cupom válido http://www.fazenda.pr.gov.br/nfce/qrcode?p=41240931505493000145650010000019201000057604|2|1|1|4592077A36FB0F040C88445D6C80E8662A95D02A Mesma NFC modelo A4 inválido http://www.fazenda.pr.gov.br/nfce/qrcode?p=41240931505493000145650010000019201000057604|2|1|0|132F040269C61687060B97CE946505B07B05DBC7
  6. Aconteceu o mesmo comigo aq, no formato cupom da certo, no formato a4 da esse mesmo erro alguém conseguiu resolver? parana aq tambem
  7. Aq em Carlópolis / PR, tambem
  8. Caso interesse á alguem fiz para funcionar no lazarus procedure TFormOrcamento.DBGridDadosMouseMove(Sender: TObject; Shift: TShiftState; X, Y: integer); var C, L, auxID: integer; auxB: TBookMark; begin //Pega a Coluna e a Linha pela posição X, Y (Sender as TDBGrid).MouseToCell(X, Y, C, L); if(L < 1)then Exit; try //Marca a posição do dataset auxB := DataSourceDados.DataSet.GetBookmark; //Desabilita controles para não ficar oscilando DataSourceDados.DataSet.DisableControls; //Vai para a linha desejada DataSourceDados.DataSet.RecNo := L; //Pega a informação auxID := DataSourceDados.DataSet.FieldByName('ID').AsInteger; //Adiciona a informação ao Hint (Sender as TDBGrid).Hint := 'ID: ' + IntToStr(auxID); //Mostra o Hint Application.ActivateHint(Mouse.CursorPos); finally //Volta para a posição inicial DataSourceDados.DataSet.GotoBookmark(auxB); //Limpa a marcação DataSourceDados.DataSet.FreeBookmark(auxB); //Reabilida controles DataSourceDados.DataSet.EnableControls; end; end;
  9. @Fabrício G. Araújo A sim, vou dar uma olhada e refatorar o código, obrigado pela dica, fico muito contente com novos conhecimentos e melhores praticas de programação, DEUS abençoe
  10. Boa noite, graças a DEUS descobri, não sei exatamente o porque mas deu certo. Agradeço a explicação de ambos, não conhecia o "TNFe" da "pcnNFE", fico grato pelo conhecimento, mas como o "Record" já estava pronto deixei com ele mesmo, nas proximas vezes usarei o "TNFe". Então... usando o exemplo do @Fabrício G. Araújo, rodou normal e o meu dava erro, dai de pois de varios testes descobri que tirando o "bcOutros: Pag[I].TBAND := 99;" do case o erro parou. Dai ficou assim e funciona perfeitamente... if (Pag[I].TPAG = 3) or (Pag[I].TPAG = 4) then case auxNF.NotasFiscais.Items[0].NFe.pag[I].tBand of bcVisa: Pag[I].TBAND := 1; bcMasterCard: Pag[I].TBAND := 2; bcAmericanExpress: Pag[I].TBAND := 3; bcSorocred: Pag[I].TBAND := 4; bcDinersClub: Pag[I].TBAND := 5; bcElo: Pag[I].TBAND := 6; bcHipercard: Pag[I].TBAND := 7; bcAura: Pag[I].TBAND := 8; bcCabal: Pag[I].TBAND := 9; bcAlelo: Pag[I].TBAND := 10; bcBanesCard: Pag[I].TBAND := 11; bcCalCard: Pag[I].TBAND := 12; bcCredz: Pag[I].TBAND := 13; bcDiscover: Pag[I].TBAND := 14; bcGoodCard: Pag[I].TBAND := 15; bcGreenCard: Pag[I].TBAND := 16; bcHiper: Pag[I].TBAND := 17; bcJcB: Pag[I].TBAND := 18; bcMais: Pag[I].TBAND := 19; bcMaxVan: Pag[I].TBAND := 20; bcPolicard: Pag[I].TBAND := 21; bcRedeCompras: Pag[I].TBAND := 22; bcSodexo: Pag[I].TBAND := 23; bcValeCard: Pag[I].TBAND := 24; bcVerocheque: Pag[I].TBAND := 25; bcVR: Pag[I].TBAND := 26; bcTicket: Pag[I].TBAND := 27; else Pag[I].TBAND := 99; end; Se alguem puder explicar pq esse "bcOutros" deu problema nesse contexto fico muito feliz pois gosto de aprender td nos minimos detalhes, mas o problema já está resolvido e da minha porte pode fechar o tópico se necessário, muito obrigado mesmo pela dedicação de vcs. DEUS abençoe.
  11. Muito obrigado pela ajuda, vou testar as duas dicar e reporto aq o resultado de cada uma, DEUS abençoe a todos.
  12. @Fabrício G. AraújoMuito obrigado pela sua boa vontade em me ajudar, esse Pag[I].TPAG é um "Pag: array of TPagamentos;" e T pagamentos é "TPagamentos = record TPAG: integer; TBAND: integer; VPAG: currency; CAUT: string; end;" onde armazeno os dados extraidos do xml para depois inseri-los no banco de dados. Eu Determino o tamanho do array assim: C := auxNF.NotasFiscais.Items[0].NFe.pag.Count; {$Hints off} SetLength(Pag, C); {$Hints on} o auxNF é "auxNF: TACBrNFe;" eu gosto de criar todos os componentes em tempo de execução. esse codigo funcionar normalmente quando a tag "TBand" existe dentro da tag "Tpag", só dá problema quando a tag "TBAnd" não existe. E o erro e "access" é exatamente na linha "case auxNF.NotasFiscais.Items[0].NFe.pag.Items[I].tBand of" ou seja quando tento ler a informação tBand, não chega a ir na linha onde meu array está. Fico muito grato pela atenção, eu estava em um grupo de Lazarus tentando ajudar o máximo de gente possivel, mas o pessoal começou a abusar muito, tipo querendo se aproveitar da minha boa vontade, eu só peço ajuda depois de muito tentar e realmente não conseguir. e entendo pq as vezes o pessoal não quer ajudar ou dá uns "coice" por aq.
  13. Sim, tem o Pag.count por isso no "Items[I].tPag" não da erro pois o pagamento existe, o problema é que mesmo sendo cartão de crédito e existindo o pagamento, a tag TBand não existe nesse pagamento nesses xmls dessa cliente.
  14. Então.. Logo após esse meu codigo esta exatamente assim dentro de um for ou seja o mesmo "I" que passa no ...Items[I].tPag da violation no ...Items[I].tBand e só dá esse problema quando no xml o tband esta ausente. case auxNF.NotasFiscais.Items[0].NFe.pag.Items[I].tPag of fpDinheiro: Pag[I].TPAG := 1; fpCheque: Pag[I].TPAG := 2; fpCartaoCredito: Pag[I].TPAG := 3; fpCartaoDebito: Pag[I].TPAG := 4; fpCreditoLoja: Pag[I].TPAG := 5; fpValeAlimentacao: Pag[I].TPAG := 10; fpValeRefeicao: Pag[I].TPAG := 11; fpValePresente: Pag[I].TPAG := 12; fpValeCombustivel: Pag[I].TPAG := 13; fpBoletoBancario: Pag[I].TPAG := 15; fpDepositoBancario: Pag[I].TPAG := 16; fpPagamentoInstantaneo: Pag[I].TPAG := 17; fpTransfBancario: Pag[I].TPAG := 18; fpProgramaFidelidade: Pag[I].TPAG := 19; fpSemPagamento: Pag[I].TPAG := 90; else Pag[I].TPAG := 0; end; if (Pag[I].TPAG = 3) or (Pag[I].TPAG = 4) then case auxNF.NotasFiscais.Items[0].NFe.pag.Items[I].tBand of bcVisa: Pag[I].TBAND := 1; bcMasterCard: Pag[I].TBAND := 2; bcAmericanExpress: Pag[I].TBAND := 3; bcSorocred: Pag[I].TBAND := 4; bcDinersClub: Pag[I].TBAND := 5; bcElo: Pag[I].TBAND := 6; bcHipercard: Pag[I].TBAND := 7; bcAura: Pag[I].TBAND := 8; bcCabal: Pag[I].TBAND := 9; bcAlelo: Pag[I].TBAND := 10; bcBanesCard: Pag[I].TBAND := 11; bcCalCard: Pag[I].TBAND := 12; bcCredz: Pag[I].TBAND := 13; bcDiscover: Pag[I].TBAND := 14; bcGoodCard: Pag[I].TBAND := 15; bcGreenCard: Pag[I].TBAND := 16; bcHiper: Pag[I].TBAND := 17; bcJcB: Pag[I].TBAND := 18; bcMais: Pag[I].TBAND := 19; bcMaxVan: Pag[I].TBAND := 20; bcPolicard: Pag[I].TBAND := 21; bcRedeCompras: Pag[I].TBAND := 22; bcSodexo: Pag[I].TBAND := 23; bcValeCard: Pag[I].TBAND := 24; bcVerocheque: Pag[I].TBAND := 25; bcVR: Pag[I].TBAND := 26; bcTicket: Pag[I].TBAND := 27; bcOutros: Pag[I].TBAND := 99; end;
  15. Ta bom, muito obrigado por responder, achei mesmo estranho, vou revisar novamente pra tentar descobrir e aviso aq, DEUS abençoe
×
×
  • 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...