Ir para conteúdo
  • Cadastre-se

datilas

Membros
  • Total de ítens

    573
  • Registro em

  • Última visita

  • Days Won

    2

Tudo que datilas postou

  1. Com esse teste: var jsObjValues: TJSONObject; rValor: real; cValor: currency; sValor: single; dValor: double; begin rValor := 1.23456; cValor := 1.23456; sValor := 1.23456; dValor := 1.23456; jsObjValues := TJSONObject.Create; jsObjValues.Add('REAL', rValor); jsObjValues.Add('CURRENCY', cValor); jsObjValues.Add('SINGLE', sValor); jsObjValues.Add('DOUBLE', dValor); Memo1.Text := jsObjValues.AsJSON; olha o resultado: { "REAL":1.2345600000000001E+000, "CURRENCY":1.2345999999999999E+000, "SINGLE":1.2345600128173828E+000, "DOUBLE":1.2345600000000001E+000 } nada funciona, não sei o que fazer
  2. ja tentei tambem, eu vi isso em outro post aqui mas não resolveu. segue um exemplo: o codigo é esse: uses fpjson procedure TForm1.Button1Click(Sender: TObject); Var jsObjValues: TJSONObject; begin jsObjValues := TJSONObject.Create; jsObjValues.Add('VALOR',1.23456 ); ShowMessage(jsObjValues.AsJSON); end;
  3. zeosdbo mas mesmo com o valor fixo o resultado é o mesmo
  4. uso lazarus 32 bits 2.0.10 windows 10 eu tenho um campo VALOR no banco firebird do tipo DOUBLE PRECISION com o valor: 1,23456 quando eu vou gerar um json com fpjon assim: jsObjValues.Add('VALOR', aDataSet.FieldByName('VALOR').AsFloat) o resultado é esse: "VALOR": 1.2345600000000000E+002 se eu fizer assim: jsObjValues.Add('VALOR', 1.23456) o resultado é esse: "VALOR": 1.2345600000000000E+001 no delphi funciona certinho "VALOR": 1.23456 só para comparação: o campo ID é do tipo integer assim funciona: FieldByName('ID').AsInteger "ID": 1, assim não funciona: FieldByName('ID').AsFloat "ID": 1.0000000000000000E+000, alguem sabe como resolver no lazarus?
  5. tenta assim: SELECT CODIGO,NOME,SUM(VENDAS) AS VENDAS,SUM(TROCAS) AS TROCAS FROM ( SELECT A.CODIGO, C.NOME (SELECT SUM(E.QNT * E.PRECO) FROM PEDIDOSITENS E WHERE A.NUMERO = E.NUMERO AND E.TIPO = 'VENDA') AS VENDAS, (SELECT SUM(F.QNT * F.PRECO) FROM PEDIDOSITENS F WHERE A.NUMERO = F.NUMERO AND F.TIPO = 'TROCA') AS TROCAS FROM PEDIDOS A, CLIENTES C WHERE A.FATURA IS NULL ) GROUP BY CODIGO,NOME precisaria de uma base para testar
  6. Você pode validar antes de enviar: (só pra constar acho que erraram ao digitar "789" para "798") sErro := ACBrValidador.ValidarPrefixoGTIN('7988926061097'); If sErro <> '' Then ShowMessage(sErro);
  7. se você estiver usando GENERATOR ou SEQUENCE poderia retornar o codigo assim: suaquery.Close; suaquery.SQL.Clear; suaquery.SQL.Add('INSERT INTO SUATABELA (SEUSCAMPOS...) VALUES (:SEUSPARAMS...) RETURNING SEUCAMPOCODIGO'); ... suaquery.Open; iCodigoProduto := suaquery.Fields[0].AsInteger;
  8. você pode preencher o form de cadastro assim: seuform := Tseufrom.Create(Self); Try seufrom.iCodigoProduto := 0; seufrom.editNomeProduto.Text := seuXML.NomeProduto; seufrom.editNCM.Text := seuXML.NCM; seufrom.editCEST.Text := seuXML.CEST; ... seufrom.ShowModal; If seufrom.iCodigoProduto > 0 Then Begin FDMemTable1.Edit; FDMemTable1.FieldByName('seucampo').AsInteger := seufrom.iCodigoProduto; FDMemTable1.Post; End; Finally FreeAndNil(seufrom); End;
  9. você poderia criar uma variável (iCodigoProduto) no public do form de cadastro de produto e então: No botão salvar do seu cadastro popular a variável iCodigoProduto com o código do produto cadastrado seuform := Tseufrom.Create(Self); Try seufrom.iCodigoProduto := 0; seufrom.ShowModal; If seufrom.iCodigoProduto > 0 Then Begin FDMemTable1.Edit; FDMemTable1.FieldByName('seucampo').AsInteger := seufrom.iCodigoProduto; FDMemTable1.Post; End; Finally FreeAndNil(seufrom); End; lembrando que existe varias formas de se fazer isso, essa é apenas uma ideia
  10. ja tentou postar no git do fortes? https://github.com/fortesinformatica/fortesreport-ce/pulls
  11. muito obrigado.
  12. o acbr esta gerando alerta na tag cilin quando não deveria gerar pois o campo esta com tamanho minimo de 04 caracteres quando no manual o tamanho minimo é 01 carácter segue a unit corrigida: pcnNFeW.pas
  13. coloque um componente RLExpressionParser no formulario, não tem configuração é só soltar no formulario
  14. desculpe a insistência mas olhei todos os demos e não vi nada parecido, só pra explicar o relatório esta funcionando. eu preciso fazer duas vias na mesma folha
  15. como eu faria isso? pois eu tenho: 01 query para os dados do emitente (apenas um registro) header 01 query para os dados do destinatário e Vendedor (apenas um registro) header 01 query para os itens da venda (varios registros) subdetail 01 query para os dados de pagamento (varios registros) subdetail sumary com os totais. tem algum demo para eu tentar entender? masterdata é um componente?
  16. não tem como duplicar, pois é um pedido de venda, tem header, subdetail, sumary ...
  17. eu tenho um cliente que usava impressora matricial com papel meia folha, agora ele trocou para uma impressoras laser e ele precisa imprimir 2 vias na mesma folha alguém já fez isso com o fortes report?
  18. o componente apenas salva os eventos em disco, nesse caso ele não preenche a propriedade ACBrNFE1.Eventos... só uma correção: FRM_Data.ACBrNFe.Consultar(Copy(vChaveAcessoCC, 4, Length(vChaveAcessoCC)),True);
  19. o próprio componente se encarrega de extrair e salvar no disco conforme a configuração em: ACBrNFE1.Configuracoes.Arquivos....
  20. ACBrNFE1.Consultar(chaveNFe,True{extrair eventos});
  21. eu uso e recomendo. muito bom.
  22. seria muito bom se você puder compartilhar com a comunidade.
  23. os conversores online não funcionam? pergunto isso porque nunca precisei. https://permita.me/?q=jpg+to+pcx+monochrome
  24. na nota tecnica 2016.002 v1.61 é um puco diferente mas não soma o difal
  25. essa é a regra de validação qualquer coisa fora disso vai gerar rejeição o difal é destacado apenas nos itens, e não é impresso na danfe.
×
×
  • 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...