Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 20-10-2020 em todas as áreas

  1. Se você quer XML de NFe deve usar o componente ACBrNFe. O ACBrMDFe se destina a emissão do Manifesto de Documentos Fiscais, que é outro tipo de documento fiscal, e nada tem a ver com a manifestação do destinatário da NFe. Tanto a NFe quanto o CTe e o MDFe tem o serviço DistribuicaoDFe implementados, cada um retornando documentos diferentes.
    4 pontos
  2. Caro amigo mlsvicente, Como fui ajudado aqui por diversas vezes com exemplos de código, segue uma pequena contribuição; Esta rotina que desenvolvi e está funcionando perfeitamente. Se os moderadores acharem conveniente, podem anexar este código a um novo botão no fonte do exemplo do acbrNFe, criando uma nova funcionalidade. Espero que ajude. Abraços a todos // busca os 50 próximos xmls do Ambiente Nacional s grava em uma pasta derminada // Para rodar este exemplo, deverão serem prenchidas as seguintes propriedades do ACBrNFE propriedades { // padrao do certificado A1 ACBrNFe1.Configuracoes.Geral.SSLLib := libOpenSSL; ACBrNFe1.Configuracoes.Geral.SSLCryptLib := cryOpenSSL; ACBrNFe1.Configuracoes.Geral.SSLHttpLib := httpOpenSSL; ACBrNFe1.Configuracoes.Geral.SSLXmlSignLib := xsLibXml2; ACBrNFe1.SSL.SSLType := LT_TLSv1_2; // configurando certificado ACBrNFe1.Configuracoes.Certificados.ArquivoPFX := Empresa.FieldbyName('CER_PATH').AsString; ACBrNFe1.Configuracoes.Certificados.Senha := Empresa.FieldbyName('CER_PASS').AsString; // Define local para salvar os arquivos ACBrNFe1.Configuracoes.Arquivos.PathNFe := Empresa.FieldbyName('XML_PATH').AsString; ACBrNFe1.Configuracoes.Arquivos.PathSchemas := Empresa.FieldbyName('SCHEMAS').AsString; } procedure TfrmPrincipal.btIniciandoBuscaClick(Sender: TObject); // var sChave, cUFAutor, CNPJ, ultNSU, ANSU: string; iQtdBuscou, i : Integer; LDocZip: TdocZipCollectionItem; begin cUFAutor := ''; ACBrNFe1.DistribuicaoDFe(Empresa.FieldByName('UF').AsInteger, Empresa.FieldByName('CNPJ').AsString, Empresa.FieldByName('ULT_NSU').AsString, ''); Memo1.Lines.Text := ACBrNFe1.WebServices.DistribuicaoDFe.RetWS; memo2.Lines.Text := ACBrNFe1.WebServices.DistribuicaoDFe.RetornoWS; LoadXML(ACBrNFe1.WebServices.DistribuicaoDFe.RetWS, WBResposta); iQtdBuscou := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count; for i := 0 to Pred(iQtdBuscou) do begin LDocZip := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip[i]; ultNSU := LDocZip.NSU; if (LDocZip.schema = schprocNFe) then // separa somente xml de nfe begin ACBrNFe1.NotasFiscais.Clear; acbrNFE1.NotasFiscais.LoadFromString(LDocZip.XML, true ); sChave := ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.chNFe; ACBrNFe1.NotasFiscais.GravarXML(sChave+'.XML'); end; end; if Empresa.RLock(empresa.RecNo) then begin Empresa.Edit; Empresa.FieldByName('ULT_NSU').AsString := ultNSU; Empresa.Unlock(Empresa.RecNo); end; End;
    2 pontos
  3. Estava com um problema sério quando baixava os retornos do banco. A ocorrência nunca batia com o que o banco enviava. Analisando o código do ACBrBoleto.pas eu descobri que o campo o array que salva as descrições das ocorrências não estão coerentes com a classe TACBrTipoOcorrencia. Estão faltando 3 itens nessa lista. 'Remessa Sustar Protesto e baixar', 'Remessa Sustar Protesto e manter em carteira', 'Remessa Resusa Alegação do Sacado', Segue o arquivo corrigido. ACBrBoleto.pas
    1 ponto
  4. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
    1 ponto
  5. So complementando o metodo ImprimirPDF não imprimi nada ele gera o PDF.
    1 ponto
  6. Tópico movido para a área do SAC, para que o SLA de respostas seja considerado
    1 ponto
  7. Vou dar uma olhada, mas creio que não deveria acontecer.
    1 ponto
  8. Acho que esse problema já foi relatado, não sei se foi corrigido.
    1 ponto
  9. Boa tarde meus amigos. Pode fechar a chamada que consegui encontrar meu erro. Entre outros o problema é que na propriedade webservices.proxy estava com a configuração errada. Obrigado a todos que me ajudaram.
    1 ponto
  10. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
    1 ponto
  11. Aff ... trabalhar com governo é duro. Novo teste agora, e repentinamente do nada ... Ou seja, serviços fora do ar mesmo.
    1 ponto
  12. O evento de comprovante de entrega do CTe é emitido pela transportadora após a entrega ao destinatário comprovando que a entrega foi feita. Isso já é outra NT:
    1 ponto
  13. Pelo seu log, desde 09/10 está retornando erro de SAT Bloqueado, O aparelho está conectado na rede? Está com internet? Não pode ficar muito tempo sem enviar os cupons, além disso ocorre bloqueio autônomo se ficar muito tempo desconectado.
    1 ponto
  14. Seu cliente usa o SAT ou usa NFC-e e dai o SAT só contigência
    1 ponto
  15. Desde que a transportadora não seja o destinatário, nem a emitente da nota, sim, ela vai receber o XML completo. Isso vale pra qualquer um dos métodos DistribuicaoDFe.
    1 ponto
  16. Olá pessoal, Pesquisando no fórum achei algo muito interessante. Me parece que o sistema do Serpro, responsável pelo compartilhamento das notas entre as SEFAZ-Autorizadoras e o Ambiente Nacional tem um BUG e dos grandes. As notas que foram emitidas sem a tag dhSaiEnt (Data e hora de Saída ou da Entrada da Mercadoria/Produto) o sistema da Serpro não compartilha com o Ambiente Nacional. Abaixo tem o link da postagem onde o nosso amigo Douglas explica o que devemos fazer nesse caso. Você que desenvolve aplicação de emissão de NF-e, procure gerar a tag dhSaiEnt, assim a Serpro vai compartilhar.
    1 ponto
  17. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
    1 ponto
  18. Primeiro tem que criar os arquivo do certificado. No exemplo que vou postar tem que colocar no formcreate o numero da conta e o caminho de 3 dos arquivos criados. No memo3 tem que substituir alguns campos com os dados corretos: 1) Crie o aplicativo dentro do banco Inter a) Digite o seguinte comando no console (evite acentos): openssl req -new -newkey rsa:2048 -nodes -keyout nomearquivo.key -out nomearquivo.csr b) Nos campos solicitados, insira as informações: Country Name (código do país): as duas letras que representam o país internacionalmente. Ex: BR é Brasil State or Province Name (nome completo do estado): ex. Goias Locality Name (nome completo da cidade): ex. Goiania Organization Name (a razão social completa da sua empresa): ex. SuaEmpresa Organizational Unit Name (número de aplicação): copie a chave exclusiva gerada pelo Inter e cole-a no campo. Este é o "Número de aplicação" e é formado por letras, números e separado por hífens. Common Name (nome comum - campo opcional): o nome de domínio totalmente qualificado, ou URL que você deseja proteger. Exemplo: SEUDOMINIO.COM.BR E-mail Address (endereço de e-mail): insira seu e-mail A Challenge Password (uma senha forte): crie uma senha forte para este SSL c) Abra a CSR em um editor de texto e copie todo o texto gerado. d) Cole o texto gerado no campo "Assinatura do certificado (CSR)" e clique em "Confirmar". 2) Espere receber o e-mail do Inter avisando que sua aplicação foi Aprovada. Apos aprovação acesse suas aplicações no site do Inter e clique na seta que aparece do lado esquerdo no dome da aplicação. Clique no icone da nuvem para baixa o certificado (.crt). 3) Faça a seguinte conversão com o arquivo baixado: openssl x509 -inform PEM -in nomearquivo.crt > nomearquivo-publicchave.pem 4) Com o arquivo .KEY gerado anteriormente no passo 1 openssl rsa -in nomearquivo.key -text > nomearquivo-privatechave.pem BoletoInterAcbr.rar Desenvolvi tudo hoje... Ainda tem muito a fazer para uma implementação, mas como não conheço a fundo os moldes dos fontes do Acbr acho que alguém pode fazer bem melhor. ja tinha pensado o mesmo kkk
    1 ponto
  19. Olá Pessoal ! Estou criando este tópico com intuído de ajudar nós desenvolvedores e seus contribuintes, o procedimento para consultar os lotes de cupons enviados pelos SAT's através da internet. É possível consultar: - O resultado do processamento de lotes. - O resultado do processamento de cada cupom. - Os dados de um cupom em abas, como na NF-e. Ativo apenas para cupons processados com sucesso pelo sistema. Primeiramente vamos acessar o Sistema de Gestão e Retaguarda do SAT - SGR-SAT. https://satsp.fazenda.sp.gov.br/COMSAT/Account/LoginSSL.aspx?ReturnUrl=%2fCOMSAT%2f Para realizar o procedimento é necessário: Certificado digital da empresa (e-CNPJ), A1 ou A3, emitido por Autoridade Certificadora credenciada pela Infraestrutura de Chaves Públicas Brasileira - ICP-Brasil. Possuir acesso à internet. Não há nenhuma taxa para realização deste procedimento. 1 - Acessar o Sistema de Gestão e Retaguarda do SAT - SGR-SAT. 2 - Acessar a função através do Menu "Cupons", opção "Consultar Lotes Enviados". 3 - Na tela de consulta aos lotes enviados, informar um ou mais campos. Informando o número do recibo, não é necessário preencher os outros campos. Não é permitido busca exclusivamente por data. O máximo de lotes listados é de 200 por busca. 4 - Para prosseguir clique em “Pesquisar”. (ATENÇÃO: os CF-e só aparecerão na consulta de lotes depois que o equipamento enviar os CF-e-SAT para a SEFAZ). 5 - O sistema irá apresentar o resultado da busca, com as seguintes informações: - Tipos de Lote: "Movimento" ou "Cancelamento". - Resultados do Processamento: - Para processamento: lote recebido, porém aguarda fila para ser processado. - Em processamento: lote recebido, cupons sendo processados. - Processado com sucesso: lote recebido; todos os cupons foram processados com sucesso. - Processado com inconsistência: lote recebido, porém, contêm pelo menos 1 cupom processado com erro. - Lote Inválido: lote rejeitado por erro. Será mostrado na consulta a descrição do erro encontrado no lote. . O comportamento esperado é que o equipamento SAT reenvie os CF-e desse lote novamente à SEFAZ. Portanto, solicitamos que verifique se os CF-e dos lotes com esse erro foram recepcionado em outro lote. - Com exceção: erro no processamento de lotes; o contribuinte deverá informar o problema ao fisco para que este providencie correção do sistema. - Origem do Lote: “Automático” ou “Manual”. Indica se o lote foi enviado automaticamente pelo SAT (Automático), ou por meio de upload em funcionalidade do sistema (Manual). 6 - Para realizar o download do Lote, clique no link “Download”. Ou para visualizar os cupons que compõem o lote, clique no Nº do Recibo. Observação: se o Nº do Recibo estiver vermelho não é possível visualizar os cupons. 7 - Caso o Resultado do processamento acusar “Processado com inconsistência” ou “Processado com Sucesso”, serão mostrados na consulta os cupons que compõem o lote. 8 - Para visualizar os cupons que compõem o lote, clique no Identificador do Cupom (começa com CFe seguido de 44 números). Observação: se o Identificador do Cupom estiver vermelho não é possível visualizar o cupom. Clique em “Visualizar Erros” para verificar por qual motivo o CF-e-SAT foi processado com inconsistência. 9 - Clicando no Identificador do Cupom , o sistema apresentará os dados do cupom em abas. Clique nas abas para visualizar as informações do cupom. Este link estará ativo apenas para cupons processados com sucesso pelo sistema. Obs.: O retorno de erro “124-Adiar a transmissão” normalmente ocorre quando um cupom de cancelamento é processado antes de o cupom de movimento (venda) correspondente ser processado. Nesse caso, o sistema envia o retorno “124” para que o SAT transmita novamente o cupom de cancelamento. Desse modo, espera-se que no momento de processar o cupom de cancelamento reenviado, o SGR-SAT já tenha processado o cupom de movimento correspondente.
    1 ponto
  20. Olá a todos, Para quem não sabe nas configurações do componente ACBrNFe, temos dentro do grupo Arquivos um subgrupo chamado DownloadNFe, que contem as propriedades PathDownload e SepararPorNome. Através dessas duas propriedades definimos o caminho onde os XML retornados pelo método DistribuicaoDFe vão ser salvos e se desejamos separar por nome ou não. A primeira alteração realizada foi a migração da definição dessas propriedades de configuração da unit ACBrNFeConfiguracoes para ACBrDFeConfiguracoes. A motivação para essa mudança é que a definição dessas propriedades também se encontravam nas units ACBrCTeConfiguracoes, ACBrMDFeConfiguracores e ACBrBPeConfiguracoes, agora temos em apenas um lugar, ou seja, na unit ACBrDFeConfiguracoes. Com essa mudança temos uma redução de código e caso futuramente tenhamos alguma correção ou melhoria, elas serão feitas em apenas um lugar, desta forma agilizando o tempo de manutenção do código. Como nem tudo são flores, quem tem em seu código as linhas para configurar o Download deverá fazer a seguinte alteração para que a aplicação seja compilada com sucesso (exemplo no caso da NF-e): Antes: ACBrNFe.Configuracoes.Arquivos.DownloadNFe.PathDownload Alteração: ACBrNFe.Configuracoes.Arquivos.DownloadDFe.PathDownload Falando em melhoria, antes tínhamos uma função chamada GetPathDownload que tem como finalidade gerar o Path final onde será gravado os XML referentes aos Resumos de Notas e Notas Completas. Agora além da função citada acima temos também a função GetPathDownloadEvento que tem como finalidade gerar o Path final onde será gravado os XML referentes aos Resumos de Eventos e Eventos Completos. O que motivou a criar essa nova função é que antes o DistribuicaoDFe ao salvar os XML referentes aos eventos estava usando o mesmo Path dos eventos enviados, ou seja, estava misturando os eventos enviados com os eventos baixados pelo DistribuicaoDFe. Resumindo, a primeira alteração visou a redução de código nos componentes ACBrNFe, ACBrCTe, ACBrMDFe e ACBrBPe e a segunda visou organização dos XML baixados pelo método DistribuicaoDFe. Qualquer duvida ou problemas, favor postar no fórum.
    1 ponto
  21. PERGUNTA: Eu uso o ACBr. Posso colocar o ACBr como Reponsável Técnico na emissão de algum documento fiscal eletrônico (ou DF-e, isto é, NF-e, NFC-e, CT-e, MDF-e, etc...) ? Mesmo que você use o ACBrMonitor Plus, a ACBrLib, os componente ACBr, algum programa exemplo que disponibilizamos, a resposta simples é NÃO. Não entenda mal. Reafirmamos nosso compromisso em ajudar os usuários do ACBr a resolver seus problemas no uso dos componentes, bibliotecas ou aplicativos que disponibilizamos na medida do possível. E claro, damos prioridades aos casos reportados por usuários que fazem uso do SAC ACBr. Mas não somos o responsável técnico pelo seu sistema, mesmo que ele use qualquer ferramenta que provemos. Talvez você queira entender um pouco mais, então vamos a uma resposta longa sobre isso. Vamos usar como exemplo a NF-e e NFC-e que são de longe os DF-es mais utilizados. Se você ler a nota técnica 2018.005 da NF-e/NFC-e vai encontrar o item "2 Sobre a Identificação do Responsável Técnico". Nesse item há a seguinte frase no parágrafo que explica o que é essa informação (grifo é meu): Veja que a primeira frase menciona que o "responsável técnico" pode não ser simplesmente um desenvolvedor, mas a empresa responsável tecnicamente pelo sistema de emissão. O que neste caso é vocês. Vocês respondem perante seu cliente e perante as autoridades pela emissão do documento fiscal. Os produtos do projeto ACBr (seja algum componente, o ACBrMonitor, ou uma ACBrLib) nesse processo é apenas uma ferramenta parte do seu software e não o sistema em si. Ou seja, é um framework/biblioteca/componente que ajuda seu sistema e sua empresa a emitir os documentos. Veja, não disponibilizamos sistemas para emissão, apenas ferramentas para ajudar na emissão. Isso fica mais claro quando lemos o restante do parágrafo, porque ele explica não só o que é o "responsável técnico", mas também o objetivo dessa informação ser necessária. Veja: A ideia é a SEFAZ poder entrar em contato com o responsável pelo emissor em caso de dúvidas ou problemas na emissão. Em caso de anomalias na emissão, com quem a SEFAZ teria que entrar em contato? Por exemplo: Em uma das reuniões do ENCAT, um sistema tentou retransmitir uma nota com erros no XML, por 70.000 vezes... ou seja, mesmo recebendo o erro de rejeição por XML inválido, a aplicação ficou em algum Loop, tentando retransmitir o XML que já sabia era rejeitado... Isso é praticamente um ataque de DDOS, nos servidores do SEFAZ... Quem a SEFAZ teria que contatar se essa empresa fosse seu cliente? É evidente que em caso de dúvidas ou problemas sobre o uso nas empresas que são seus clientes eles deverão entrar em contato com a sua empresa. Afinal de contas, nós não sabemos como seu sistema funciona, nem conhecemos os seus clientes. Ainda mais, o ACBr, (quero dizer ACBrMonitor, ACBrLib, ou qualquer componente ou biblioteca que fornecemos), por si só nunca faz uso de um WebService. Qualquer WebService é acionado por sua aplicação. Ela, a sua aplicação, é responsável pela emissão. Chamar o ACBr de responsável seria basicamente o mesmo que colocar como responsável a Microsoft porque você usa o Windows nos seus clientes, ou a biblioteca OpenSSL porque você a usa pra assinar os documentos. Existe mais um detalhe, o item "2.1 Código de Segurança do Responsável Técnico - CSRT" que nos ajuda a entender. Esse item fala do credenciamento do software emissor de DF-e na SEFAZ da UF e da empresa responsável. Se sua UF já tem esse cadastro, ou algum cadastro similar como era o caso do PAF-ECF, sem dúvida você entende que é sua empresa e seu software que deve ser cadastrado, independente de usar ou não alguma ferramenta de terceiros em seu sistema. Peraí! Tem mais! No terceiro parágrafo há a seguinte explicação sobre o CSRT, que pode ser exigido em formato de hash: Mais uma vez, se essa é uma informação conhecida somente entre a empresa desenvolvedora e Fisco, não teria como ser disponibilizada por nós. Senão, poderíamos nos passar por você. Seria como você dar seu RG ou Passaporte para outra pessoa se passar por você. Então para pra deixar isso claro pra qualquer pessoa com dúvida no futuro: O projeto ACBr não se responsabiliza por mal uso de nenhum dos programas, bibliotecas, componentes, ou códigos fontes disponibilizados. Usar qualquer um desses, incluindo o ACBrMonitor Plus, não dá direito a ninguém colocar o Projeto ACBr como responsável técnico, ou de qualquer outra forma responsável perante clientes ou autoridades. Se alguém pensar diferente, informamos que não tem licença para utilizar o que provemos. Pedimos o favor de ler com cuidado as licenças LGPL e GPL que usamos.
    1 ponto
  22. Apenas reforçando o tamanho do problema, hoje meu software emite NFSe para três municipios onde cada um trabalha com uma empresa diferente, ambas dizem e disponibilizam o manual da ABRASF, teoricamente seriam todos iguais...mas quem me dera, não adianta que não funciona, cada um é de um jeito, sem falar na falta de vontade dos municípios e empresas responsáveis em nos ajudar. Estou com um caso de uma empresa que o WebService faz 48 horas que está parada e o suporte diz "é assim mesmo as vezes para".... Então, tenham paciência meus amigos....
    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.