Ir para conteúdo
  • Cadastre-se

fdsilva.desenv

Membros
  • Total de ítens

    54
  • Registro em

  • Última visita

Tudo que fdsilva.desenv postou

  1. Olá Renato, bom dia. Então utilizo a porta: 465, uso ssl, e smtp smtpout.secureserver.net que a godaddy me passou. Mas ao tentar enviar o e-mail, aparece a mensagem: "Unable To Send Mailfrom".
  2. Pessoal, boa tarde. Utilizo o servidor da GODADDY (servidor: smtpout.secureserver.net) para envios de e-mail, e não encontrei nada sobre a configuração do ACBrMail para este servidor. Se alguém puder me ajudar, eu agradeço.
  3. Entendi Juliomar. Por gentileza, pode postar aqui o caminho (diretório) do exemplo para que eu possa analisar?
  4. Não sei exatamente qual foi o código, porque eu atualizei a pasta inteira do AcBrTEFD, praticamente. Foi algo que notei no meu .exe, antes da atualização, quando feito em homologação o PIX, tinha "timer" de 20seg para finalizar corretamente a compra em homologação. Após a atualização, a imagem do QrCode que levamos na tela não fecha mais automaticamente (finalizando a compra corretamente em homologação). Vou enviar o código de como carregamos o QrCode do PIX para que, talvez vocês possam nos ajudar a entender se precisamos implementar algo mais para que a transação finalize corretamente a partir de um tempo aberta quando o sistema estiver em homologação. constructor TFpgQrcEdForm.Create(AOwner: TComponent; ADados: String); var QRCode: TDelphiZXingQRCode; QRCodeBitmap: TBitmap; Row, Column: Integer; begin inherited Create(AOwner); QRCode := TDelphiZXingQRCode.Create; QRCodeBitmap := TBitmap.Create; try QRCode.Encoding := qrUTF8BOM; QRCode.QuietZone := 2; QRCode.Data := widestring(ADados); QRCodeBitmap.Width := QRCode.Columns; QRCodeBitmap.Height := QRCode.Rows; for Row := 0 to QRCode.Rows - 1 do begin for Column := 0 to QRCode.Columns - 1 do begin if (QRCode.IsBlack[Row, Column]) then QRCodeBitmap.Canvas.Pixels[Column, Row] := clBlack else QRCodeBitmap.Canvas.Pixels[Column, Row] := clWhite; end; end; ImgQRCode.Picture.Bitmap.Assign(QRCodeBitmap); finally QRCode.Free; QRCodeBitmap.Free; end; end; E abrimos a tela desta maneira: private FFpgQrcEdForm: TFpgQrcEdForm; property FpgQrcEdForm : TFpgQrcEdForm read FFpgQrcEdForm write FFpgQrcEdForm; procedure TPDV.Evento_TEFDExibeQRCode(const Dados: String); begin if (Dados <> '') then begin try FTEF.BloquearMouseTeclado(False); FpgQrcEdForm := TFpgQrcEdForm.Create(Self,Dados); FpgQrcEdForm.ShowModal; FpgQrcEdForm.Update; Application.ProcessMessages; finally RestaurarFocoAplicacao('FpgQrcEdForm'); end; end; end; ---------------------------------------------------------------------------- procedure inicializa FTEF.OnExibeQRCode := Evento_TEFDExibeQRCode; ---------------------------------------------------------------------------- property OnExibeQRCode: TACBrTEFDExibeQRCode read fOnExibeQRCode write fOnExibeQRCode;
  5. Utilizo o sitef demonstração, da SoftExpress. Trago em uma img o ACBrDelphiZXingQRCode através de um form, e antes de atualizar o ACBrTEFD, a unit ficava no ar por 20 seg e fechava automaticamente finalizando a compra em homologação levando a mensagem antes de finalizar a venda de: "Transação Aguardando Pagamento". Com a atualização, a unit não fechou mais finalizando a compra em homologação.
  6. Galera, boa tarde. Apenas uma dúvida. Recentemente atualizei os componentes da pasta ACBrTEFD para sanar o cancelamento de transação manual quando há um pagamento tipo PIX. Hoje, eu consigo com o ESC, cancelar a transação sem com que ficasse o status de "Transação aguardando pagamento". Porém, antes de atualizar, a mensagem "Transação aguardando pagamento" aparecia após cerca de 20seg de espera e agora, ela não aparece mais, o que dificultou a finalização da venda quando o TEF está em homologação. Cheguei a por um timer na tela de até 10 minutos de espera para cancelar automático, para ver se a mensagem de espera voltasse a aparecer, e não voltou. Gostaria de saber, em que momento, nesta nova versão do ACBrTEFD, a mensagem: "Transação aguardando pagamento" aparecerá novamente? Preciso acionar alguma chamada, ou dar valor à alguma variável para tal? Obrigado.
  7. Boa tarde turma. Meu colega conseguiu resolver. No componente do FDQuery, havia uma função chamada OnBeforePost, onde tinham campos numeric que recebia valores, e ali não foi tratado o CAST como mencionado acima. Obrigado à todos. Fórum Finalizado!!!
  8. Boa tarde. O erro persiste em todas as situações acima. Pode ser a versão do Delphi. O código é feito no Xe8 e eu tenho o 10.4. Vou tentar baixar essa versão e ver se o erro persiste.
  9. Renato, bom dia. Fiz o teste que me solicitou e o problema dá em duas fontes: 1- os campos que recebem ".value := 0", eles são do tipo blob, saberia me dizer como receber null nestes campos ? 2- Os campos que são BCD como o abaixo. Trocando para Currency, Float o erro persiste. QryPedidos.FieldByName('VFCP_W04H').AsExtended := 0;
  10. Resolvi o lance do BCD, colocando numeric(15,2) nos campos. Mas mesmo assim, o erro persiste : ' ' is invalid floating point value. Após o processo de post. function TDmTabelas.IncluirCupomExecute(var Mensagem: String; pDAV: Boolean; pPV: Boolean = False): Boolean; var aMensagem : String; aEstadoECF: TACBrECFEstado; aOK : Boolean; function BuscaNovoPedido : integer; begin with FControllerConexao.QueryFD.FDQuerySQL do begin Close; SQL.Clear; SQL.CommaText := ''; SQL.Add(' select max(id) idmax from pedido '); Open; Result := FieldByName('idmax').AsInteger + 1; end; end; begin Result := True; aOK := False; if (pDAV) or (pPV) or (QryPedidos.RecordCount = 0) or (QryPedidos.FieldByName('ID_MESA').AsInteger > 0) or (QryPedidos.FieldByName('ABASTECIMENTO').AsString = 'S') then begin PAFECF.CapturaContadoresECF; aOK := True; // if aOK then begin // abre tabela de classificação PAFECF.CapturaContadoresECF; DmTabelas.Dados_PedidoClassificacao(0, QryConfig.FieldByName('ID_CLASSIFICACAO_PADRAO').AsInteger); QryPedidos.Close; QryPedidos.SQL.Clear; QryPedidos.sql.add('select ID,ID_VENDEDOR,ID_CLASSIFICACAO,IDEMPRESA,ID_FORMAPAG,'); QryPedidos.sql.add('COO,CCF,GNF,CAIXA,NUMSERIEECF,DATA_ENTREGA ,HORA_ENTREGA,'); QryPedidos.sql.add('DAV,ID_CLIENTE,CLIENTE,END_ENTREGA,NUM_END_ENTREGA,COMPL_END_ENTREGA,'); QryPedidos.sql.add('BAIRRO_END_ENTREGA,CID_END_ENTREGA,UF_END_ENTREGA,CEP_END_ENTREGA,'); QryPedidos.sql.add('CNPJCPF,INSCEST,PLACA_VEIC,ODOMETRO,'); QryPedidos.sql.add('PEDIDO_NUM,DATA_PEDIDO,HORA_PEDIDO,CONFIRMADA,ENTREGUE,CANCELADO,' + 'TIPODOC,TIPO_PEDIDO,DAV_IMPRESSO,NATOP,MD5REGISTRO,NUMPV,'+ 'CER,ABASTECIMENTO,ID_MESA,STATUS_ABASTEC,CHAVE_NFE,STATUS_NFE,PROTOCOLO_NFE,'+ 'RECIBO_NFE,DEVOLUCAO,NUMERO_DOC,SINCRONIZADO,IDUSUARIOCANC,NUMDAV,TIPO_FRETE,IDPLANOCONTAS,'+ 'IDCENTROCUSTO,NFE_TIPOEMISS,NUM_LOTE,NAUTORIZA_VIDALINK,ARQUIVO_XML,NOTAMANUAL,'+ 'COO_CONF_MESA,MODELO,DATA_AUTORIZA,HORA_AUTORIZA,NRAUTORIZA_FARMAPOP,NAUTORIZA_FUNCIONAL,'+ 'VEN_PBM,COD_PBM,OBSNFE_1,OBSNFE_2,OBSNFE_3,OBSNFE_4,CODIGOSEFAZ,NUMEROSESSAO,STATUS_CANCEL_NFCE,'+ 'PROTOCOLO_CANCEL_NFCE,DH_CANCEL_NFCE,VINCULADO_PBM_FARMAPOP,VINCULADO_PBM_PORTAL,VINCULADO_PBM_FUNCIONAL,'+ 'VINCULADO_PBM_VIDALINK,VINCULADO_PBM_EPHARMA,NRAUTORIZA_PORTAL,SERIE_B07,AJUSTE_NFCE_MANUAL,NUM_TENTATIVA_ENVIO,OBSERVACAO,'); QryPedidos.SQL.Add('cast(VALOR as double precision) as VALOR,'); QryPedidos.SQL.Add('cast(DESCONTO as double precision) as DESCONTO,'); QryPedidos.SQL.Add('cast(ACRESCIMO as double precision) as ACRESCIMO,'); QryPedidos.SQL.Add('cast(OUTRAS_DESPESAS as double precision) as OUTRAS_DESPESAS,'); QryPedidos.SQL.Add('cast(VALOR_TOTAL as double precision) as VALOR_TOTAL,'); QryPedidos.SQL.Add('cast(VALOR_REAL as double precision) as VALOR_REAL,'); QryPedidos.SQL.Add('cast(MARGEM_VENDA as double precision) as MARGEM_VENDA,'); QryPedidos.SQL.Add('cast(VALOR_COMISSAO as double precision) as VALOR_COMISSAO,'); QryPedidos.SQL.Add('cast(TOTAL_GERAL as double precision) as TOTAL_GERAL,'); QryPedidos.SQL.Add('cast(VALOR_TROCO as double precision) as VALOR_TROCO,'); QryPedidos.SQL.Add('cast(ALIQ_ICMS as double precision) as ALIQ_ICMS,'); QryPedidos.SQL.Add('cast(BASE_ICMS as double precision) as BASE_ICMS,'); QryPedidos.SQL.Add('cast(VALOR_ICMS as double precision) as VALOR_ICMS,'); QryPedidos.SQL.Add('cast(ALIQ_ICMS_ST as double precision) as ALIQ_ICMS_ST,'); QryPedidos.SQL.Add('cast(BASE_ICMS_ST as double precision) as BASE_ICMS_ST,'); QryPedidos.SQL.Add('cast(VALOR_ICMS_ST as double precision) as VALOR_ICMS_ST,'); QryPedidos.SQL.Add('cast(VALOR_PIS as double precision) as VALOR_PIS,'); QryPedidos.SQL.Add('cast(VALOR_COFINS as double precision) as VALOR_COFINS,'); QryPedidos.SQL.Add('cast(VALOR_IPI as double precision) as VALOR_IPI,'); QryPedidos.SQL.Add('cast(VALOR_CARGA_TRIB as double precision) as VALOR_CARGA_TRIB,'); QryPedidos.SQL.Add('cast(VALOR_FRETE as double precision) as VALOR_FRETE,'); QryPedidos.SQL.Add('cast(VALOR_SEGURO as double precision) as VALOR_SEGURO,'); QryPedidos.SQL.Add('cast(VALOR_OUTROS as double precision) as VALOR_OUTROS,'); QryPedidos.SQL.Add('cast(BASE_ISS as double precision) as BASE_ISS,'); QryPedidos.SQL.Add('cast(VALOR_ISS as double precision) as VALOR_ISS,'); QryPedidos.SQL.Add('cast(BASE_PIS as double precision) as BASE_PIS,'); QryPedidos.SQL.Add('cast(BASE_COFINS as double precision) as BASE_COFINS,'); QryPedidos.SQL.Add('cast(BASE_IPI as double precision) as BASE_IPI,'); QryPedidos.SQL.Add('cast(VAL_CARGA_FED as double precision) as VAL_CARGA_FED,'); QryPedidos.SQL.Add('cast(VAL_CARGA_EST as double precision) as VAL_CARGA_EST,'); QryPedidos.SQL.Add('cast(VAL_CARGA_MUN as double precision) as VAL_CARGA_MUN,'); QryPedidos.SQL.Add('cast(DESCONTO_PROD as double precision) as DESCONTO_PROD,'); QryPedidos.SQL.Add('cast(VFCP_W04H as numeric(15,2)) as VFCP_W04H,'); QryPedidos.SQL.Add('cast(VFCPST_W06A as numeric(15,2)) as VFCPST_W06A,'); QryPedidos.SQL.Add('cast(VFCPSTRET_W06B as numeric(15,2)) as VFCPSTRET_W06B,'); QryPedidos.SQL.Add('cast(VIPIDEVOL_W12A as numeric(15,2)) as VIPIDEVOL_W12A,'); QryPedidos.SQL.Add('cast(VALOR_SUBTOTAL as numeric(15,2)) as VALOR_SUBTOTAL'); QryPedidos.sql.add('from pedido where 0=0'); QryPedidos.Open; if QryPedidos.RecordCount = 0 then QryPedidos.Append else QryPedidos.Edit; QryPedidos.FieldByName('ID').AsInteger := BuscaNovoPedido; QryPedidos.FieldByName('ID_VENDEDOR').AsInteger := QryConfig.FieldByName('ID_VENDEDOR_PADRAO').AsInteger; QryPedidos.FieldByName('ID_CLASSIFICACAO').AsInteger := QryConfig.FieldByName('ID_CLASSIFICACAO_PADRAO').AsInteger; QryPedidos.FieldByName('IDEMPRESA').AsInteger := sIDEmpresa; QryPedidos.FieldByName('ID_FORMAPAG').AsInteger := QryFormaPag.FieldByName('ID').AsInteger; QryPedidos.FieldByName('COO').AsInteger := DmTabelas.PAFECF.gCOO; QryPedidos.FieldByName('CCF').AsInteger := DmTabelas.PAFECF.gCCF; QryPedidos.FieldByName('GNF').AsInteger := DmTabelas.PAFECF.gGNF; QryPedidos.FieldByName('CAIXA').AsString := DmTabelas.PAFECF.gCaixa; QryPedidos.FieldByName('NUMSERIEECF').AsString := ''; QryPedidos.FieldByName('DATA_ENTREGA').AsDateTime := now; QryPedidos.FieldByName('HORA_ENTREGA').AsDateTime := now; QryPedidos.FieldByName('DAV').AsString := 'S'; if not pDAV then QryPedidos.FieldByName('DAV').AsString := 'N'; // preenche dados do cliente if DmClientes.Dados_Contato(ClienteCupom.ID) then begin QryPedidos.FieldByName('ID_CLIENTE').AsInteger := ClienteCupom.ID; QryPedidos.FieldByName('CLIENTE').AsStringTrim := ClienteCupom.Cliente; QryPedidos.FieldByName('END_ENTREGA').AsStringTrim := ClienteCupom.Endereco; QryPedidos.FieldByName('NUM_END_ENTREGA').AsStringTrim := ClienteCupom.Numero; QryPedidos.FieldByName('COMPL_END_ENTREGA').AsStringTrim := ClienteCupom.Complemento; QryPedidos.FieldByName('BAIRRO_END_ENTREGA').AsStringTrim := ClienteCupom.Bairro; QryPedidos.FieldByName('CID_END_ENTREGA').AsStringTrim := ClienteCupom.Cidade; QryPedidos.FieldByName('UF_END_ENTREGA').AsString := ClienteCupom.UF; QryPedidos.FieldByName('CEP_END_ENTREGA').AsStringTrim := ClienteCupom.Cep; QryPedidos.FieldByName('CNPJCPF').AsStringTrim := ClienteCupom.CPF; QryPedidos.FieldByName('INSCEST').AsStringTrim := ClienteCupom.Identidade; QryPedidos.FieldByName('PLACA_VEIC').AsStringTrim := ClienteCupom.Placa; QryPedidos.FieldByName('ODOMETRO').AsStringTrim := ClienteCupom.Odometro; end; QryPedidos.FieldByName('VALOR').AsExtended := 0;//formatfloat('#,##0.00',0); QryPedidos.FieldByName('DESCONTO').AsExtended := 0; QryPedidos.FieldByName('ACRESCIMO').AsExtended := 0; QryPedidos.FieldByName('OUTRAS_DESPESAS').AsExtended := 0; QryPedidos.FieldByName('VALOR_TOTAL').AsExtended := 0; QryPedidos.FieldByName('VALOR_REAL').AsExtended := 0; QryPedidos.FieldByName('MARGEM_VENDA').AsExtended := 0; QryPedidos.FieldByName('VALOR_COMISSAO').AsExtended := 0; QryPedidos.FieldByName('TOTAL_GERAL').AsExtended := 0; QryPedidos.FieldByName('VALOR_TROCO').AsExtended := 0; QryPedidos.FieldByName('ALIQ_ICMS').AsExtended := 0; QryPedidos.FieldByName('BASE_ICMS').AsExtended := 0; QryPedidos.FieldByName('VALOR_ICMS').AsExtended := 0; QryPedidos.FieldByName('ALIQ_ICMS_ST').AsExtended := 0; QryPedidos.FieldByName('BASE_ICMS_ST').AsExtended := 0; QryPedidos.FieldByName('VALOR_ICMS_ST').AsExtended := 0; QryPedidos.FieldByName('VALOR_PIS').AsExtended := 0; QryPedidos.FieldByName('VALOR_COFINS').AsExtended := 0; QryPedidos.FieldByName('VALOR_IPI').AsExtended := 0; QryPedidos.FieldByName('VALOR_CARGA_TRIB').AsExtended := 0; QryPedidos.FieldByName('VALOR_FRETE').AsExtended := 0; QryPedidos.FieldByName('VALOR_SEGURO').AsExtended := 0; QryPedidos.FieldByName('VALOR_OUTROS').AsExtended := 0; QryPedidos.FieldByName('BASE_ISS').AsExtended := 0; QryPedidos.FieldByName('VALOR_ISS').AsExtended := 0; QryPedidos.FieldByName('BASE_PIS').AsExtended := 0; QryPedidos.FieldByName('BASE_COFINS').AsExtended := 0; QryPedidos.FieldByName('BASE_IPI').AsExtended := 0; QryPedidos.FieldByName('VAL_CARGA_FED').AsExtended := 0; QryPedidos.FieldByName('VAL_CARGA_EST').AsExtended := 0; QryPedidos.FieldByName('VAL_CARGA_MUN').AsExtended := 0; QryPedidos.FieldByName('DESCONTO_PROD').AsExtended := 0; QryPedidos.FieldByName('VFCP_W04H').AsExtended := 0; QryPedidos.FieldByName('VFCPST_W06A').AsExtended := 0; QryPedidos.FieldByName('VFCPSTRET_W06B').AsExtended := 0; QryPedidos.FieldByName('VIPIDEVOL_W12A').AsExtended := 0; QryPedidos.FieldByName('VALOR_SUBTOTAL').AsExtended := 0; QryPedidos.FieldByName('PEDIDO_NUM').AsString := ''; QryPedidos.FieldByName('DATA_PEDIDO').AsDateTime := now; QryPedidos.FieldByName('HORA_PEDIDO').AsDateTime := now; QryPedidos.FieldByName('CONFIRMADA').AsString := 'S'; QryPedidos.FieldByName('ENTREGUE').AsString := 'S'; QryPedidos.FieldByName('CANCELADO').AsString := 'N'; QryPedidos.FieldByName('TIPODOC').AsInteger := 1; QryPedidos.FieldByName('TIPO_PEDIDO').AsInteger := 1; QryPedidos.FieldByName('DAV_IMPRESSO').AsInteger := 0; QryPedidos.FieldByName('NATOP').AsString := ''; QryPedidos.FieldByName('MD5REGISTRO').AsString := ''; QryPedidos.FieldByName('NUMPV').AsString := ''; QryPedidos.FieldByName('CER').AsInteger := 0; QryPedidos.FieldByName('ID_MESA').AsInteger := 0; QryPedidos.FieldByName('ABASTECIMENTO').AsString := 'N'; QryPedidos.FieldByName('STATUS_ABASTEC').AsInteger := 0; QryPedidos.FieldByName('CHAVE_NFE').AsString := ''; QryPedidos.FieldByName('STATUS_NFE').AsString := 'NFE'; QryPedidos.FieldByName('PROTOCOLO_NFE').AsString := ''; QryPedidos.FieldByName('RECIBO_NFE').AsString := '' ; QryPedidos.FieldByName('DEVOLUCAO').AsString := 'N'; QryPedidos.FieldByName('NUMERO_DOC').AsString := ''; QryPedidos.FieldByName('SINCRONIZADO').AsString := 'N'; QryPedidos.FieldByName('IDUSUARIOCANC').AsInteger := 0; QryPedidos.FieldByName('NUMDAV').AsString := ''; QryPedidos.FieldByName('TIPO_FRETE').AsInteger := 1; QryPedidos.FieldByName('IDPLANOCONTAS').AsInteger := 1; QryPedidos.FieldByName('IDCENTROCUSTO').AsInteger := 1; QryPedidos.FieldByName('NFE_TIPOEMISS').AsInteger := 1; QryPedidos.FieldByName('NAUTORIZA_VIDALINK').AsString := ''; QryPedidos.FieldByName('NUM_LOTE').AsString := ''; QryPedidos.FieldByName('ARQUIVO_XML').AsString := ''; QryPedidos.FieldByName('NOTAMANUAL').AsString := 'N'; QryPedidos.FieldByName('COO_CONF_MESA').AsInteger := 0; QryPedidos.FieldByName('MODELO').AsString := 'NFE'; QryPedidos.FieldByName('DATA_AUTORIZA').AsDateTime := now; QryPedidos.FieldByName('HORA_AUTORIZA').AsDateTime := now; QryPedidos.FieldByName('NRAUTORIZA_FARMAPOP').AsString := ''; QryPedidos.FieldByName('NAUTORIZA_FUNCIONAL').AsString := ''; QryPedidos.FieldByName('VEN_PBM').AsString := 'N'; QryPedidos.FieldByName('COD_PBM').AsInteger := 0; QryPedidos.FieldByName('OBSNFE_1').AsString := ''; QryPedidos.FieldByName('OBSNFE_2').AsString := ''; QryPedidos.FieldByName('OBSNFE_3').AsString := ''; QryPedidos.FieldByName('OBSNFE_4').AsString := ''; QryPedidos.FieldByName('CODIGOSEFAZ').AsInteger := 100; QryPedidos.FieldByName('NUMEROSESSAO').AsInteger := 0; QryPedidos.FieldByName('STATUS_CANCEL_NFCE').AsString := 'NFA'; QryPedidos.FieldByName('PROTOCOLO_CANCEL_NFCE').AsString := ''; QryPedidos.FieldByName('DH_CANCEL_NFCE').AsDateTime := now; QryPedidos.FieldByName('VINCULADO_PBM_FARMAPOP').Value := 0; QryPedidos.FieldByName('VINCULADO_PBM_PORTAL').Value := 0; QryPedidos.FieldByName('VINCULADO_PBM_FUNCIONAL').Value := 0; QryPedidos.FieldByName('VINCULADO_PBM_VIDALINK').Value := 0; QryPedidos.FieldByName('VINCULADO_PBM_EPHARMA').Value := 0; QryPedidos.FieldByName('NRAUTORIZA_PORTAL').AsString := ''; QryPedidos.FieldByName('SERIE_B07').AsString := ''; QryPedidos.FieldByName('AJUSTE_NFCE_MANUAL').AsString := ''; QryPedidos.FieldByName('NUM_TENTATIVA_ENVIO').AsInteger := 0; QryPedidos.FieldByName('OBSERVACAO').Value := 0; // confirma os dados no banco try QryPedidos.Post; except on E: Exception do ShowMessage(E.Message +' '); end; end; end; end;
  11. Fiz a query colocando todos os campos da tabela, mas os ultimos 5 campos (iniciando pelo campo VFCP_W04H) são do tipo BCD, se eu coloco como Double Precision ele dá o erro dizendo que o campo é BCD mas tá esperando Float, se mudo pra numeric, dá o mesmo erro dizendo que o campo é BCd e tá esperando integer. Como tratar campos do tipo BCD na query ? QryPedidos.Close; QryPedidos.SQL.Clear; QryPedidos.sql.add('select ID,ID_VENDEDOR,ID_CLASSIFICACAO,IDEMPRESA,ID_FORMAPAG,'); QryPedidos.sql.add('COO,CCF,GNF,CAIXA,NUMSERIEECF,DATA_ENTREGA ,HORA_ENTREGA,'); QryPedidos.sql.add('DAV,ID_CLIENTE,CLIENTE,END_ENTREGA,NUM_END_ENTREGA,COMPL_END_ENTREGA,'); QryPedidos.sql.add('BAIRRO_END_ENTREGA,CID_END_ENTREGA,UF_END_ENTREGA,CEP_END_ENTREGA,'); QryPedidos.sql.add('CNPJCPF,INSCEST,PLACA_VEIC,ODOMETRO,'); QryPedidos.sql.add('PEDIDO_NUM,DATA_PEDIDO,HORA_PEDIDO,CONFIRMADA,ENTREGUE,CANCELADO,' + 'TIPODOC,TIPO_PEDIDO,DAV_IMPRESSO,NATOP,MD5REGISTRO,NUMPV,'+ 'CER,ABASTECIMENTO,ID_MESA,STATUS_ABASTEC,CHAVE_NFE,STATUS_NFE,PROTOCOLO_NFE,'+ 'RECIBO_NFE,DEVOLUCAO,NUMERO_DOC,SINCRONIZADO,IDUSUARIOCANC,NUMDAV,TIPO_FRETE,IDPLANOCONTAS,'+ 'IDCENTROCUSTO,NFE_TIPOEMISS,NUM_LOTE,NAUTORIZA_VIDALINK,ARQUIVO_XML,NOTAMANUAL,'+ 'COO_CONF_MESA,MODELO,DATA_AUTORIZA,HORA_AUTORIZA,NRAUTORIZA_FARMAPOP,NAUTORIZA_FUNCIONAL,'+ 'VEN_PBM,COD_PBM,OBSNFE_1,OBSNFE_2,OBSNFE_3,OBSNFE_4,CODIGOSEFAZ,NUMEROSESSAO,STATUS_CANCEL_NFCE,'+ 'PROTOCOLO_CANCEL_NFCE,DH_CANCEL_NFCE,VINCULADO_PBM_FARMAPOP,VINCULADO_PBM_PORTAL,VINCULADO_PBM_FUNCIONAL,'+ 'VINCULADO_PBM_VIDALINK,VINCULADO_PBM_EPHARMA,NRAUTORIZA_PORTAL,SERIE_B07,AJUSTE_NFCE_MANUAL,NUM_TENTATIVA_ENVIO,OBSERVACAO,'); QryPedidos.SQL.Add('cast(VALOR as double precision) as VALOR,'); QryPedidos.SQL.Add('cast(DESCONTO as double precision) as DESCONTO,'); QryPedidos.SQL.Add('cast(ACRESCIMO as double precision) as ACRESCIMO,'); QryPedidos.SQL.Add('cast(OUTRAS_DESPESAS as double precision) as OUTRAS_DESPESAS,'); QryPedidos.SQL.Add('cast(VALOR_TOTAL as double precision) as VALOR_TOTAL,'); QryPedidos.SQL.Add('cast(VALOR_REAL as double precision) as VALOR_REAL,'); QryPedidos.SQL.Add('cast(MARGEM_VENDA as double precision) as MARGEM_VENDA,'); QryPedidos.SQL.Add('cast(VALOR_COMISSAO as double precision) as VALOR_COMISSAO,'); QryPedidos.SQL.Add('cast(TOTAL_GERAL as double precision) as TOTAL_GERAL,'); QryPedidos.SQL.Add('cast(VALOR_TROCO as double precision) as VALOR_TROCO,'); QryPedidos.SQL.Add('cast(ALIQ_ICMS as double precision) as ALIQ_ICMS,'); QryPedidos.SQL.Add('cast(BASE_ICMS as double precision) as BASE_ICMS,'); QryPedidos.SQL.Add('cast(VALOR_ICMS as double precision) as VALOR_ICMS,'); QryPedidos.SQL.Add('cast(ALIQ_ICMS_ST as double precision) as ALIQ_ICMS_ST,'); QryPedidos.SQL.Add('cast(BASE_ICMS_ST as double precision) as BASE_ICMS_ST,'); QryPedidos.SQL.Add('cast(VALOR_ICMS_ST as double precision) as VALOR_ICMS_ST,'); QryPedidos.SQL.Add('cast(VALOR_PIS as double precision) as VALOR_PIS,'); QryPedidos.SQL.Add('cast(VALOR_COFINS as double precision) as VALOR_COFINS,'); QryPedidos.SQL.Add('cast(VALOR_IPI as double precision) as VALOR_IPI,'); QryPedidos.SQL.Add('cast(VALOR_CARGA_TRIB as double precision) as VALOR_CARGA_TRIB,'); QryPedidos.SQL.Add('cast(VALOR_FRETE as double precision) as VALOR_FRETE,'); QryPedidos.SQL.Add('cast(VALOR_SEGURO as double precision) as VALOR_SEGURO,'); QryPedidos.SQL.Add('cast(VALOR_OUTROS as double precision) as VALOR_OUTROS,'); QryPedidos.SQL.Add('cast(BASE_ISS as double precision) as BASE_ISS,'); QryPedidos.SQL.Add('cast(VALOR_ISS as double precision) as VALOR_ISS,'); QryPedidos.SQL.Add('cast(BASE_PIS as double precision) as BASE_PIS,'); QryPedidos.SQL.Add('cast(BASE_COFINS as double precision) as BASE_COFINS,'); QryPedidos.SQL.Add('cast(BASE_IPI as double precision) as BASE_IPI,'); QryPedidos.SQL.Add('cast(VAL_CARGA_FED as double precision) as VAL_CARGA_FED,'); QryPedidos.SQL.Add('cast(VAL_CARGA_EST as double precision) as VAL_CARGA_EST,'); QryPedidos.SQL.Add('cast(VAL_CARGA_MUN as double precision) as VAL_CARGA_MUN,'); QryPedidos.SQL.Add('cast(DESCONTO_PROD as double precision) as DESCONTO_PROD,'); QryPedidos.SQL.Add('cast(VFCP_W04H as double precision) as VFCP_W04H,'); QryPedidos.SQL.Add('cast(VFCPST_W06A as double precision) as VFCPST_W06A,'); QryPedidos.SQL.Add('cast(VFCPSTRET_W06B as double precision) as VFCPSTRET_W06B,'); QryPedidos.SQL.Add('cast(VIPIDEVOL_W12A as double precision) as VIPIDEVOL_W12A,'); QryPedidos.SQL.Add('cast(VALOR_SUBTOTAL as double precision) as VALOR_SUBTOTAL');
  12. Então em uma query onde eu tenho campos do tipo double precision e/ou numeric, como ficaria um campo (exemplo) de cast no firebird aplicado no select?
  13. Desculpe, não entendi. Antes disso eu coloco: QryPedidos.Close; QryPedidos.SQL.Clear; QryPedidos.sql.add('select * from pedido'); QryPedidos.Open; Mas eu quero colocar um novo item nesse pedido, não é Append e no final Post ? De qualquer forma, colocando Append ou Edit, ao final, quando dou um POST, dá o erro acima.
  14. Prezados, bom dia. Utilizo o Delphi 10.4 e banco de dados Firebird 4.0 para uma determinada aplicação. Acontece que estou enfrentando um erro quando tento utilizar um FDQUERY para incluir campos em uma tabela. Aparece o erro : '' is invalid floating point value. Após o processo de post. A princípio, pensei, em algum campo da minha tabela que é double precision ou numeric estar passando vazio, mas mesmo incluindo esses campos no código recebendo 0 ou qualquer valor, o erro persiste. Abaixo o código: if QryPedidos.RecordCount = 0 then QryPedidos.Append else QryPedidos.Edit; QryPedidos.FieldByName('ID').AsInteger := BuscaNovoPedido; QryPedidos.FieldByName('ID_VENDEDOR').AsInteger := QryConfig.FieldByName('ID_VENDEDOR_PADRAO').AsInteger; QryPedidos.FieldByName('ID_CLASSIFICACAO').AsInteger := QryConfig.FieldByName('ID_CLASSIFICACAO_PADRAO').AsInteger; QryPedidos.FieldByName('IDEMPRESA').AsInteger := sIDEmpresa; QryPedidos.FieldByName('ID_FORMAPAG').AsInteger := QryFormaPag.FieldByName('ID').AsInteger; QryPedidos.FieldByName('COO').AsInteger := DmTabelas.PAFECF.gCOO; QryPedidos.FieldByName('CCF').AsInteger := DmTabelas.PAFECF.gCCF; QryPedidos.FieldByName('GNF').AsInteger := DmTabelas.PAFECF.gGNF; QryPedidos.FieldByName('CAIXA').AsString := DmTabelas.PAFECF.gCaixa; QryPedidos.FieldByName('NUMSERIEECF').AsString := ''; QryPedidos.FieldByName('DATA_ENTREGA').AsDateTime := now; QryPedidos.FieldByName('HORA_ENTREGA').AsDateTime := now; QryPedidos.FieldByName('DAV').AsString := 'S'; if not pDAV then QryPedidos.FieldByName('DAV').AsString := 'N'; // preenche dados do cliente if DmClientes.Dados_Contato(ClienteCupom.ID) then begin QryPedidos.FieldByName('ID_CLIENTE').AsInteger := ClienteCupom.ID; QryPedidos.FieldByName('CLIENTE').AsStringTrim := ClienteCupom.Cliente; QryPedidos.FieldByName('END_ENTREGA').AsStringTrim := ClienteCupom.Endereco; QryPedidos.FieldByName('NUM_END_ENTREGA').AsStringTrim := ClienteCupom.Numero; QryPedidos.FieldByName('COMPL_END_ENTREGA').AsStringTrim := ClienteCupom.Complemento; QryPedidos.FieldByName('BAIRRO_END_ENTREGA').AsStringTrim := ClienteCupom.Bairro; QryPedidos.FieldByName('CID_END_ENTREGA').AsStringTrim := ClienteCupom.Cidade; QryPedidos.FieldByName('UF_END_ENTREGA').AsString := ClienteCupom.UF; QryPedidos.FieldByName('CEP_END_ENTREGA').AsStringTrim := ClienteCupom.Cep; QryPedidos.FieldByName('CNPJCPF').AsStringTrim := ClienteCupom.CPF; QryPedidos.FieldByName('INSCEST').AsStringTrim := ClienteCupom.Identidade; QryPedidos.FieldByName('PLACA_VEIC').AsStringTrim := ClienteCupom.Placa; QryPedidos.FieldByName('ODOMETRO').AsStringTrim := ClienteCupom.Odometro; end; QryPedidos.FieldByName('VALOR').AsExtended := 0;//formatfloat('#,##0.00',0); QryPedidos.FieldByName('DESCONTO').AsExtended := 0; QryPedidos.FieldByName('ACRESCIMO').AsExtended := 0; QryPedidos.FieldByName('OUTRAS_DESPESAS').AsExtended := 0; QryPedidos.FieldByName('VALOR_TOTAL').AsExtended := 0; QryPedidos.FieldByName('VALOR_REAL').AsExtended := 0; QryPedidos.FieldByName('MARGEM_VENDA').AsExtended := 0; QryPedidos.FieldByName('VALOR_COMISSAO').AsExtended := 0; QryPedidos.FieldByName('TOTAL_GERAL').AsExtended := 0; QryPedidos.Post; Todos os campos acima estão criados no FieldEditors também. Não sei mais o que fazer !!!! Se alguém tiver alguma ideia do que posso fazer, de repente uam propriedade no componente que posso mudar, ou algo no código que preciso implementar, eu agradeço.
  15. Se alguém tiver uma ideia de onde to errando, eu agradeço turma rsrs tá difícil.
  16. Juliomar, bom dia. Realizei a alteração pra "CustomHeaders.Add('Authorization:Bearer '+Token);" e o erro persiste. Sei que está funcionando, pois eu consigo o token, que é chamado em um post. O Problema está neste tipo de autenticação que não consigo passar o bearer utilizando os componentes TIdHTTP e TIdSSLOHandlerSocket. O post que funciona e eu chamo antes da chamada acima é este: function TForm1.GetToken(url, username, password: string): string; var sresponse, parametros : string; StringStream : TStringStream; json_root : ISuperObject; begin try with IdHTTP1.Request do begin Clear; ContentType := 'application/x-www-form-urlencoded'; BasicAuthentication := True; end; parametros := 'grant_type=' + 'password' + '&' +'username=' + username + '&' +'password=' + password; StringStream := TStringStream.Create(UTF8Encode(parametros)); StringStream.Position := 0; sResponse := idHTTP1.Post(url,StringStream); json_root:=SO(sresponse); Result := json_root.S['access_token']; except on E: Exception do begin //Result := e.message; exit; end; end; end;
  17. Prezados, bom dia. Utilizo Delphi 7 e estou com um problema para conseguir o Get de uma website. Lá eles utilizam o Bearer Token e da forma que estou fazendo, ao chamar o Get, ele dá o erro HTTP/1.1 401 Unauthorized. O que posso fazer para conseguir chamar o get pelo delphi 7? Abaixo o código que implementei: function TForm1.GetDocumentos(URL, Sistema, TipoDocumento, TomadorPrestador, Status, Token: string): string; var sResponse, parametros : string; begin try with IdHTTP1.Request do begin Clear; CustomHeaders.Clear; ContentType := 'application/json'; Accept := 'application/json'; BasicAuthentication := false; CustomHeaders.FoldLines := False; CustomHeaders.Add('Authorization: Bearer token:"'+Token+'"'); CustomHeaders.Add('consultaExterna.sistema:'+Sistema); CustomHeaders.Add('consultaExterna.tipoDocumento:'+TipoDocumento); CustomHeaders.Add('consultaExterna.tomadorPrestador:'+TomadorPrestador); CustomHeaders.Add('consultaExterna.status:'+Status); end; sResponse := idHTTP1.Get(URL); Result := sresponse; except on E: Exception do begin Result := e.message; exit; end; end; end;
  18. O palpite foi certeiro amigo. Aumentei a hora de emissão e o Sefaz aceitou. Engraçado que para outros clientes que emitem cupons fiscais a meia noite de outros estados, este erro não ocorreu. Esse erro aconteceu apenas no estado de GO. Obrigado pela ajuda.
  19. Amigos, boa tarde. Pela primeira vez nos apareceu o erro referente a geração do QR-CODE, porém quando pegamos o xml por exemplo e validamos em sites como o tecnospeed, ele valida o xml como correto. Por gentileza, alguém já viu esse erro e tem alguma ideia de como resolvê-lo. Desde já, agradeço a atenção. Obs.: os dados do emitente foram alterados. xml.xml
  20. Obrigado pelo retorno. Porém aprece que o problema está lá mesmo no Sefaz, nossa equipe ligou lá e eles restartaram o serviço de web service para nós, agora ainda com lentidão, mas está retornando aos poucos os cupons. Att,
  21. Prezados, boa tarde. Por gentileza, eu gostaria de saber se alguém está conseguindo emitir os cupons que ficaram na contingência no estado de MG? Continuamos com a mesma situação.
  22. Após atualização do acBr, conforme citação do Felipe, apenas para Minas Gerais está dando erro de timeout para o web service de autorizacao.
  23. Então no meu caso, este erro ocorre logo de cara, quando chamo a função do ACBR --> ACBrNFe1.WebServices.StatusServico.Executar. Ou seja, nem retorno eu estou tendo dos envios.
×
×
  • 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...