Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 06-02-2018 em todas as áreas

  1. Boa tarde Marcelino, O processo é dividido em 3 etapas. 1. demos usar o método DistribuicaoDFeporUltNSU para baixar os resumos; 2. devemos enviar um evento de manifestação do destinatário para cada nota (resumo) obtido na etapa anterior. 3. por fim devemos usar novamente o DistribuicaoDFePorUltNSU para baixar novos resumos e os XML completos das notas manifestadas na etapa anterior. Lembre-e que a cada execução do DistribuicaoDFePorUltNSU devemos sempre informar o NSU retornado pela execução anterior. Por exemplo executo o DistribuicaoDFePorUltNSU e informo o valor 60 como sendo o ultimo NSU. Ao obter o retorno tenho um novo NSU (retornado na propriedade UltNSU), por exemplo 85. A próxima vez que for executar o DistribuicaoDFePorUltNSU devo informar o valor 85. Espero ter ajudado.
    2 pontos
  2. Bom dia pessoal. Como todos sabem, na maioria das vezes em que o windows se atualiza ele marca aquelas opções de certificados revogados em "Opções da internet > Avançado" e, pelo menos comigo, gera uma grande quantidade de suporte à clientes. O correto é ficar assim: ( ) Usar SSL 2.0 (x) Usar SSL 3.0 (x) Usar TSL 1.0 ( ) Usar TSL 1.1 ( ) Usar TSL 1.2 ( ) Verificar revogação de certificados servidor* (x) verificar se ha assinaturas em programas baixados ( ) Verificar se há revogação de certificados do editor Então no final do ano passado até cheguei a comentar em um tópico se teria como modificar esses dados diretamente pelo delphi, pra facilitar nossa vida, mas não tinha ninguém com essa informação. Pois bem, essa semana tive um tempinho e comecei a mexer com isso e creio que encontrei uma solução, segue abaixo programação para alterar o registro do windows com as opções corretas. Já testado em alguns clientes e até o momento funcionando perfeitamente. (Testado em windows XP, 7, 2003 server) uses Registry; procedure TFPrincipal.FormCreate(Sender: TObject); var Registro: TRegistry; begin //acertando opções da internet (revogados / SSL / TSL) //verificar revogação de certificados do servidor Registro := TRegistry.Create(KEY_WRITE); Registro.RootKey := HKEY_CURRENT_USER; if registro.OpenKey('Software\Microsoft\Windows\CurrentVersion\Internet Settings', true) then begin Registro.WriteInteger('CertificateRevocation', 0); end; registro.CloseKey; //verificar se há certificados revogados do fornecedor if registro.OpenKey('Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing', true) then begin Registro.WriteInteger('State', 146944); end; registro.CloseKey; //Usar SSL 3.0 / Usar TSL 1.0 if registro.OpenKey('Software\Microsoft\Windows\CurrentVersion\Internet Settings', true) then begin Registro.WriteInteger('SecureProtocols', 160); end; registro.CloseKey; registro.Free; end; Espero ajudar o pessoal do ACBr com essa contribuição. Um abraço a todos.
    1 ponto
  3. Beleza! Vou fazer isso. Muito Obrigado pela ajuda.
    1 ponto
  4. Fui mudado a maneira de retorno das msg e ocorrência no componente. Não esta retornado os valores nas propriedades correspondente de Envio e Retorno. No exemplo Acbr, foi simplesmente comentado os retorno. Agora o componente não funciona, pois não temos os retornos. o Exemplo acbr esta assim todos os retornos comentados, so retorno o xml, as propriedades do componente não são preenchidas. ps. vou ter que passar a fazer backup do esocial antes de atualizar os fontes, porque agora não tenho como gerar mais o esocial. MemoResp.Lines.Text := ACBreSocial1.WebServices.ConsultaLote.RetWS; (* with MemoDados.Lines do begin Add(''); Add('Código Retorno: ' + IntToStr(ACBreSocial1.WebServices.ConsultaLote.RetProcLote.Status)); Add('Mensagem: ' + ACBreSocial1.WebServices.ConsultaLote.RetProcLote. Descricao); if ACBreSocial1.WebServices.ConsultaLote.RetProcLote.Status in ([201, 202]) then begin Add('ideEmpregador'); Add(' - TpInsc: ' + IntToStr(ord(ACBreSocial1.WebServices.ConsultaLote.RetProcLote. IdeEmpregador.TpInsc))); Add(' - NrInsc: ' + ACBreSocial1.WebServices.ConsultaLote.RetProcLote. IdeEmpregador.NrInsc); Add('ideTransmissor'); Add(' - TpInsc: ' + eSTpInscricaoToStr( ACBreSocial1.WebServices.ConsultaLote.RetProcLote.IdeTransmissor.TpInsc)); Add(' - NrInsc: ' + ACBreSocial1.WebServices.ConsultaLote.RetProcLote. IdeTransmissor.NrInsc); Add('dadosRecepcaoLote'); Add(' - dhRecepcao: ' + DateTimeToStr (ACBreSocial1.WebServices.ConsultaLote.RetProcLote.dadosRecLote. dhRecepcao)); Add(' - versaoAplicativoRecepcao: ' + ACBreSocial1.WebServices.ConsultaLote.RetProcLote.dadosRecLote. versaoAplicRecepcao); Add(' - protocoloEnvio: ' + ACBreSocial1.WebServices.ConsultaLote. RetProcLote.dadosRecLote.Protocolo); for Index := 0 to ACBreSocial1.WebServices.ConsultaLote.RetProcLote. retEventos.Count - 1 do begin retEvento := ACBreSocial1.WebServices.ConsultaLote.RetProcLote. retEventos.Items[Index]; if retEvento.Processamento.cdResposta <> EmptyStr then begin Add('Processamento'); Add(' - cdResposta: ' + retEvento.Processamento.cdResposta); Add(' - descResposta: ' + retEvento.Processamento.descResposta); Add(' - versaoAplicProcLote: ' + retEvento.Processamento.versaoAplicProcLote); Add(' - dhProcessamento: ' + DateTimeToStr(retEvento.Processamento.dhProcessamento)); Add('Recibo'); Add(' - nrRecibo: ' + retEvento.Recibo.FnrRecibo); Add(' - hash: ' + retEvento.Recibo.Fhash); end; if retEvento.Processamento.Ocorrencias.Count > 0 then begin Add('Ocorrencias'); for J := 0 to retEvento.Processamento.Ocorrencias.Count - 1 do begin Add(' Ocorrencia ' + IntToStr(J)); Add(' Código:' + IntToStr(retEvento.Processamento.Ocorrencias.Items[J].Codigo)); Add(' Descrição: ' + retEvento.Processamento.Ocorrencias.Items [J].Descricao); Add(' Tipo: ' + IntToStr(retEvento.Processamento.Ocorrencias.Items[J].Tipo)); Add(' Localização:' + retEvento.Processamento.Ocorrencias.Items [J].Localizacao); end; end; end; end else begin for Index := 0 to ACBreSocial1.WebServices.ConsultaLote.RetProcLote. retEventos.Count - 1 do begin retEvento := ACBreSocial1.WebServices.ConsultaLote.RetProcLote. retEventos.Items[Index]; Add('Ocorrencias'); for J := 0 to retEvento.Processamento.Ocorrencias.Count - 1 do begin Add(' Ocorrencia ' + IntToStr(J)); Add(' Código:' + IntToStr(retEvento.Processamento.Ocorrencias.Items[J].Codigo)); Add(' Descrição: ' + retEvento.Processamento.Ocorrencias.Items[J] .Descricao); Add(' Tipo: ' + IntToStr(retEvento.Processamento.Ocorrencias.Items [J].Tipo)); Add(' Localização:' + retEvento.Processamento.Ocorrencias.Items[J] .Localizacao); end; end; end; end; *)
    1 ponto
  5. ok envio e retorno ok protocolo recibo ocorrencias. mensagems Testes com os Eventos S1000 S1005 S1010 S1020 S1030 S1050 Inclusive com o SEQUENCIAL implementado Obrigado a todos pelo excelente trabalho.
    1 ponto
  6. Boa tarde pessoal, Vou enviar para o repositório a correção da unit mais a atualização do programa exemplo, favor atuar e fazer novos testes. Desde já muito obrigado.
    1 ponto
  7. Fiz o teste de um retorno com Ocorrencias, e de um apenas com o Recibo. Ambos deu certinho. Faz novamente por favor o teste Edmar..
    1 ponto
  8. Dá uma analisada nessa unit, está corrigido o problema dos access violation referente a Recepcao, Processamento e Recibo. O problema era que não estava passando no TRetEventosCollectionItem.Create. Agora precisamos acertar os erros dos níveis do Leitor.Extrai pcesRetConsultaLote.pas
    1 ponto
  9. Italo, realmente foi só atualizar. Muito obrigado pela atenção.
    1 ponto
  10. Na verdade a informação é ambígua ele diz que o atributo é obrigatório mais na descrição diz que só vem se for verdadeiro ou seja governo fazendo merda até na documentação.
    1 ponto
  11. Bom dia Edmar, Você poderia anexar o XML de retorno referente a consulta?
    1 ponto
  12. Obrigado pelo retorno. Consegui resolver o problema aqui. Estou mais familiarizado com o Delphi, o Lazarus ainda é um pouco estranho, mais é questão de hábito. Enquanto assinar o Sac, acredito que irei assinar pois iniciaremos a utilizar o ACBRMonitorplus aqui na empresa. Grato.
    1 ponto
  13. Bom dia a todos, Estamos fazendo vários ajustes no componente, peço que tenham um pouco de paciência e nos ajude nos testes. Desde já muito obrigado.
    1 ponto
  14. o Retorno das ocorrências do Envio e da resposta da Consulta foram removidos. Foi feita uma nova implementação , mas não terminaram a resposta das: Ocorrências do envio do Evento, Ocorrências do Retorno da Consulta do Protocolo
    1 ponto
  15. Bom dia, vou tentar marcar aqui o @José M. S. Junior pra ver se ele pode dar uma olhadinha... Como eu disse antes, parece mesmo que o último item '4' está sobrando nos itens da function TpImpToStr... Att Ricardo
    1 ponto
  16. Esse XML foi gerado pelo ACBrNFe? Tem quebras de linha nele o que causa rejeição. O validador da SEFAZ-RS nem reconhece o conteúdo como de NFe...
    1 ponto
  17. Foi adicionado na revisão 14625. Vale um alerta. Esse layout é o próprio do unicred, com código do banco como 091 e um layout próprio. Para casos onde o código do banco e layout são outros, queira verificar o já postado pela Juliana anteriormente nesse tópico. Obrigado pela implementação. Foi adicionado ao SVN conforme post acima.
    1 ponto
  18. Obrigado pela análise... você está correto... Pesquisando um pouco mais sobre os Mimetypes, percebi que vários outros tipos, não deveriam passar pela conversão de Encoding... então apliquei uma verificação mais abrangente, para converter apenas se o MimeType for realmente um XML
    1 ponto
  19. Boa noite Elias, As duas que você anexou, já enviei para o repositório, muito obrigado pela colaboração.
    1 ponto
  20. Bom dia, Neste Caso pode utilizar o comando "LimparLista" após o envio do e-mail e incluir o próximo título, e assim sucessivamente... Mas vamos rever esse método para envio de e-mail...
    1 ponto
  21. Show, anexei agora. ACBrBlocoX_ReducaoZ.pas
    1 ponto
  22. Resolvi abrindo o dpk do fortes. Build e Install. Depois executei o instalador do acbr Obrigado
    1 ponto
  23. Boa tarde, Izaque.. Isso também está acontecendo comigo, o que eu fiz.. Em vez de instalar o Fortes pelo instalado ".exe" eu abri o pacote que encontrasse na pasta "Packages" dei um uninstall no pacote, em seguida um build e depois install novamente. E consegui instalar a ACBr..
    1 ponto
  24. Olá, segue abaixo: try ACBrNFe1.DistribuicaoDFePorUltNSU(ACBrNFe1.Configuracoes.WebServices.UFCodigo, OnlyNumber(vCNPJ), DistriUltNSU); except On E: Exception do mmLog.Lines.Add(DateTimeToStr(Now)+' - '+'Erro: '+e.Message); end; mmLog.Lines.Add(DateTimeToStr(Now)+' - '+ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.xMotivo+' NSU:'+DistriUltNSU); for i := 0 to ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count -1 do begin Application.ProcessMessages; AQUI ESTA O XML (ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.XML;) end;
    1 ponto
  25. tanto faz, se eh afirmacao ou pergunta... o resultado é pra vc verificar se esta usando as dlls corretas. mas como vc diz que esta fazendo certo, nao vou te questionar, apenas disse que comigo aconteceu o mesmo e era pq eu nao estava usando as dlls da pasta
    1 ponto
×
×
  • 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.