Ir para conteúdo
  • Cadastre-se

cefantacini

Membros
  • Total de ítens

    368
  • Registro em

  • Última visita

Tudo que cefantacini postou

  1. Eu testei aqui tanto em homologação quanto em produção, tanto o Webservice de consulta de status do serviço quanto o de consulta cadastro e o problema se repete nas 4 situações.
  2. Já tive reportes esporádicos de clientes em produção e agora tbém estou recebendo a MSG em homologação. Mais alguém está passando pelo mesmo problema?
  3. Bom dia amigo. Sua dica me ajudou a resolver, as variáveis eram do tipo Extended e mudei para Currency. Obrigado a todos. Se quiser pode fechar o tópico.
  4. Eu fiz vários testes de arredondamento usando o RoundABNT do ACBr, veja por exemplo: Agora o resultado da mensagem: a variável vItem vem com valor 29,04 só de eu "colocar" ela dentro do componente o valor "vira" 29,0401 e depois da multiplicação dá a diferença dos dois centavos ...
  5. Adicionalmente eu mudei a forma de alimentar o componente: Produto.Prod.vProd := RoundABNT( qItem*vItem, -2 ); Produto.Prod.qCom := qItem; Produto.Prod.vUnCom := Produto.Prod.vProd/qItem; Aí o valor total dos produtos e da nota ficou OK, porem caiu na validação... 629-Rejeição: Valor do Produto difere do produto Valor Unitário de Comercialização e Quantidade Comercial
  6. O problema é que o valor do item 2 não era pra dar 4721,34 e sim 4721,32 o valor qCom 29,04, quando eu coloco no componente vira 29.0401...
  7. Estou com um problema de arredondamento na NFe, com uma combinação de valores. Na tela (DBGrid) fica dessa forma. *detalhe para o ítem P2 No DANFe fica da forma acima. Tentei preencher o componente de duas formas diferentes... Produto.Prod.qCom := qItem; Produto.Prod.vUnCom := vItem; ou Base := RoundABNT( qItem*vItem, -2 ); Produto.Prod.qCom := qItem; Produto.Prod.vUnCom := Base/qItem; As variáveis Base, qItem e vItem são do tipo Extended e recebem o valor do campo da tabela.... Abaixo um exemplo de rastreamento de código... Base := RoundABNT( qItem*vItem, -2 ); Produto.Prod.qCom := qItem; Produto.Prod.vUnCom := Base/qItem; ShowMessage( 'Variável qItem: '+FloatToStr( qItem )+Chr( 13 )+ 'Variável vItem: '+FloatToStr( vItem )+Chr( 13 )+ 'Produto.Prod.qCom: '+FloatToStr( Produto.Prod.qCom )+Chr( 13 )+ 'Produto.Prod.vUnCom: '+FloatToStr( Produto.Prod.vUnCom ) ); O resultado do ShowMessage: Depois de "colocado" no componente, o valor 29,04 vira 29,0401. Aparentemente é aí a origem do problema. Vou anexar o XML, caso alguém possa me passar qq dica é muito bem vinda... PRE_RETRATO_4_000000884.xml
  8. Legal, consegui pelo menos desabilitar o Ctrl D. O problema do Ctrl Z é que eu devo ter apertado o Ctrl D e não percebi e salvei e passou um tempo e depois percebi....daí já não dava mais para desfazer ...
  9. Eu não estou conseguindo fazer a configuração formatação de código no lazarus, quando aperto Ctrl+D. Na verdade nem gosto dessa ferramenta, porém acho que acabei apertando isso acidentalmente alguma vez no passado e bagunçou meu código fonte. Agora não consigo configurar de forma a ficar da forma que eu prefiro. Se tiver alguém no grupo que tá mais familiarizado com essas configurações e puder me dar umas dicas. Eu prefiro manter o if then else como abaixo: if then begin end else begin end; E gostaria tbém depois de corrigir, desabilitar esse recurso para não acontecer de usar acidentalmente novamente. Não sei se muda alguma coisa mais o projeto é migrado do Delphi, porém o código foi desalinhado já no lazarus. Se alguém do grupo tiver alguma noção agradeço.
  10. cefantacini

    "Recarregar" Schemas

    Estou fazendo uma simulação aqui, deixo a pasta de schemas vazia, carrego os dados da nota no componente e peço para validar, daí ele dá o erro. "Arquivo de Schema não especificado" Normal! Se na sequencia, eu copiar os arquivos de schemas para a pasta - com o sistema aberto mesmo -, carregar a nota novamente e validar novamente ele dá o mesmo erro. Porém agora os schemas estão na pasta. Existe alguma forma de eu forçar o "recarregamento" dos arquivos de schemas pelo componente?
  11. Atualizei aqui e resolveu. Obrigado! Se quiser pode fechar o tópico.
  12. Segue o XML 35210564707268000140550010000008471023179200-nfe.xml
  13. Estou usando o Fortes.
  14. cefantacini

    xPag no Danfe

    Estou fazendo os ajustes do sistema para a nota técnica 2020.006. Consegui emitir nota normalmente usando a tag xPag. Porém um dúvida/sugestão. Meu componente DANFE está configurado a propriedade ExibeCampoDePagamento = eipQuadro. Porém, se usada a forma de pagamento 99 e a tag xPag for preenchida, no DANFE, não aparece o valor do xPag e sim a palavra Outro. Existe alguma configuração adicional para que passe a aparecer o valor da tag xPag ou o comportamento será esse mesmo?
  15. Eu consegui resolver, da seguinte forma: Selecionei todos os controles (Edit, ComboBox, BitBtn, etc) da tela (Shift pressionado + clique do mouse sobre o controle). Com todos marcados apertei Ctrl+X, ou seja, removi eles da tela. Compilei o programa que deu erro pq o código fazia referência aos controles. Voltei ao Form, apertei Ctrl+V e colei de volta, aí, o lázatus já cola nos mesmos locais. Pedi para o próprio lázarus fazer o alinhamento do TabOrder e o problema foi resolvido. Fechei, abri o projeto, testei, tudo ok. Se quiser pode fechar o tópico.
  16. Daniel, a nova versão eu devo instalar na mesma pasta que estava a anterior antes de ser renomeada? Vc saberia me dizer qual a última versão estável?
  17. Para o pessoal que está a costumado a utilizar o lazarus, qual a melhor forma de atualização? Depois de atualizado vai ser necessário reinstalar os componentes todos ou ele já assume? Qual seria a melhor versão estável atual?
  18. mcarolino, no meu caso não tenho DBCheckBox na tela, tenho um CheckBox, tentei colocar a o tabstop dele igual a false porém o problema continua...
  19. Daniel Os componentes estão todos sobre o form mesmo. Eu fiz um outro teste alterando a propriedade TabOrder dos componentes em vez de clicar o botão contrário no meio da tela e ir em ordem de tabulação. O problema persistiu. É interessante que eu compilo o projeto e em tempo de execução a ordem não é respeitada, se eu volto para o tempo de projeto a ordem está correta. Se eu fecho o projeto e abro de novo a ordem volta para a forma errada em tempo de projeto.
  20. Eu tenho um form em um projeto lazarus, não está respeitando a ordem de tabulação. Eu configuro a ordem correta, compilo e ele não obedece. Se eu fechar o projeto e abrir de novo, mesmo em tempo de projeto a ordem de tabulação volta a ficar da forma que estava antes de eu configurar. Já apaguei a pasta lib e não resolveu. Alguém já passou por alguma coisa semelhante?
  21. Eu testei no Delphi 7, mais importando pelo WSDL Importer do Delphi 7. De inicio, ficou idêntico ao Lazarus, os métodos de consulta funcionavam e o de envio de arquivo não. E o erro que dava no Delphi 7 era exatamente o mesmo do Lazarus. Eu localizei a solução para o Delphi 7 nesse tópico: http://www.activedelphi.com.br/forum/viewtopic.php?p=412350&sid=572ef584ded98979457f777f925abe2d Acontece que o Importer do Delphi 7 na Initialization, ficava originalmente da seguinte forma: initialization InvRegistry.RegisterInterface(TypeInfo(sngpcSoap), 'http://tempuri.org/', ''); InvRegistry.RegisterDefaultSOAPAction(TypeInfo(sngpcSoap), 'http://tempuri.org/%operationName%'); Quando o correto seria: initialization InvRegistry.RegisterInterface(TypeInfo(sngpcSoap), 'http://tempuri.org/', ''); InvRegistry.RegisterDefaultSOAPAction(TypeInfo(sngpcSoap), 'http://tempuri.org/%operationName%'); InvRegistry.RegisterInvokeOptions(TypeInfo(sngpcSoap), ioDocument); Ao adicionar essa última linha, no Delphi 7 o problema foi totalmente resolvido. Por isso, acredito que o problema possa ser a ausência de algum registro na initialization do Lazarus. Porém não tenho idéia do que poderia ser. O Initialization do Lazarus depois de importado pelo Web Service Tool Kit fica da seguinte forma: initialization typeRegistryInstance := GetTypeRegistry(); typeRegistryInstance.Register(sNAME_SPACE,TypeInfo(ValidarUsuario_Type),'ValidarUsuario',[trioqualifiedElement]); typeRegistryInstance.Register(sNAME_SPACE,TypeInfo(ValidarUsuarioResponse),'ValidarUsuarioResponse',[trioqualifiedElement]); typeRegistryInstance.Register(sNAME_SPACE,TypeInfo(EnviaArquivoSNGPC_Type),'EnviaArquivoSNGPC',[trioqualifiedElement]); typeRegistryInstance.Register(sNAME_SPACE,TypeInfo(EnviaArquivoSNGPCResponse),'EnviaArquivoSNGPCResponse',[trioqualifiedElement]); typeRegistryInstance.Register(sNAME_SPACE,TypeInfo(ConsultaDadosArquivoSNGPC_Type),'ConsultaDadosArquivoSNGPC',[trioqualifiedElement]); typeRegistryInstance.Register(sNAME_SPACE,TypeInfo(ConsultaDadosArquivoSNGPCResponse),'ConsultaDadosArquivoSNGPCResponse',[trioqualifiedElement]); É completamente diferente do Delphi 7.
  22. Valeu Juliomar Eu fiz o que vc disse, peguei uma rotina na internet para fazer... Mais o problema persiste, vou postar com as alterações, se vc ou alguém do grupo puder dar uma olhada ... Anvisa.rar
  23. Vou te passar os detalhe de acesso que tenho aqui no private.
  24. Grande Juliomar Obrigado pela sugestão! O Exemplo está em anexo... Anvisa.rar
  25. Eu importei o WebService da ANVISA com o Web Service Toolkit do Lazarus: http://sngpc.anvisa.gov.br/webservice/sngpc.asmx Para o métoido EnviaArquivoSNGPC ele criou o tipo: EnviaArquivoSNGPC_Type = class(TBaseComplexRemotable) private FEmail : String; FSenha : String; FArq : TBase64StringRemotable; FHashIdentificacao : String; private function wstHas_Email() : Boolean; function wstHas_Senha() : Boolean; function wstHas_Arq() : Boolean; function wstHas_HashIdentificacao() : Boolean; public constructor Create();override; procedure FreeObjectProperties();override; published property Email : String read FEmail write FEmail stored wstHas_Email; property Senha : String read FSenha write FSenha stored wstHas_Senha; property Arq : TBase64StringRemotable read FArq write FArq stored wstHas_Arq; property HashIdentificacao : String read FHashIdentificacao write FHashIdentificacao stored wstHas_HashIdentificacao; end; Eu não estou conseguindo usar o parametro Arq: TBase64StringRemotable Pelo que eu pesquisei eu deveria registrar alguma coisa com a propriedade: RegisterAttributeProperty() Porém não estou tendo êxito Código da chamada .... var ClasseSNGPC : sngpcSoap; Arquivo : EnviaArquivoSNGPC_Type; . . . begin SYNAPSE_RegisterHTTP_Transport( ); ClasseSNGPC := wst_CreateInstance_sngpcSoap( ); Arquivo := EnviaArquivoSNGPC_Type.Create(); Arquivo.Email := eMail; Arquivo.Senha := Senha; Arquivo.Arq.EncodedString := StringBase64; Arquivo.HashIdentificacao := Hash; try ClasseSNGPC.EnviaArquivoSNGPC( Arquivo ); except on e: Exception do ShowMessage( E.Message ); end; Mensagem de erro: Service exception : Code = "soap:Server" Message = "System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.ArgumentNullException: Value cannot be null. Parameter name: buffer at System.Security.Cryptography.HashAlgorithm.ComputeHash(Byte[] buffer) at sngpc.sngpc.GetMD5HashFromByte(Byte[] file) in C:\inetpub\wwwroot\sngpc\webservice\sngpc.asmx.cs:line 479 at sngpc.sngpc.EnviaArquivoSNGPC(String Email, String Senha, Byte[] Arq, String HashIdentificacao) in C:\inetpub\wwwroot\sngpc\webservice\sngpc.asmx.cs:line 902 --- End of inner exception stack trace ---" Se alguém tiver alguma sugestão...
×
×
  • 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...