RibaSoft
Membros-
Total de ítens
146 -
Registro em
-
Última visita
-
Days Won
1
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que RibaSoft postou
-
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
-
REJEIÇÃO 296 - Certificado Assinatura erro no acesso a LCR
RibaSoft replied to Tester Software's tópico in ACBrNFe
Aq em Carlópolis / PR, tambem -
Hint nas colunas do DBGrid Lazarus
RibaSoft replied to cruzi's tópico in Object Pascal - Delphi & Lazarus
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; -
@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
-
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.
-
Muito obrigado pela ajuda, vou testar as duas dicar e reporto aq o resultado de cada uma, DEUS abençoe a todos.
-
@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.
-
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.
-
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;
-
Ta bom, muito obrigado por responder, achei mesmo estranho, vou revisar novamente pra tentar descobrir e aviso aq, DEUS abençoe
-
Olá à todos, depois de muito tentar não consegui achar uma solução, ao importar um xml de nfe pelo componente acbrnfe, da access violation em um xml de TPAG = 3 "Cartão de Crédito" que não possui a tag TBand. Tentei usar o if assigned(auxNF.NotasFiscais.Items[0].NFe.pag.Items[I].tBand)then antes de tentar acessar o valor de tBand mas ele não aceita, tem alguma forma correta de verificar se essa tag existe antes de tentar acessá-la?
-
Vazamento de Memória FortesReports
RibaSoft replied to RibaSoft's tópico in Dúvidas não relacionadas ao ACBr
Olá a todos é com grande alegria que venho informar que o problema de vazamento de memória do fortes foi corrigido aparentemente em 15 de dezembro de 2023. ja testei com o lazarus 3.2.2 e está td certo. Da minha parte pode fechar o topico se necessário. DEUS abençoe a todos.- 4 replies
-
- memory leak
- fortesce
-
(e 1 mais)
Tags:
-
Erro ao enviar XML NFC-e
RibaSoft replied to Evandro Lucas's tópico in NFC-e - Nota Fiscal do Consumidor Eletrônica
Olá, como não postaram aq a solução vou postar, pois passei pelo mesmo erro e cai aq. No meu caso resolveu mudando o tipo de envio de ASincrono para Sincrono... de auxNF.Enviar('1', True, False); para auxNF.Enviar('1', True, True); DEUS abençoe a todos. -
Vazamento de Memória FortesReports
RibaSoft replied to RibaSoft's tópico in Dúvidas não relacionadas ao ACBr
Mais um detalhe q obserei, até para impressão de NFe pelo componente do ACBr tambem esta dando vazamento, vou desistalar o lazarus e instalar novamente, qualquer coisa aviso aq.- 4 replies
-
- memory leak
- fortesce
-
(e 1 mais)
Tags:
-
Vazamento de Memória FortesReports
RibaSoft replied to RibaSoft's tópico in Dúvidas não relacionadas ao ACBr
Continuei testando e pesquisando, na verdade o problema está só nesse trecho "TRLPreviewForm.Create(nil)" Mesmo colocando o Free no final o vazamento permanece- 4 replies
-
- memory leak
- fortesce
-
(e 1 mais)
Tags:
-
Vazamento de Memória FortesReports
um tópico no fórum postou RibaSoft Dúvidas não relacionadas ao ACBr
Olá, estou com um problema de Vazamento de memória no preview do Fortes Report, estou usando o lazarus 2.4.6, windows 10x64. Esse vazamento não ocorria antigamente, ao menos eu nunca tinha percebido, começou a ocorrer depois que formatei o pc e passei do windows 11 para o windows 10. Pesquisei bastante na net, e achei pessoas relatando isso a muito tempo atraz, mas sem solução e alguns desistindo do fortes. O vamento se encontra exatamente aq... SentToPrinter := False; with TRLPreviewForm.Create(nil) do begin Preview.Pages := APages; if DefaultZoomFactor = ZoomFactorFullWidth then Preview.ZoomFullWidth else if DefaultZoomFactor = ZoomFactorFullPage then Preview.ZoomFullPage else if DefaultZoomFactor = ZoomFactorMultiplePages then Preview.ZoomMultiplePages else if DefaultZoomFactor > 0 then Preview.ZoomFactor := DefaultZoomFactor; UpdateComboBoxZoom; Position := APosition; WindowState := AWindowState; BorderIcons := ABorderIcons; HelpFile := AHelpFile; HelpContext := AHelpContext; if ACaption <> '' then Caption := ACaption; FormStyle := AFormStyle; if AShowModal then ShowModal else if Visible then BringToFront else Show; end; no RLPreviewForm obs. já reinstalei o Fortes e uso o tortoise pelo link https://github.com/fortesinformatica/fortesreport-ce/trunk Desde já agradeços a todos que puderem me ajudar.- 4 replies
-
- memory leak
- fortesce
-
(e 1 mais)
Tags:
-
Nossa Daniel, muiiito obrigado, agora o limite é a imaginação, muito obrigado mesmo, DEUS abençoe
-
Olá a todos, dei uma boa pesquisada e não achei nada a respeito, nem no site do FPDF em PHP, pelo contrário, oq vi foi comentárioos de que não dava pra fazer, ou gente que tentou e não conseguiu. Para negrito existe a procedure SetFont, porém como proceder dentro de uma frase (String), onde somente uma palavra deve ser negrita? Eu costumo utilizar a procedure MultiCell, para paragrafos com multiplas linhas, e o SetFont antes de cada multicell, mas como fazer no meio sem perder a identação? Perdoem minha leiguisse
-
ACBrBoletoFPDF com caracteres de acentuação no Lazarus
RibaSoft replied to armando.boza's tópico in ACBrBoleto
Dai provisóriamente eu resolvi aq assim, alterando a função do arquivo fpdf.pas Lembrando que todos meus arquivos estão setados como utf8 -
ACBrBoletoFPDF com caracteres de acentuação no Lazarus
RibaSoft replied to armando.boza's tópico in ACBrBoleto
Uhuu, achei um caminho, em uses, declara "LConvEncoding" dai as strings que for passar para o FPDF usa a função "UTF8ToCP1252('Endereço: ');" E seta "PDF.SetUTF8(False);" Dessa forma pode se usar os arquivos do lazarus codificado em utf8, tanto seu código quanto o "fpdf.pas" -
ACBrBoletoFPDF com caracteres de acentuação no Lazarus
RibaSoft replied to armando.boza's tópico in ACBrBoleto
Então, o problema é que o comportamento difere para strings escritas diretas no codigo e strings passadas pelos Edits, dai criei um teste e usei conforme o Demo, dai só obtive sucesso, da forma que mensionei. Mas pelo que entendi o Juliomar vai dar uma olhada pra gente. . -
ACBrBoletoFPDF com caracteres de acentuação no Lazarus
RibaSoft replied to armando.boza's tópico in ACBrBoleto
Aqui também estou brigando com a acentuação, a unica forma que da certo é ir em projeto >> opções de projeto >> Adiçoes e Sobreposiçoes e clicar em "Usar codificação do sistema", o problema é que dai bagunça algumas mensagens traduzidas do lazarus tipo "não" fica "n?o" Estou usando windows11x64 com lazarus 2.4.6 -
Achei esse video que explica exatamente oq eu precisava, vou deixar aq caso alguem tenha a mesma duvida, agora sim, caso queiram pode fechar o topico definitivamente.
-
Muito obrigado . Que bom que estou no caminho certo