Ir para conteúdo
  • Cadastre-se

LIDERNetwork

Membros
  • Total de ítens

    150
  • Registro em

  • Última visita

Posts postados por LIDERNetwork

  1. Ola senhores, nao entendi bem, no caso o PSP Mercado Pago nao sera usado no ACBRPIXCD e o ACBR nao dará suporte ao mesmo ou somente foi removido o endereço https de produção? Não ficou claro a resposta do Alexandre.

  2. Houveram alterações no preenchimento do pagamento quando PIX, antes estava informando se integrado ou não e o cAut, que no caso agora é apenas quando pagamento cartão. Portanto apenas informar tpag e vpag para pagamento PIX e as demais informações como o id de pagamento informar na tag InfAdic.obsCont conforme orientação no tópico abaixo: 

     

  3. @gabriel_mororo, eu descontinuei esse projeto em Delphi devido a limitações de leitura NFC e acesso a câmera do dispositivo com a nova versão do SDK e fomos para flutter, no github (Cielo Developers (github.com)) onde possui os exemplos com integração hibrida as para as demais função fizemos nativa em flutter. Para impressão em Delphi sugiro usar a integração Hibrida passando para a intent veja exemplo Manual de Integração Hibrida · Documentações e tutoriais (developercielo.github.io)

  4. 2 minutos atrás, djinfope disse:

    @LIDERNetwork você teria algum exemplo de como fez a parte de impressão? o material qe tinha passado antes foi de grande ajuda e meu app agora esta comunicando só falta a impressão para testar em uma maquina fisica.

    Ola @djinfope te passo sim, so quando chegar no pc mais tarde OK! Vou te passar como fiz, pode nao ser o ideal mas aqui esta funfando de boa...

  5. Olá @Carlos Modesto, sim isso mesmo, vc nos ajudou com seu código lá no GitHub e agradeço muito pela contribuição. Tive que fazer nova leitura e conversão do SDK da Cielo para a versão atual e implementei novas funcionalidades como impressão de comprovante, pagamento por PIX dentre outras, mas parti do principio usando seu código e isso foi a virada de chave que precisava na época, obrigado!

  6. Vou exemplificar aqui alguns passos para quem é iniciante. Para quem já tem expertise desculpe algum equivoco. Vou tentar repassar a minha experiência vivida nesses 3 dias e como resolvi num passo a passo que serve para quem está com dificuldades:

    1 - Usar somente o método DistribuicaoDFePorUltNSU, não utilizar os demais disponíveis até que a SEFAZ se manifeste novamente

    2 - Após executar o método DistribuicaoDFePorUltNSU, será disponibilizado os últimos 50 documentos (se houver) disponíveis no prazo de 90 dias, que vem em um único lote em ACBRNFe.WebServices.DistribuicaoDFe.retDistDFeInt

    3 - Gravar em banco ou arquivo local o ultimo NSU capturando da property ACBRNFe.WebServices.DistribuicaoDFe.retDistDFeInt.ultNSU

    4 - Realizar o manifesto dos documentos retornados dando ciência apenas nos itens interessados.

    5 - Após manifestar os documentos, aguardar pelo menos 30min ou mais para executar novamente o método DistribuicaoDFePorUltNSU, para não ocorrer o risco de consumo indevido e bloqueio por 1h. Meu erro aqui era estar consultando isso em um curto espaço de tempo, o que gerava consumo indevido e com isso não me retornava mais nada.

    6 - Após os 30min ou mais de espera e quando executar novamente o método DistribuicaoDFePorUltNSU agora usando o NSU repassado no item 3 acima, será disponibilizado pela SEFAZ os XML dos documentos anteriormente manifestados (Se assim houver já disponível). Realizar um loop usando um for I := 0 to RetornoDist.docZip.Count - 1 do, pegando no índice o XML em ACBRNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[I].XML. Isso é necessário porque os demais métodos por chave e por NSU estão paralisados, mas usando esse DistribuicaoDFePorUltNSU já consegue ter acesso aos XMLs manifestados anteriormente.

    7 - Verificar se existe XML válido porque também vem os XML de recibos e eventos e precisamos descarta-los nesse loop usando um if, exemplo:

    if Pos('nfeProc', ACBRNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items[I].XML) > 0 then

    8 - Gravar o XML no banco para posterior consumo pelo seu ERP.

    Se eu estiver esquecido de algum passo ou estiver errado em algum, por favor sintam-se a vontade para questionar e com isso aprenderemos juntos.

    Espero ter ajudado...

    • Curtir 3
    • Obrigado 3
  7. Ja estão bloqueando o CNPJ por 1h na segunda tentativa de consumo pelo método DistribuicaoDFePorUltNSU. 

    Como mencionado no post abaixo e como a possível solução de realizar uma nova consulta após manifestar as notas anteriormente retornadas no lote, e nesse momento teríamos os XMLs, mas na prática não acontece isso e cai em consumo indevido. 

     

    O problema sao as empresas de softwares que tem por ai aos montes prometendo download automático de XML, vendendo isso como serviço realizando consumos indevidos e atrapalhando quem de fato precisa trabalhar. O usuário iludido com isso acaba contratando esse "serviço" e quem paga a conta somos nós... Lamentável...

  8. Estou com o mesmo problema usando o fortes e em Esc POS ou não trava o sistema inteiro ao enviar o comando ACBR.imprimir. Nunca tive esse problema mas após atualização do componente Fortes pelo GitHub deu início a isso. Já tentei debugar mas n consegui identificar o problema porque acontece quando quer, não segue um padrão dificultado a solução. Mais alguém está passando por isso ??

  9. Obrigado pelo Retorno Daniel!

    Isso que não entendo, veja o vídeo abaixo. Fontes atualizados Hoje. Fiz uma modificação no código pra retirar pelo menos o inicio das tags mas o final n consigo.

    Teria como me passar as configs que vc usou nesse app? Tira o print e anexa no post, acho que pode ser má configuração...

    VIDEO: https://drive.google.com/file/d/1mh_yxg82oPy_YtXNIB07prG5oK0cbCHj/view?usp=sharing

  10. É o que disse no primeiro post, se colocar pra imprimir so as tags funciona, agora se vc carregar um XML de uma NFC-e no componente ACBRNFe ligado ao ACBRPostPrinter e dar o comando ACBR1.NotasFiscais.Imprimir exibe o problema, porque imprimindo isoladamente o QrCode funciona mas se imprimir a partir de um XML vai mostrar as tags <qrcode> na impressão conforme a imagem em anexo no primeiro post...

  11. Olá senhores,

    Após pesquisar bastante no fórum e não achando ninguém relatando o problema resolvi abrir novo tópico. Como se trata de equipamento POSTEF abri nesse local, caso eu esteja errado porfavor algum admin pode mover o post para o local adequado!

    Conforme imagem em anexo a este post, as impressões de NFC-e na GPOS700 da GERTEC usando a biblioteca GEDI nativa conforme demo do ACBR, está saindo as tags <qrcode> na impressão. O componente foi configurado conforme o demo e mesmo assim não obtive sucesso. Interessante é que se eu enviar o comando de impressão do QRCode isolado isso funciona não imprime as tags, mas se carregar um XML e dar o comando ACBR1.NotasFiscais.Imprimir as tags voltam a aparecer...

    Alguém já passou por essa situação e uma possível solução?

    qrcode.jpeg

  12. Eu apanhei bastante pra aprender a salada de códigos que vem de uma biblioteca JAVA para Delphi, eu acho até que é bem difícil vc encontrar um ser vivente que decifre tudo, nada além do esperado enquanto se trata de JAVA 🙄!! 

    Vou passar mais conteúdo, afim de ajudar outros colegas...

    Declare os Objetos das interfaces TJavaLocal, deverá ter um listener para o bind e outro para o pagamento que será usado para chamar o OrderManager:

     

    TServBindListener = class(TJavaLocal, JServiceBindListener)
      public
        procedure onServiceBound; cdecl;
        procedure onServiceBoundError(P1: JThrowable); cdecl;
        procedure onServiceUnbound; cdecl;
      end;
    
      TPagListener = class(TJavaLocal, JPaymentListener)
      public
        procedure onCancel; cdecl;
        procedure onError(P1: JPaymentError); cdecl;
        procedure onPayment(P1: JOrder); cdecl;
        procedure onStart; cdecl;
      end;

     

    Declare variáveis private ou public das classes Listener e uma variável da classe Java do tipo JOrderManager

     

    var
      OrderManager            : JOrderManager;
      ServiceBindListener     : TServBindListener;
      PaymentListener         : TPagListener;

    Vc precisa inicializar os objetos no form onde vc fará as chamadas

     

     

    initialization
    {Credenciais CIELO}
    const ClientID : string = 'SUA CLIENTEID';
    const AccessToken : string= 'SEU TOKEN_ACCESS';
    
    ServiceBindListener := TServBindListener.Create;
    
    PaymentListener := TPagListener.Create;
    
    OrderManager := TJOrderManager.JavaClass.init(TJdomain_Credentials.JavaClass.init(StringToJString(ClientID), StringToJString(AccessToken)),
      SharedActivityContext);
    
    OrderManager.bind(SharedActivity, ServiceBindListener);

     

    Até aqui a LIO já estará "escutando" todo pedido de pagamento...

    Para chamar o método e solicitar um ordem de pagamento

     

     function TfrmFORMULARIO.RealizaPagamento : boolean;
    {$IFDEF ANDROID}
    var
      LOrder: JOrder;
    {$ENDIF}
    begin
     {$IFDEF ANDROID}
     try
    
     begin
      LOrder := OrderManager.createDraftOrder(StringToJString(DadosVenda.codven.tostring));
    
      LOrder.addItem(StringToJString(CODIGO_PRODUTO), StringToJString(DESCRICAO_PRODUTO),
      CurrencyToNumeric(100.00,-2), CurrencyToNumeric(10,-3), StringToJString('UND'));
    
      OrderManager.placeOrder(LOrder);
    
      OrderManager.checkoutOrder(LOrder.getId, CurrencyToNumeric(DadosVenda.ValorVenda,-2), PaymentListener);
    
      Result := DadosVenda.StatusPagamento;
     end;
           except
           on e : Exception do
           begin
           ShowMessage(e.message);
           end;
           end;
    end;


    Nesse momento ao chamar OrderManager.checkoutOrder vai abrir o app da Cielo para passar o cartao, o retorno do método quando a LIO finalizar o pagamento vc captura em TPagtListener.onPayment onde os retornos possíveis vc pega com JStringToString(P1.getStatus.toString) dentro do método, veja a documentação para saber quais retornos possíveis...

    procedure TPagListener.onPayment(P1: JOrder);
    begin
      frmFORMULARIOn.Text1.Text := 'VENDA ID = ' + JStringToString(P1.getId) +
       #10#13 + ' VALOR = ' + P1.paidAmount.toString + #10#13 + 'VALOR RESTANTE = ' + P1.getPendingAmount.toString +
        #10#13 + 'STATUS = ' + JStringToString(P1.getStatus.toString);

    end;

    Dai pra frente veja se consegue desenrolar!

     

    • Curtir 2
  13. Em 22/06/2021 at 15:56, Ricardo Rohde disse:

    Xará,

     

    Mudei o seguinte  

    no mLinhaTotalItem, alterei o Alignment de taRightJustify para taCenter  (((

    image.png.8ef25b12b5392c1f146b280921732d24.png

     

    Na procedure FormataTextoItemParaNormal (linha 699)

    Mudei de: LinhaTotal := TDFeReportFortes.EspacejarTextoGrafico(LinhaTotal, mLinhaTotalItem.Width - 10, mLinhaTotalItem.Font);

    Para: LinhaTotal := TDFeReportFortes.EspacejarTextoGrafico(LinhaTotal, mLinhaTotalItem.Width - 50, mLinhaTotalItem.Font);

     

     

    Problema se resolve... qual impacto ocasionaria nos demais?!

    Aqui, com essa alteração não mudou mais nada além desse problema.

    
            Danfce := TACBrNFeDANFCeFortes.Create(nil);
            Danfce.MargemInferior     := 8;
            Danfce.MargemSuperior     := 8;
            Danfce.MargemEsquerda     := 1;
            Danfce.MargemDireita      := 5;
            Danfce.ImprimeQRCodeLateral := True;
            Danfce.ImprimeLogoLateral   := True;
            Danfce.LarguraBobina        := 280;
            Danfce.ImprimeEmUmaLinha    := False;
            Danfce.ExibeInforAdicProduto:= infNenhum;

     

    image.png.4e41a76492ef5240de5da28fcb6475a6.png

     

    Essas aqui, sobre o espaço eu já resolvi nao sei por que mas ao criar o componente em tempo de execução acontece esse espaço...

  14. Como forma de contribuição segue a conversão:

      alignCenter := TJHashMap.Create;
      alignCenter.put(StringToJString('KEY_ALIGN'), StringToJString('VAL_ALIGN_CENTER'));
      alignCenter.put(StringToJString('KEY_TYPEFACE'), StringToJString('1'));
      alignCenter.put(StringToJString('KEY_TEXT_SIZE'), StringToJString('20'));

     ImpLIO.printImage(DadosVenda.JBitmapNFCe, TJMap.Wrap(JObjectToID(alignCenter)), ListernerPrinter );

×
×
  • 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...