Ir para conteúdo
  • Cadastre-se

datilas

Membros
  • Total de ítens

    523
  • Registro em

  • Última visita

  • Days Won

    2

Posts postados por datilas

  1. 10 horas atrás, Juliomar Marchetti disse:

    Hum estranho eu to aqui com o pacote do ACBrGTIN para Lazarus. não subi ainda.

    como tu conseguiu instalar ele?

    eu não instalei ele apenas coloquei as pastas no path e crio o componente em tempo de execução.

    depois das alterações que fiz esta funcionando perfeitamente.

  2. estou testando o componente ACBrGTIN

    só pra deixar claro no delphi funciona muito bem.

    meu problema esta em usar com lazarus linux

    vou descrever aki como fiz para funcionar.

    não vou adicionar as units modificadas pois não sei se vai gerar problema em outros componentes.

    vou listar o que fiz para funcionar.

    unit ACBrGTINWebServices Linha  169 adicinar uses pcnConsts

    unit ACBrGTINRetConsultar linha 88
    function TRetConsultarGTIN.LerXml: boolean;
    remover o 

    Try 
    ...
    Except
     Result := False;
    End;

    pois esta suprimindo erros como falta do libxml2 e conversão de data
    então as propertys sempre ficam vazias quando acontece algum Except

    no xml a data vem nesse formato 2022-06-17T16:50:16-03:00

    então na unit ACBrXmlBase na linha 275
    era assim
    result := EncodeDataHora(ConteudoTag, 'YYYY/MM/DD')
    eu alterei para 
    result := Iso8601ToDateTime(ConteudoTag)

    pois na unit
    ACBrUtil.DateTime na function EncodeDataHora

    ele esta convertendo todos os "-" por "/"
    xData := Trim(StringReplace(DataStr, '-', '/', [rfReplaceAll]));
    o que faz isso 
    2022-06-17T16:50:16-03:00 
    virar isso
    2022/06/17T16:50:16/03:00

    e gera esse Except: "16:50:16/03:00" is not a valid time

    por isso alterei para Iso8601ToDateTime que funciona perfeitamente.
     

  3. 3 horas atrás, rogersontm disse:

    Prezados, estou tendo um retorno incompleto após dar um post utilizando synapse Delphi 10.3, alguém ja viu algo assim?
    Nem em showmessage, nem em messagebox, nem passando para stringlist, nem passando para um memo criado em tempo de execução, se obtém o retorno completo.

    Dia 14/02 começou isso, até então, este projeto está online e sendo utilizado todos os dias há pelo menos 1 ano e 2 meses.

    Utilizamos o 360Dialog como ponte para conversar com o WhatsApp.

    O retorno que era esperado:

    {"contacts":[{"input":"55555555555","wa_id":"555555555555"}],"messages":[{"id":"XXXXXXXXXXXXXXXXXXXXXXXXXX"}],"meta":{"api_status":"stable","version":"2.39.1"}}

    O retorno que está vindo:

    {"contacts":[{"input":"55555555555","wa_id":"555555555555"}],"messages":[{"id":"

    Simplesmente corta a string.

    image.png.e1394bddc683c64edec0d28087fd570d.png

     

    tenta:

    synHttpTextMsg.Document.Position := 0;
    sRetornoAPIOriginal := MemoryStreamToString(synHttpTextMsg.Document);

    ou

    try
     //declare uma variavel:
     //ssRetorno :TStringStream;
     
     synHttpTextMsg.Document.Position := 0;
     ssRetorno := TStringStream.Create('');
     synHttpTextMsg.Document.SaveToStream(ssRetorno);
     {.}
     ssRetorno.Position := 0;
     sRetornoAPIOriginal := ssRetorno.DataString;
    finally
     ssRetorno.Free;
    end;

     

    • Curtir 1
  4. no caso de cartão de debito ou credito, ou venda por app de terceiro (ifood, mercado livre etc) ja entendi como preencher,

    mas no caso de pix direto(do cliente para conta do comerciante sem uso de algum tef ou maquininha), aqui acontece muito esse tipo de operação.

    como devo preencher o registro 1601?

    alguém pode me ajudar?

  5. 1 hora atrás, Professor disse:

    Bom dia!
    Tenho trabalhado com MYSQL pela LocaWeb já alguns anos, porém, ultimamente está deixando muito a desejar (constantes problemas com provedor MYSQL) e nesses últimos dias (do dia 16 a 19/01/2022) meu banco de dados ainda continua sem acesso.  Isso está gerando muito transtornos/reclamações por parte dos clientes.


    Gostaria de saber de indicação de provedores MYSQL( melho custo/beneficio).

     

    Abç

    eu usei por pouco tempo, mas atendeu muito bem no que eu precisava

    https://saveincloud.com/pt/solucoes-cloud/cloud-banco-de-dados/

  6. 5 minutos atrás, Élviro Cavalcanti disse:

    Boa tarde Juliomar, fiz os testes com o mesmo banco, inserindo quatro registros numa venda, segue abaixo os resultados em tempo. Usando o servidor (Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz com 8BG) e o terminal que fez a inserção (Intel(R) Core(TM) i3-7100U CPU @ 2.40GHz com 4GB).

    Usei o seguinte formato para gravar o tempo 

     t := GetTickCount();
     t := GetTickCount() - t;
      //ShowMessage(FormatFloat(',0 milisegundos', t));
     Label23.Caption := 'Tempo de resposta : ' +  FormatFloat(',0 milisegundos', t);
     

    Unidac                IBX

    969                     234

    984                     216

    953                     234

    938                     203

     

     

    Deixo aqui o registro desse primeiro teste, assim podemos enriquecer nossos conhecimentos num fórum sempre construtivo !

    tente usar RETURNING no insert, assim vc não precisa fazer outro SELECT para gravar a venda

    ex:

    INSERT INTO DETVENDA
    ...
    RETURNING VLRTOTALCUSTO, DESCRICAO, QUANTIDADE, VLRDESCONTO, TOTALPESOLIQUIDO, TOTALPESOBRUTO, VLRALIQ_NAC, VALORTOTAL, SUBTOTAL
    
    
    e trocque:
    IBQueryDetVenda.ExecSQL;
    por:
    IBQueryDetVenda.Open;
    IBQueryDetVenda.First;
    While Not IBQueryDetVenda.EOF Do
    Begin
    ...
    //faz a soma aki
    IBQueryDetVenda.Next;
    end;

     

    • Curtir 2
  7. essa é a tabela de meios de pagamentos:

    01-Dinheiro        
    02-Cheque        
    03-Cartão de Crédito        
    04-Cartão de Débito        
    05-Crédito de Loja        
    10-Vale Alimentação        
    11-Vale Refeição        
    12-Vale Presente        
    13-Vale Combustível        
    14-Duplicata Mercanti        
    15-Boleto Bancário        
    16-Depósito Bancário        
    17-Pagamento Instantâneo (PIX)        
    18-Transferência bancária, Carteira Digital        
    19-Programa de fidelidade, Cashback, Crédito Virtual        
    90-Sem Pagamento        
    99-Outros

     

    "Tabela de bandeiras das Operadoras de cartão de crédito e/ou débito"    
    01-Visa
    02-Mastercard
    03-American Express
    04-Sorocred
    05-Diners Club
    06-Elo
    07-Hipercard
    08-Aura
    09-Cabal
    10-Alelo
    11-Banes Card
    12-CalCard 
    13-Credz
    14-Discover
    15-GoodCard
    16-GreenCard
    17-Hiper
    18-JcB
    19-Mais
    20-MaxVan
    21-Policard
    22-RedeCompras
    23-Sodexo
    24-ValeCard
    25-Verocheque
    26-VR
    27-Ticket
    99-Outros

    então para gerar a <infIntermed> vc tem que informar a tag <tPag> como 03 ou 04

    eu recomendo que vc acesse https://www.nfe.fazenda.gov.br/portal/listaSubMenu.aspx?Id=04BIflQt1aY=

    e leia os manuais e as notas técnicas para ter mais informações.

  8. eu instalei o xml2 no mint:

    apt-get install libxml2-utils

    depois copiei o libxml2.so.2:

     /usr/lib/x86_64-linux-gnu/libxml2.so.2

    e colei no meu windows:

    "pathlazarus\cross\lib\x86_64-linux\libxml2.so.2"

    "pathlazarus\cross\lib\x86_64-linux\libxml2.so"

    alterei o ACBr.inc

    {$IfDef DFE_SEM_OPENSSL}
      {$Define DFE_SEM_XMLSEC}
      {$Define DFE_SEM_LIBXML2}
    {$EndIf}
    
    {$IfDef DFE_SEM_LIBXML2}
      {$UnDef DFE_ACBR_LIBXML2}
    {$EndIf}
    
    {$DEFINE DFE_SEM_XMLSEC}

    e funcionou perfeitamente

    muito obrigado.

  9. se no ACBr.inc eu adicionar essas linhas

    {$IfDef DFE_SEM_OPENSSL}
      {$Define DFE_SEM_XMLSEC}
      {$Define DFE_SEM_LIBXML2}
    {$EndIf}
    
    {$IfDef DFE_SEM_LIBXML2}
      {$UnDef DFE_ACBR_LIBXML2}
    {$EndIf}
    
    {$DEFINE DFE_SEM_XMLSEC} --adicionado
    {$DEFINE DFE_SEM_LIBXML2} --adicionado

    o lazarus compila mas existe alguma forma de fazer a assinatura depois?(ainda não tentei assinar)

  10. fui colocando componentes acbr no form até dar erro,

    e percebi que sempre que aparece essas linhas no lazarus da pau.

    C:\lazarus\cross\bin\x86_64-linux\x86_64-linux-ld.exe: cannot find -lxmlsec1
    C:\lazarus\cross\bin\x86_64-linux\x86_64-linux-ld.exe: cannot find -lxml2

    pelo que vi parece que componentes que precisam assinar documento não compila

    existe alguma diretiva para desabilitar -lxmlsec1 e -lxml2 ?

  11. function RunAsAdmin(hWnd: HWND; const filename, param: string): Boolean;
    var
      sei: TShellExecuteInfo;
      ExitCode: DWORD;
    begin
      ZeroMemory(@sei, SizeOf(sei));
      sei.cbSize       := SizeOf(TShellExecuteInfo);
      sei.Wnd          := hwnd;
      sei.fMask        := SEE_MASK_FLAG_DDEWAIT or SEE_MASK_FLAG_NO_UI or SEE_MASK_NOCLOSEPROCESS;
      sei.lpVerb       := PWideChar('runas');
      sei.lpFile       := PWideChar(Filename);
      sei.lpParameters := PWideChar(param);
      sei.nShow        := SW_HIDE;
    
      if ShellExecuteEx(@sei) then
       Result := True;  
    end;
    
    ///******
    Usa assim:
    RunAsAdmin(handle, 'schtasks', '/create /tn "Titulo do se app" /tr "c:\caminhodoseuapp.exe" /sc onstart');

    eu uso assim e esta funcionando.

  12. 14 horas atrás, barrys disse:

    Conectar remoto já consegui. mesmo sendo Rest DataWare, estou tento problemas com lentidão (uso BinaryRequest).
    Então preciso fazer o aplicativo rodar primeiro offline para depois transferir para base remota.
    EX: vendedores/representantes de empresas trabalham fora com catálogo de produtos e fazem venda, então usariam o app para venderem(offline) e no final do dia, conectariam remotamente para alimentar a base do servidor remoto.
    O que eu estou planejando aqui, é replicar a mesma base GDB do firebird para o Interbase, acho que vai dar liga por este caminho.

    Grato.

    Eduardo

    no caso do offline vc poderia usar sqlite, mas se tiver a necessidade de ser firebird vc pode tentar isso:

    https://sourceforge.net/p/zeoslib/wiki/How to use Firebird 4.0 with Zeos on Android/

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