Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 27-09-2018 em Posts

  1. Olá pessoal, Na postagem "Como obter o XML do Fornecedor" mostrei o uso do método DistribuicaoDFePorChaveNFe, nessa nova postagem vou mostrar mais dois métodos: DistribuicaoDFePorUltNSU e DistribuicaoDFePorNSU. Vamos a sintaxe, que por sinal é semelhante ao do DistribuicaoDFePorChaveNFe. DistribuicaoDFePorUltNSU( <código da UF do destinatário>, <CNPJ do destinatário>, <numero do ultimo NSU> ) DistribuicaoDFePorNSU( <código da UF do destinatário>, <CNPJ do destinatário>, <numero do NSU> ) Primeiramente vamos entender o que vem a ser esse tal de NSU. NSU - numero sequencial único, é um numero atribuído pelo Ambiente Nacional ao documento ora compartilhado pelas SEFAZ-Autorizadora. Exemplo: o emitente da nota é do Estado de São Paulo, logo a nota é enviada para a SEFAZ-SP esta por sua vez vai compartilhar com o Ambiente Nacional as notas que foram autorizadas, o Ambiente Nacional por sua vez atribui um NSU para cada nota que receber. Na verdade o Ambiente Nacional gera um resumo da nota e atribui o NSU a esse resumo primeiramente e não a nota propriamente dita. Um NSU só será atribuído a nota quando o destinatário enviar o evento de Manifestação do Destinatário. Lembre-se o NSU da nota será um numero diferente do NSU do resumo dela, e por ser gerado após o envio do evento de Manifestação do Destinatário, podemos concluir que o NSU da nota é maior que o NSU do resumo. Vamos agora entender como funciona os dois métodos mencionados acima. O método DistribuicaoDFePorNSU é o mais simples de entender, pois este simplesmente baixa o documento que possui o NSU informado. Note que usei o termo documento, pois o webservice DistribuicaoDFe pode retornar os seguintes tipos de documentos: Resumo de Nota, Nota Completa, Resumo de Evento e Evento Completo. Se o NSU informado no método DistribuicaoDFePorNSU for o NSU de um resumo, o que teremos como retorno será o XML do resumo e não o XML da Nota. Por outro lado o método DistribuicaoDFePorUltNSU nos retorna uma lista com até 50 documentos, cujos NSU são superiores ao NSU informado. Exemplo: DistribuicaoDFePorUltNSU( 35, 12345678000123, 450 ) ===> 450 é o valor do Ultimo NSU. Ao executar o método, como dito anteriormente poderá nos retornar uma lista com até 50 documentos, pois bem suponha que retorne 50, os NSU desse documentos retornados serão, 451, 452, 453, ...., 498, 499, 500. Lembre-se que nessa lista podemos ter Resumos de Notas, Notas Completas, Resumo de Eventos e Eventos Completos. Através de uma propriedade chamada Schema nos traz a informação do tipo de documento retornado. Temos também outras duas propriedades muito importantes, são elas: UltNSU e MaxNSU. A propriedade UltNSU nos informa o numero do NSU referente ao ultimo documento da lista, já a propriedade MaxNSU nos informar o maior NSU existente no Ambiente Nacional. Continuando o exemplo acima, vamos supor que após a execução os valores de UltNSU e MaxNSU são respectivamente 500 e 750. Era de se esperar mesmo que o valor de ultNSU seja 500 pois informamos 450 e foi retornado 50 documentos, logo o NSU do ultimo é 500. A próxima vez que formos executar o DistribuicaoDFePorUltNSU devemos informar o valor 500, para que ele retorne os documentos a partir de 501 que é o próximo da lista. E devemos repetir o procedimento até que o valor de ultNSU seja igual a maxNSU, desta forma vamos ter baixado todos os documentos disponibilizados pelo Ambiente Nacional. Lembre-se que o valor de MaxNSU tende sempre a crescer a medida que novas notas forem emitidas e compartilhadas com o Ambiente Nacional e a medida que o destinatário for enviando o evento de Manifestação do Destinatário. Entre uma execução e outra do DistribuicaoDFePorUltNSU você pode realizar a manifestação referente a cada resumo de nota obtido, ou seja, enviar o evento de Manifestação do Destinatário. Desta forma a medida que você vai avançando na lista o Ambiente Nacional já vai liberando a Nota Completa (notas manifestadas) e disponibilizando ela na lista. O DistribuicaoDFe não serve apenas para que possamos obter o XML do fornecedor, mas também descobrirmos se existe alguma empresa emitindo notas contra o nosso CNPJ sem no nosso consentimento. Você descobre isso através do DistribuicaoDFePorUltNSU e pode avisar a SEFAZ enviando o evento de Manifestação do Destinatário: Desconhecimento da Operação. Esse evento diz a SEFAZ que você não comprou desse fornecedor. Para saber mais sobre Manifestação do Destinatário vide a Nota Técnica 2012/002 versão 1.02 e para saber mais sobre o Distribuição DFe vide a Nota Técnica 2014/002 versão 1.02b, ambas estão disponíveis no Portal Nacional da NF-e.
    6 pontos
  2. @EMBarbosa, é um veterano desenvolvedor do Projeto ACBr... Participe do Dia do ACBr e veja a palestra: 15:10 - 16:10 - Auditório Principal - ECFVirtual - Emitindo NFC-e e SAT com o ACBrECF Elton da Motta Barbosa Use o recurso de ECFs Virtuais do ACBr, para rapidamente transformar aplicações destinadas a Impressoras Fiscais, em emissores de NFCe e SAT. Mantenha as Regras de negócio de sua aplicação baseada em Impressora Fiscal como Redução Z, Leitura X, etc Principais cuidados de implementação de um emissor de NFCe
    4 pontos
  3. Amigo muito obrigado, nesse processo de pegar o LOG encontrei no monitor a opção que precisava ser marcada "EXIBIR LINHAS DO LOG EM RESPOSTAS ENVIADAS", fiz o teste marcando essa opção e trouxe o retorno da rejeição. Muito obrigado pelo apoio.
    3 pontos
  4. Entendi, obrigada pelo retorno, não estou com erros porque só utilizo NF-e e MDF-e mesmo.
    3 pontos
  5. Bom dia Luciana, Você tem os schemas do MDF-e junto com os da NF-e, pois muito bem, até o momento você não teve problemas porque não utilizou o método DistribuicaoDFe do MDF-e. Os schemas do Distribuição DFe do MDF-e se chama: distDFeInt_v1.00 já o da NF-e se chama: distDFeInt_v1.01 Como a versão do MDF-e é 3.00 o componente vai procurar pelo arquivo distDFeInt_v3.00 como não acha vai a procura de uma versão menor e acaba achando primeiramente o Schema da NF-e e não no MDF-e, ocasionando erros. E tem mais, se um tinha você vier a ter uma aplicação que emita CT-e o Schema do Distribuição DFe deste modelo de documento tem o mesmo nome do Schema do MDF-e, consequentemente vai ocorrer uma sobreposição de arquivos. Sendo assim, volto a afirmar não misture os schemas de modelos de documentos diferentes.
    3 pontos
  6. É com muita satisfação que recebemos a EPSON, como patrocinadora do Dia do ACBr... Participe do Dia do ACBr e conheça os produtos e a equipe técnica da EPSON... Leve seu notebook e teste sua aplicação no Kit SAT da Epson...
    3 pontos
  7. Desculpe , não tinha percebido !!! Colocarei o arquivo do log da próxima vez. Mas o problema acima foi resolvido, solução : Liguei para plantão fiscal, e o suporte do integrador falou que já tinha sido reportando esse erros por outras softhouse e que em algumas máquina isso estava ocorrendo, então ele passou uma atualização das dll do integrador que ainda não consta no site da sefaz. Substitui e resolveu o problema. Realmente depois de várias instalações eu ainda não tinha me deparado com esse problema. Fica a dica se alguém passar pelo mesmo problema.
    2 pontos
  8. [RESOLVIDO] Conforme minha suspeite realmente estava acontecendo sobreposição de arquivos. O XML assinado é salvo com o número do ID do mesmo, sendo que a referida ID na sua composição recebe a data e a hora e como a geração dos mesmos é muito rápida acontecia de vários XMLs receberem o mesmo ID [ 1000000272284742018092715032100001-S-2220-0.xml ] - minha solução foi colocar um Sleep(1000), ou seja dou uma pausa no processo de um segundo entre a geração de um e outro XML.
    2 pontos
  9. Pessoal, consegui emitir a nota em nova lima no webservice http://200.149.10.117:8093/nfe/snissdigitalsvc?wsdl Foi necessário modificar varias coisas na configuração do arquivo ISSDIGITAL.INI. Estou colocando ele em anexo para avaliação. Quem puder, gentileza atualizar no repositório. ISSDigital.ini
    2 pontos
  10. O seu exemplo no Post está claramente errado, sem as aspas... isso atrapalha o "Parser" do MonitorPlus que não reconhece todos os parâmetros
    2 pontos
  11. Deu certo amigo, muito obrigado
    2 pontos
  12. seu comando está fora da sintaxe... De acordo com o manual, Strings devem ser passadas com aspas Duplas
    2 pontos
  13. Muito simples: Adaptando um pouco o código do demo do ACBrNFe: NotaF.NFe.Total.ICMSTot.vNF := 100; [..] // YA. Informações de pagamento Pagamento := NotaF.NFe.pag.Add; Pagamento.indPag := ipVista; Pagamento.tPag := fpCheque; Pagamento.vPag := 150.00; NotaF.NFe.pag.vTroco := 50.00;
    2 pontos
  14. Bom dia Italo, tudo certo? Então, conferi os Schemas do ACBR, tentei transmitir um MDF-e com a nova tag, e deu tudo certo. Peço desculpas por isso. Até atualizo com frequência os componentes, bem como Schemas e exemplos, mas provavelmente fiz algo de errado na hora de copiar os Schemas para a pasta de compilação... Mesmo assim obrigado pela ajuda.
    2 pontos
  15. Olá Pessoal, Muitos tem interesse em obter o XML do fornecedor para facilitar a entrada dos materiais no Estoque, Contas a Pagar, etc. Segundo a legislação, quem emite uma NF-e tem por obrigação legal de disponibilizar o XML assinado e com o protocolo de autorização ao destinatário da mercadoria, assim que a SEFAZ autorizar a nota. Essa disponibilização pode ser feita por e-mail, ou seja, o emitente envia para o destinatário o XML via e-mail. Sabemos que isso nem sempre ocorre, por 2 motivos: 1. No cadastro do destinatário não consta o endereço de e-mail; 2. A aplicação do emitente não possui esse recurso ou esta desativado. Mas temos uma alternativa. Com certeza o DANFE foi impresso e entregue junto com a mercadoria. De posse do DANFE temos a chave e com ela podemos primeiramente enviar o evento de Manifestação do Destinatário. Temos duas situações: 1. Se as mercadorias foram entregues conforme o combinado, devemos enviar o evento: Confirmação da Operação (Código: 210200); 2. Se algo estiver errado e alguma mercadoria esta errada, quebrada, ...., devemos enviar o evento: Operação não Realizada (Código: 210240), neste evento se faz necessário informar uma justificativa. Após manifestar todas as notas, podemos obter o XML através do método: DistribuicaoDFePorChaveNFe, esse método possui 3 parâmetros, sendo eles: Código da UF do Destinatário, CNPJ do Destinatário e a Chave da NF-e previamente manifestada. Conclui-se que devemos executar o método acima para cada nota manifestada. Informação importante, tanto a Manifestação do Destinatário quanto o Distribuição DF-e, são atendidos pelo Ambiente Nacional, portanto não tem nada haver com a SEFAZ-Autorizadora do emitente da nota ou do destinatário da mercadoria. Se algo falhar nesse processo, a "culpa" é do Ambiente Nacional.
    1 ponto
  16. Vamos supor que você perdeu o XML de um DF-e Documento Fiscal Eletrônico, seja ele uma NF-e, NFC-e, CT-e, CT-e OS, MDF-e ou BP-e. O procedimento é muito simples, basta alimentar o componente com os dados do documento, executar o método Assinar e por fim o método Consultar. Abaixo um exemplo usando o componente ACBrNFe, mas pode ser aplicado para os demais modelos de DF-e. (...) AlimentarComponente; ACBrNFe1.NotasFiscais.Assinar; ACBrNFe1.Consultar; (...) E para quem usa o Monitor: NFe.CriarNFe( arqINI ); NFe.AssinarNFe( pathNomeXML ); NFe.ConsultarNFe( pathNomeXML );
    1 ponto
  17. Bom dia. Além de todas as oportunidades de aprendizado, conhecimento de novas tecnologias, informação do panorama fiscal nacional e é claro muito Networking, também será possível adquirir os produtos oficias do ACBr no dia evento.
    1 ponto
  18. Problema resolvido. Fiz as seguintes alterações: Estava dessa forma: Configuracoes.Geral.SSLLib = libCustom Configuracoes.Geral.SSLCryptLib = cryCapicom Configuracoes.Geral.SSLHttpLib = httpNone Configuracoes.Geral.SSLXmlSignLib = xsNone Alterei para: Configuracoes.Geral.SSLLib = libCapicomDelphiSoap Configuracoes.Geral.SSLCryptLib = cryCapicom Configuracoes.Geral.SSLHttpLib = httpIndy Configuracoes.Geral.SSLXmlSignLib = xsMsXmlCapicom Deu certo, obrigado pela atenção Felipe. Abraço
    1 ponto
  19. Não há suporte de Túnel USB por DLL para essa marca de ECF....
    1 ponto
  20. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
    1 ponto
  21. Espero que sim Felipe, realmente pelo que eles falaram houve outros casos parecidos. Bem nos resta só esperar agora. Se quiser fechar o tópico pode fechar. Obrigado
    1 ponto
  22. Boa tarde, como está passando o comando? Se possível anexe o log.txt
    1 ponto
  23. Obrigado Italo pela resposta.
    1 ponto
  24. Boa tarde, suporti2011. Tópico antigo. Sugiro que crie um novo.
    1 ponto
  25. ok, vou fazer conforme suas dicas, e atualizar nos clientes. obrigado.
    1 ponto
  26. Bom dia Adilson, Você sabe me dizer se o XML do MDF-e é gerado, assinado e validado? Se sim, depois é gerado o XML de envio? Quando isso ocorre é interessante configurar o componente para salvar os arquivos Soap, pois o problema pode estar na leitura do retorno. Tendo os arquivos soap temos tanto os arquivos de envio, bem como os de retorno, isso as vezes ajuda a descobrir o motivo do problema.
    1 ponto
  27. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
    1 ponto
  28. Bom dia @elixandre Evite colocar trechos de log tão longos em sua postagem, sempre prefira anexar os arquivos. Att.
    1 ponto
  29. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
    1 ponto
  30. Bom dia. As vezes é problema apenas no aparelho dessa empresa. O mesmo problema ocorre no exemplo do ACBrSAT? Se for ELGIN LINKER, por exemplo, refaça os mesmos testes no SW Ativação. Tente atualizar o softwarebase.
    1 ponto
  31. obrigaod pelas dicas, vou atualizar em meu software para tentar corrigir este bug. obrigado.
    1 ponto
  32. Bom dia. O mesmo problema ocorre com o exemplo do ACBrSAT? Se ocorrer, sugiro você entrar em contato com o fabricante. Se o aparelho for ELGIN LINKER, por exemplo, faça os mesmos testes no SW Ativação..
    1 ponto
  33. Bom dia Lucas, Você costuma atualizar todos os fontes de todas as pastas com frequência? Pois os Schemas bem como a atualização dos fontes e do programa exemplo, foram enviados para o repositório no dia 10/09/2018, data esta da liberação do ambiente de homologação.
    1 ponto
  34. Bom dia, Pelo que sei até o momento o DABPE só foi desenvolvido em EscPos, sendo assim não é possível gerar o seu PDF. A geração do PDF só será possível quando tivermos o DABPE em Fast e ou Fortes Report. Se tiver interesse em colaborar com o projeto desenvolvendo em Fast e ou Fortes Report, ficaremos gratos, pois toda ajuda é bem vinda.
    1 ponto
  35. Fiz os testes aqui e está tudo ok. O @Juliomar Marchetti está correto. Veja nesse tópico o tutorial de como baixar e instalar corretamente o Fortes Report:
    1 ponto
  36. Você ainda tem arquivos antigos, seja compilado ou não do fortes report. faça uma limpeza e reinstale o fortes
    1 ponto
  37. bom... estou usando a classe TACBrBlocoX_WebServices, então a setagem das URLs está realmente fixa no fonte. Mudei a propriedade URL da TDFeWebService para também escrever em FPURL e estou tratando os métodos que escrevem nessa propriedade para não sobrescreverem algum input feito pelo usuário.
    1 ponto
  38. Resolvido. Segui as orientações desse tópico: Como fiz: 01 - Atualizei as DLL's 02 - Excluí os Schemas e coloquei novamente (percebi que tinha schemas antigos). Obrigado @André Ferreira de Moraes Obrigado @Graça
    1 ponto
  39. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
    1 ponto
  40. Boa tarde. Este tópico é antigo e será fechado, por favor crie um novo tópico para sua situação. Att.
    1 ponto
  41. Bom dia Renan, Acredito que com a atualização dos fontes os problemas serão sanados. Fechando o tópico.
    1 ponto
  42. Analisei os fontes, e a implementação parece correta... mas decidi não incorporar aos fontes do SVN, pelos seguintes motivos: - O método é exclusivo para a WinCrypt (e Capicom)... não funcionaria no OpenSSL ... Ok, isso também ocorre com o método "SelecionarCertificado", mas esse último método foi herdado do Trunk1 - O método é específico para CNPJ, e a ACBrDFeSSL também suporta Certificados com CPF - A rotina pode ser facilmente implementada na própria aplicação (usando o método: "LerCertificadosStore", e um Loop, e conforme demonstrado abaixo) Enfim... deixo aqui, trecho do código, onde o Loop é implementado, na sugestão proposta, para o caso de alguém tiver interesse de implementar o método na própria aplicação function TForm1.LocalizarNumeroSerieCertificado(ACNPJ: String): String; var I: Integer; ACNPJLocalizar, ACBPJCertificado: String; begin Result := ''; ACNPJLocalizar := OnlyNumber(ACNPJ); if (ACNPJLocalizar = '') then raise EACBrDFeException.Create('CNPJ não informado'); if (Length(ACNPJLocalizar) <> 14) then raise EACBrDFeException.Create('Informar CNPJ com 14 digitos'); ACBrNFe1.SSL.LerCertificadosStore; for I := 0 to ACBrNFe1.SSL.ListaCertificados.Count-1 do begin ACBPJCertificado := OnlyNumber(ACBrNFe1.SSL.ListaCertificados[I].CNPJ); if (ListaCertificados[I].DataVenc >= Date) then if (Copy(ACBPJCertificado, 1, 8) = Copy(ACNPJLocalizar, 1, 8)) then Result := ACBrNFe1.SSL.ListaCertificados[I].NumeroSerie; end; end;
    1 ponto
  43. Desabafo do Menino Ney do TI "Configurar TLS, servidor fora, erro de schemas XML. Você pode achar que eu te acho exagerada, e, às vezes, você exagera mesmo. Mas a real é que eu sofro com essas suas Notas Técnicas e Manuais. Agora, na boa, você não imagina o que eu passo quando atendo o telefone às 22:00hrs só porque o caminhão tem q sair. Quando eu não faço as alterações de layout, não é porque eu sou preguiçoso, mas porque apenas não quero mexer no que está funcionando. Quando eu pareço nervoso, não é porque eu sou um moleque mimado. Mas é porque eu ainda não encontrei uma maneira de resolver os problemas que você vive criando. Dentro de mim ainda existe um menino do TI. Às vezes, ele encanta o mundo (consertando a impressora). E, às vezes, ele irrita todo mundo (quando esquece de atualizar os schemas). E minha luta é para manter esse menino do TI vivo. Mas dentro de mim, e não dentro do código. Você pode achar que o seu server SEFAZ não cai. Mas a verdade é que ele cai pra c****. Apenas está fora do ar, Direi ao usuário. Isso dói muito mais que bater o dedinho no pé da mesa. Eu demorei para corrigir as rejeições. Eu demorei para alterar o layout e adaptei o software para 4.0. Mas hoje eu tô aqui, de cara limpa, de peito aberto. Você caiu novamente. Mas foi eu que tive que explicar o porque ao usuário. Você pode continuar criando NTs. Ou pode parar de inventa-las e me ajudar a ter tempo para terminar o relatório do cliente. Porque quando compila, parça, o Brasil inteiro comemora comigo".
    1 ponto
  44. Até que enfim resolvido .... mudei as configurações conforme abaixo e parou de dar o erro de assinatura : ACBrNFSe1.Configuracoes.Geral.SSLLib := libNone; ACBrNFSe1.Configuracoes.Geral.SSLCryptLib := cryWinCrypt; ACBrNFSe1.Configuracoes.Geral.SSLXmlSignLib := xsMsXml; ACBrNFSe1.Configuracoes.Geral.SSLHttpLib := httpWinHttp; ACBrNFSe1.SSL.SSLType := TSSLType(LT_TLSv1_2);
    1 ponto
  45. @Italo Jurisato Junior Seria este o problema apresentado? Saiu uma nota oficial da EFD-Reinf sobre http://sped.rfb.gov.br/pagina/show/2687
    1 ponto
  46. No meu teste fim-a-fim deu este erro, com o emulador do Sefaz... mas eu estava usando os CNPJ e IE do emitente inválidos... Quando coloquei para usar conforme abaixo (visto que era com o emulador), funcionou: with ACBrSAT1 do begin Config.emit_CNPJ := '11111111111111'; Config.emit_IE := '111.111.111.111'; Config.emit_IM := '123123'; end; Espero ter ajudado.
    1 ponto
  47. Bom dia Ale, Uma empresa ficar sem a internet por falha na rede é algo que até da para conversar com a SEFAZ, agora ficar sem internet por falta de pagamento da fatura, acho melhor fechar as portas.
    1 ponto
  48. Eu faço assim: try if InternetCheckConnection('http://google.com.br', 1, 0) then begin try // verificar status do servidor SEFAZ e muda automaticamente // (107 em Operação) (108 Paralisado curto prazo) (109 Paralisado sem Previsão) if ACBrNFe1.WebServices.StatusServico.Executar = True then if ACBrNFe1.WebServices.StatusServico.cStat <> 107 then ACBrNFe1.Configuracoes.Geral.FormaEmissao := teOffLine else ACBrNFe1.Configuracoes.Geral.FormaEmissao := teNormal; except ACBrNFe1.Configuracoes.Geral.FormaEmissao := teOffLine; end; end else ACBrNFe1.Configuracoes.Geral.FormaEmissao := teOffLine; except on E: EIdException do if Trim(E.Message) = 'Connect timed out.' then ACBrNFe1.Configuracoes.Geral.FormaEmissao := teOffLine; end; Este procedimento aumenta em mais ou menos uns 3 segundos na venda, mas acredito que vale a pena.
    1 ponto
  49. Olá Pessoal, Conforme prometido, fiz a implementação da balança rodoviária Toledo. Ao contrário do que imaginei inicialmente, o que determina o protocolo de comunicação é o Display, que por sua vez de comunica com a balança de fato. Atualmente há 03 tipos de Display, 9091, 8530 e 8540. A implementação que fiz vale para os 3, pois os protocolos são idênticos, conforme manual anexo no post anterior. Com a comunicação direta pelo ACBr, não há necessidade da aquisição do HardKey, a não ser que haja necessidade de comunicação com o Display de forma mais avançada. Este kit (DLL + HardKey) custa atualmente mais de R$ 3.000,00. Segue em anexo a unit. Não sei qual o procedimento para adicionar aos fontes do ACBr. Não me importo com os créditos, gostaria apenas de ver essa implementação aceita pelos moderadores. Qualquer dúvida estou a disposição, ACBrBALToledo9091_8530_8540.pas
    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.

The popup will be closed in 10 segundos...