johnbh3
Membros-
Total de ítens
703 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que johnbh3 postou
-
Conectar a uma API da Lucree
johnbh3 replied to johnbh3's tópico in Object Pascal - Delphi & Lazarus
var LRequisicao: TidHTTP; LResposta: String; FLinkAutenticacao: string; LParametros: TStringList; FProtocoloSSL:TIdSSLIOHandlerSocketOpenSSL; begin FLinkAutenticacao:='https://api.lucree.com.br/autenticacao/v1'; LParametros := TStringList.Create; LParametros.Add('"username": "[email protected]"'); LParametros.Add('"password": "123456"'); FProtocoloSSL := TIdSSLIOHandlerSocketOpenSSL.Create(Application); FProtocoloSSL.SSLOptions.Mode := sslmUnassigned; FProtocoloSSL.SSLOptions.Method := sslvTLSv1_2; FProtocoloSSL.SSLOptions.SSLVersions := [sslvTLSv1_2]; LRequisicao := TIdHTTP.Create(Nil); //LRequisicao.OnWork := OnWork; LRequisicao.IOHandler := FProtocoloSSL; LRequisicao.Request.ContentType := 'application/json'; LResposta := LRequisicao.Post(FLinkAutenticacao, LParametros); Eu tenho retorno http/ 1.1 400 - bad request O json que envio no raw do postman e: { "username": "[email protected]", "password": "123456" } -
Conectar a uma API da Lucree
johnbh3 replied to johnbh3's tópico in Object Pascal - Delphi & Lazarus
Detalhe: Variavel: FLinkAutenticacao:='https://api.lucree.com.br/autenticacao/v1'; Eu tenho retorno http/ 1.1 400 - bad request -
Pessoal para conexão via postman e bem simples esta conexão GET no endereço: https://api.lucree.com.br/autenticacao/v1 Vou na aba body e adiciono o json {"username": "[email protected]","password": "123456"} Retorna pra mim o token Agora que preciso fazer isto com delphi usando o TidHTTP var LRequisicao: TidHTTP; LResposta: String; FLinkAutenticacao: string; body:string; LParametros: TStringList; FProtocoloSSL:TIdSSLIOHandlerSocketOpenSSL; begin LParametros := TStringList.Create; LParametros.Add('"username": "[email protected]"'); LParametros.Add('"password": "123456"'); FProtocoloSSL := TIdSSLIOHandlerSocketOpenSSL.Create(Application); FProtocoloSSL.SSLOptions.Mode := sslmUnassigned; FProtocoloSSL.SSLOptions.Method := sslvTLSv1_2; FProtocoloSSL.SSLOptions.SSLVersions := [sslvTLSv1_2]; LRequisicao := TIdHTTP.Create(Nil); //LRequisicao.OnWork := OnWork; LRequisicao.IOHandler := FProtocoloSSL; LRequisicao.Request.ContentType := 'application/raw'; LResposta := LRequisicao.Post(FLinkAutenticacao, LParametros); Pessoal eu sei não e assim, mas e pra vocês terem uma ideia. Eu fiz uma conexão com outra maquinha onde os dados da conexão se data por parametros, dai eu criava um tStringList e passava exemplo assim LParametros := TStringList.Create; LParametros.Add('grant_type=client_credentials'); LParametros.Add('client_id='+AChaveAtual.ClientID); LParametros.Add('client_secret='+AChaveAtual.SecretCode); LRequisicao.Request.ContentType := 'application/x-www-form-urlencoded'; LResposta := LRequisicao.Post(FLinkAutenticacao, LParametros); Porém como podem ver esta Lucree, os dados para login e passado via JSON no body no postaman e não sei como fazer isto com TidHTTP Nesta lucre diferentemente o body eu passo como raw no postaman
-
Rejeição: NFC-e com Data-Hora de emissão atrasada
um tópico no fórum postou johnbh3 NFC-e - Nota Fiscal do Consumidor Eletrônica
Bom dia Estou tendo este erro na NFCe em Mg - Rejeição: NFC-e com Data-Hora de emissão atrasada Estão sabendo de algo? -
Pessoal Tenho uma tabela com seguinte estrutura. SELECT FUNC_CODEMP AS CODEMP, FUNC_CODFUN AS CODFUN, FUNC_AQUINI AS AQUINI, FUNC_AQUFIN AS AQUFIN, FUNC_GOZINI AS GOZINI, FUNC_GOZFIN AS GOZFIN, FUNC_DTAREC AS DTAREC, FUNC_VALREC AS VALREC, FUNC_AUTFUN AS AUTFUN FROM FUNFER WHERE F__AUTFUN = '00100000000000019592' Me foi solicitado para que eu exiba o saldo de ferias dos entre as datas ( FUNC_GOZINI AS GOZINI, FUNC_GOZFIN AS GOZFIN) Ou seja gozo das ferias. O funcionário tirou ferias de 01/03/2022 a 15/03/2022 - Neste caso ele tirou 14 dias - restando 16 dias. No proximo ano o funcionario vai tirar em 01/03/2023 a 15/03/2022 Neste caso ele tirou 14 dias - restando 16 dias Porém exibir o saldo neste caso de 16+16 E possível fazer isto com SQL?
-
Duvida fasreport limpar imagem
johnbh3 replied to johnbh3's tópico in Object Pascal - Delphi & Lazarus
Já resolvi desculpe, coloquei nil e deu certo -
Pessoal dentro do fasrtrepot estou carregando uma imagem assim FOTO_FUNCIONARIO.LoadFromFile(foto); Como que eu faço pra limpar esta imagem?
-
Perdão resolvido o lote coloquei com mmyyddhhnn
-
Bom dia, Estou com um erro na carta de correeção que ao depurarar da um erro que o número do lote não e um numero inteiro valido. with ACBrNFe1.EventoNFe.Evento.Add do begin infEvento.chNFe := Chave; infEvento.CNPJ := FrmPrincipal.CNPJ_EMP; infEvento.dhEvento := now; infEvento.tpEvento := teCCe; infEvento.nSeqEvento := StrToInt(nSeqEvento); infEvento.detEvento.xCorrecao := Correcao; end; Try ACBrNFe1.EnviarEvento(StrToInt(idLote)); Erro na linha enviar !
-
Sabem me dizer onde esta meu erro? [FireDAC][Phys][MySQL] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'vunitario= ? vrtotalitem= ? where id= ?' at line 5 Depurando os valores estão todos sendo passado para os parametrôs. O erro esta dando na função function TItemPedido.incluir_Alter_ItemPedido no QryInserir.ExecSQL; QryInserir.ParamByName('pidproduto').AsInteger :=fidproduto; QryInserir.ParamByName('pidpedido').AsInteger :=fidpedido; QryInserir.ParamByName('pqtde').AsFloat:=fqtde; QryInserir.ParamByName('pvunitario').AsFloat:=fvunitario; QryInserir.ParamByName('pvrtotalitem').AsFloat:=fvrtotalitem; QryInserir.ExecSQL; unit classe.itemPedido; interface uses FireDAC.Comp.Client, Vcl.Dialogs, System.SysUtils; type TItemPedido = class private fConexao : TFDConnection; fid :integer; fidpedido :integer; fidproduto :integer; fqtde :Real; fvunitario :Real; fvrtotalitem :Real; public property Conexao : TFDConnection read fConexao write fConexao; property id : integer read fid write fid; property idpedido : integer read fidpedido write fidpedido; property qtde : Real read fqtde write fqtde; property vunitario : Real read fvunitario write fvunitario; property vrtotalitem : Real read fvrtotalitem write fvrtotalitem; property idproduto : Integer read fidproduto write fidproduto; constructor Create (conexao : TFDconnection); destructor Destroy ; override; function incluir_Alter_ItemPedido (TipoOperacao: string; out erro: string) : boolean; procedure excluirPedido(numeroPedido: integer); function consultarItensPedido (idPedido : integer) : TFDQuery; function somaItensPedido (idPedido: integer): Real; end; implementation var Qry : TFDQuery; { TItemPedido } function TItemPedido.consultarItensPedido(idPedido: integer): TFDQuery; begin try //fConexao.Connected :=false; //fConexao.Connected :=true; Qry.Close; Qry.SQL.Clear; Qry.sql.Add('SELECT'); Qry.sql.Add(' itempedido.id,'); Qry.sql.Add(' itempedido.idpedido,'); Qry.sql.Add(' itempedido.idproduto,'); Qry.sql.Add(' itempedido.qtde,'); Qry.sql.Add(' itempedido.vrtotalitem,'); Qry.sql.Add(' itempedido.vunitario,'); Qry.sql.Add(' produto.nome as nome_produto,'); Qry.sql.Add(' produto.vrproduto'); Qry.sql.Add('FROM '); Qry.sql.Add(' itempedido'); Qry.sql.Add(' INNER JOIN produto ON itempedido.idproduto = produto.id'); Qry.SQL.Add('Where itempedido.idpedido='+QuotedStr(IntToStr(idPedido))); Qry.sql.Add(' ORDER BY itempedido.id'); Qry.Open(); finally Result :=Qry; end; end; constructor TItemPedido.Create(conexao: TFDconnection); begin fConexao := conexao; Qry :=TFDQuery.Create(nil); Qry.Connection :=fConexao; end; destructor TItemPedido.Destroy; begin Qry.Destroy; inherited; end; procedure TItemPedido.excluirPedido(numeroPedido: integer); begin fConexao.Connected :=false; fConexao.Connected :=true; fConexao.ExecSQL('delete from pedido where id=:numeroPedido',[numeroPedido]); consultarItensPedido(0); end; function TItemPedido.incluir_Alter_ItemPedido(TipoOperacao: string; out erro: string): boolean; var QryInserir :TFDQuery; begin try try fConexao.Connected :=false; fConexao.Connected :=true; QryInserir :=TFDQuery.Create(nil); QryInserir.Connection :=fConexao; QryInserir.SQL.Clear; if TipoOperacao='INSERIR' then begin QryInserir.SQL.Add('INSERT INTO pedido (dtaemissao, vrtotpedido, codcliente)'); QryInserir.sql.Add('VALUES (:pdtaemissao, :pvrtotpedido, :pcodcliente)'); end else begin QryInserir.SQL.Add('update itempedido set'); QryInserir.SQL.Add('idproduto= :pidproduto,'); QryInserir.SQL.Add('idpedido= :pidpedido,'); QryInserir.SQL.Add('qtde= :pqtde'); QryInserir.SQL.Add('vunitario= :pvunitario'); QryInserir.SQL.Add('vrtotalitem= :pvrtotalitem'); QryInserir.SQL.Add('where id= :pid'); QryInserir.ParamByName('pid').AsInteger :=fid; end; QryInserir.ParamByName('pidproduto').AsInteger :=fidproduto; QryInserir.ParamByName('pidpedido').AsInteger :=fidpedido; QryInserir.ParamByName('pqtde').AsFloat:=fqtde; QryInserir.ParamByName('pvunitario').AsFloat:=fvunitario; QryInserir.ParamByName('pvrtotalitem').AsFloat:=fvrtotalitem; QryInserir.ExecSQL; Result :=true; except on E : Exception do begin erro := E.Message; Result :=false; end; end; finally QryInserir.Destroy; end; end; function TItemPedido.somaItensPedido(idPedido: integer): Real; begin try //fConexao.Connected :=false; //fConexao.Connected :=true; Qry.Close; Qry.SQL.Clear; Qry.sql.Add('SELECT'); Qry.sql.Add(' sum(qtde*vunitario) AS TOTAL_PEDIDO'); Qry.sql.Add('FROM'); Qry.sql.Add(' itempedido'); Qry.sql.Add('Where idpedido='+QuotedStr(IntToStr(idPedido))); Qry.Open(); finally Result :=Qry.FieldByName('TOTAL_PEDIDO').AsFloat; end; end; end.
-
MYSQL: cannot load vendor library libmysql.dll
johnbh3 replied to johnbh3's tópico in Banco de Dados
Mas já estou com TFDPhysMySQLDriverLink incluido no datamodule, os componentes e mesma coisa de trabalhar que Firebird ou Postgress Esses dois links que vc citou nada funciona!, eu já tinha lido eles -
Pessoal, estou tendo este erro na conexão com MySQL Quando vou no FDConnection e clico pra testar recebo o erro: cannot load vendor library libmysql.dll se eu executo o .exe faz conexão, mas preciso funcionando na IDE pra desenvolvimento . Eu já fiz de tudo, já deixei como 32bits na IDE e 64. Já peguei tanto as DLL 32/64 em https://dev.mysql.com/downloads/mysql/ e coloquei tanto no diretorio do executavel quanto na pasta bin do delphi, ou no windows. Nada funciona, impressionante tentei de um tudo que se fala no google, algo simples mas que já demorei horas e não sai do lugar. Já peguei a DLL a dll da pasta C:\Program Files\MySQL\MySQL Server 8.0\lib e coloquei junto do executavel - Dai o executavel para de funciona reclamando da arquitetura x64 required x86, ok, compilei em x64 resolveu o problema do .exe mas continua na IDE com mesma jaca, o .exe funciona tanto em 32/64 mas na IDE de forma alguma consigo fazer o teste consequentemente vou conseguir rodar nenhum comando pra dev
-
Então eu coloquei o papel em modo paisagem e deu certo
-
O valor unitário liquido também come tudo também
-
Pessoal preciso incluir 1 milhão na quantidade 1000000 tudo certo, porém no danfe corta e fica assim 000.000,00 o que posso fazer pra resolver? Nem mesmo colocando a fonte minúscula em 6 resolveu! Alguém ja passou por uma necessidade desta? Até mesmo 100 mil na quantidade ultrapassa com a fonte 8 ficando o numeral 1 comendo invadindo a linha da UNIDADE comercial
-
Também estou com mesmo problema, e coloquei as configurações igual do posto do Daniel, usei até o demo. Agora quando tento ir em confirmações avançada da impressora no Elgin utilitário da erro.
-
Olá Pessoal boa tarde Estou tendo o erro: Element '{http://www.portalfiscal.inf.br/nfe}xPag': This element is not expected. Expected is ( {http://www.portalfiscal.inf.br/nfe}vPag ). No XML esta informado a tag nova xpag porém da o erro acima. <pag><detPag><tPag>99</tPag><xPag>Outros</xPag><vPag>0.10</vPag> o erro na verdade para na validação nem e SEFAZ, observação atualizei a pasta: Schemas
-
Bom dia Pessoal baixei a versão Delphi Community e o DevExpress Trial e tenho o erro: a execução de código não pode continuar porque dxGDIPlusRS27.bpl não foi encontrado. Reinstalando o programa para corrigir o problema A ideia e ver a experiência com DevExpress. Eu peguei os demos da DevExpress e executei, quando dou F9 ou Shift+F9, o projeto abre redondo (Mas mesmo o demo) se for na pasta que gera o .exe da o erro acima. O que eu fiz peguei no copia e cola os componentes de um demo como se fosse iniciar um novo projeto (Mas preciso ir em Projeto - Options - e marcar a opção link with runtime (Ok funcionou também). Tudo isto e igual no demo da propria DevExpress Mas quando vou executar o proprio projeto com absolutamente nada apenas uma NavBar da o mesmo erro. Se eu pegar as BPL e adicionar no diretorio do .exe (O projeto abre normalmente). Mas em produção significa que eu preciso distribuir pro cliente final com os BPL? pergunto isto porque ficaria muito grande.
-
Vlw irmão! Eu acabei muito rápido indo pela descrição ! Logo em seguida observei que preciso fazer ajustes nesta condição de pagamento deve informar o campo xPag pelo que entendi!
-
Oi boa tarde, coisa bizarra, eu pedi o cliente pra trocar a forma de pagamento pra a vista ou prazo pra teste, ele tinha colocado outros e passou.
-
Boa tarde O que pode ser isto? 441 - Rejeição: Credenciamento não permitido, o emissor ja credenciado ou suspenso Algo novo em Minas Gerais. Apareceu um cliente agora o segundo, incialmente eu achei ser algo na empresa do primeiro, porém um segundo caso.