Jump to content
Notícias do ACBr

click.png

click.png

click.png

click.png

click.png

click.png

clube mobile


Cursos grátis para toda base ACBr
+ Promoção Clube Mobile para o ACBr Pro

Saiba mais

adriano santos

click.png

click.png

click.png

click.png

click.png

click.png

Túlio de Pádua

Membros
  • Content Count

    70
  • Joined

  • Last visited

Community Reputation

38 Excellent

1 Follower

About Túlio de Pádua

  • Rank
    Membro

Profile Information

  • Sexo
    Masculino
  • Location
    Monte Carmelo - MG

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. O artigo aprofunda bastante, e cita num ponto algo que pode resolver parte no meu problema: "If space or speed are not as important as accuracy, use the Extended type throughout, because Delphi also uses it internally in most system functions." Usar o tipo extended realmente fornece uma precisão melhor: procedure TForm1.Button4Click(Sender: TObject); var val1: Double; val2: Extended; begin val1 := 1114313.68; val2 := 1114313.68; Memo1.Lines.Clear; Memo1.Lines.Add(FormatFloat('###,###,##0.00########', val1)); Memo1.Lines.Add(FormatFloat('###,###,##0.00########', v
  2. Bom dia Italo, eu anexei o do CTe OS e o do CTe assíncrono. CTe síncrono eu não tenho, pois consigo fazer emissão de CTe apenas para MG, que não tem webservice para síncrono ainda. 1-pro-lot ----- CTeOS.xml 311000131383853-pro-rec ----- CTe Assíncrono.xml
  3. Pessoal, fui fazer um teste com o CT-e OS, e percebi que ao transmitir a rotina de envio do ACBr está gerando uma exceção, mesmo o conhecimento sendo autorizado. Testei com o programa de exemplo e o resultado também acontece: Veja que mesmo o retorno estando correto (uso autorizado), o log trata como se houve erro de transmissão. Debugando cheguei ao trecho abaixo, na rotina TratarResposta (TCTeRecepcao.TratarResposta) // Verificar se a GTV-e foi autorizado com sucesso Result := (FCTeRetornoSincrono.cStat = 100) and (TACBrCTe(FPDFeOwner).CstatProcessado(FCTeRetornoSinc
  4. Sim, aparentemente tudo certo. Obrigado.
  5. Não, na verdade não foram informados esses decimais, o valor digitado foi "1.114.313,68", apenas com dois decimais. O problema é que ao digitar o valor no campo, ele é alterado para esse número com mias decimais aí. Eu atribuo isso ao problema de precisão que o float possui, mas queria ver se tem alguma maneira de contornar mesmo.
  6. No banco de dados ele está delimitado (15,10) como numérico. Isso aí é do clientdataset mesmo.
  7. Pessoal, tenho um campo para informação de preço que possui 10 casas decimais. Isso no clientdataset gera um campo do tipo float. Nesse campo eu uso a máscara "###,###,##0.00########", ou seja, para a parte dos decimais exibe sempre duas casas, e quantas mais existirem até 10. Entretanto alguns valores quando digitados acabam sendo alterados numa tentativa de arredondamento pelo cds. Por exemplo, ao se digitar "1.114.313,68" ele aparece como "1.114.313,6799999999": Isso vai se repetir também no DANFe: Eu sei que valores de ponto flutuante podem gerar distorção nos valores
  8. Pessoal, o DACTE para um CTE OS estava exibindo o título DACTE (Documento Auxiliar do Conhecimento de Transporte Eletrônico). Alterei para exibir DACTE OS (Documento Auxiliar do Conhecimento de Transporte Eletrônico para Outros Serviços), caso seja esse o modelo. Um ajuste pequeno, mas um cliente exigiu isso. O modelo em Fast já está correto. ACBrCTeDACTeRLRetrato.pas
  9. Configuração para o Indy: Params := TIdMultiPartFormDataStream.Create; Params.AddFile('file[]', 'C:\Desenvolvimento\Teste_Indy\31200305405941000129550010008979891610757381-nfe.xml', 'application/xml'); Params.AddFormField('query', '{"boxe/File":true}', 'UTF-8', 'application/json'); IdHTTP1.Request.CustomHeaders.Clear; IdHTTP1.Request.CustomHeaders.Values['Authorization'] := 'Bearer ' + token; IdHTTP1.Request.Accept := 'application/json'; IdHTTP1.Request.ContentType := 'multipart/form-data'; Assim deverá funcionar.
  10. Cara, eu também estou tentando fazer essa parte da implementação dessa API durante essa semana, e a mesma coisa, sempre tenho o retorno 500. Já testei com Indy, RestClient, e outros componentes como o ICS. Nada funciona, apenas ao testar pelo Postman.
  11. Resolvido, encontrei o problema, era algo na minha aplicação mesmo.
  12. Criei um exe onde eu posso gerar ambos os comprovantes, e, deu certo, Vou continuar revisando meus códigos aqui.
  13. Não Juliana. Mas não é a mesma coisa, pois são dois exes diferentes. Seria o mesmo que eu executar minha aplicação por duas vezes diferentes para testar os comprovantes, e isso me daria um teste positivo. O problema é quando dois tipos são gerados em sequência, o segundo sai estragado. Vou tentar gerar um exe com apenas a geração dos comprovantes e ver se ocorre o problema.
×
×
  • Create New...