Jump to content

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png click.png click.png

logo_acbr_paygo.png

TEF ACBr PayGo
Seja um revendedor e ofereça uma solução completa para seu cliente.


Saiba mais

beneficios.png

Leaderboard

  1. Juliana Tamizou

    Juliana Tamizou

    Consultores


    • Points

      69

    • Posts

      11,753


  2. Italo Giurizzato Junior

    • Points

      51

    • Posts

      26,308


  3. BigWings

    BigWings

    Moderadores


    • Points

      28

    • Posts

      8,234


  4. Daniel Simoes

    Daniel Simoes

    Fundadores


    • Points

      27

    • Posts

      23,322


Popular Content

Showing content with the highest reputation since 07/01/2021 in all areas

  1. Olá pessoal, Foi publicado a versão 1.20 da NT 2020/005 que trata sobre os novos campos da NF-e bem como das novas regras de validação, alteração de outras e atualização de outros campos. Nessa versão da NT foi corrigido uma informação que era a placa que passaria a ser opcional sendo que na verdade é a UF da placa que passa a ser opcional por conta das novas placas do Mercosul. Resumo dos novos campos: Novos campos no detalhamento do produto: cBarra - Código de barras diferente do padrão GTIN cBarraTrib - Código de Barras da unidade tributável que seja diferente do padrão GTIN Novos campos referente a Tributação: ICMS=10 , ICMS=70 e ICMS=90 vICMSSTDeson - Valor do ICMS- ST desonerado motDesICMSST - Motivo da desoneração do ICMS- ST ICMS=51 pFCPDif - Percentual do diferimento do ICMS relativo ao Fundo de Combate à Pobreza (FCP) vFCPDif - Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP) diferido vFCPEfet - Valor efetivo do ICMS relativo ao Fundo de Combate à Pobreza (FCP) Grupo PIS ST indSomaPISST - Indica se o valor do PISST compõe o valor total da NF-e Grupo COFINS ST indSomaCOFINSST - Indica se o valor da COFINS ST compõe o valor total da NF-e Houve também alteração nas regras: 1C17-50 que passa ter a seguinte redação: Se operação de saída interestadual (tpNF=1 e idDest=2) e operação com Consumidor Final (indFinal=1) e indIEDest=9: • Acessar Cadastro Centralizado de Contribuinte (Chave: UF do Destinatário, CNPJ do Emitente, cSitCNPJ=10) • Denegar a NF-e se for encontrado registro de bloqueio no CCC Nota: Regra de Validação não aplicável pelas UFs não signatárias, conforme parágrafo 7º da Cláusula sexta, do Ajuste SINIEF 07/05. 3B08-100 que passa a ter a seguinte redação: Se Tipo de Emissão da NF-e for 1 (Emissão normal), 6 (Contingência SVC-AN) ou 7 (Contingência SVC-RS): • Acesso BD de Inutilização (Chave: Modelo, UF, CNPJ/CPF, Série, Número): * Numeração da NF-e está inutilizada (NT 2011/004) (NT 2018.001) Observação: Se cUF(B02) for igual 35(SP) validar também se Tipo de Emissão da NF-e for 2 (Contingência FS-IA), 4(Contingência EPEC) ou 5(Contingência FS-DA). O prazo para implementação foi prorrogado, agora as novas datas são: Ambiente de Homologação (ambiente de teste das empresas): 02/08/2021 (antes era 01/07/2021) Ambiente de Produção: 04/10/2021 (antes era 01/09/2021) Com relação ao componente ACBrNFe, já esta em conformidade com a NT e se encontra atualizado no SVN. Recomendo que se faça a atualização de todos os fontes de todas as pastas, reinstale a suíte ACBr e aguardem a data de liberação do ambiente de homologação para dar inicio aos testes com os novos campos. Não deixem de lerem a NT na integra, ela esta disponível em nossa biblioteca: http://svn.code.sf.net/p/acbr/code/tools/DFe/NFeNFCe/NT/2020/
    11 points
  2. Quando não existe conexão com a internet disponível, o pagamento por PIX se torna impossível, pelo menos por enquanto...porém a promessa é que em breve este cenário mude e mesmo sem conexão com a internet o PIX também possa ser utilizado. Segundo o presidente do Banco Central, estão sendo estudadas três alternativas de tecnologias que poderão ser utilizadas para permitir essa forma de uso do PIX, porém até o momento a considerada mais segura é a utilização do cartão por aproximação, nas palavras do mesmo "Vai funcionar como um cartão de ônibus, com uma tecnologia supersegura". Vamos acompanhar oque vem pela frente e postaremos assim que houver novidades. Fonte: https://agenciabrasil.ebc.com.br/economia/noticia/2021-06/pix-tera-funcionalidade-offline-em-breve-diz-presidente-do-bc
    9 points
  3. Bom dia pessoal, Nós do Projeto ACBr temos notado alta demanda de problemas/dúvidas referente ao servidor da SEFAZ/MG - NFCe. Para as pessoas que estão utilizando para enviar 1 documento (1:1) apenas na forma de envio Assíncrono, alterem a sua regra de negócios já se adequando para a nova NT, mudando para envio Síncrono. Desta forma o envio dos cupons tem maior probabilidade de sucesso no momento, diminuindo o fluxo de suporte técnico. Abraços
    7 points
  4. Sobre o que trata a NT No dia 12/07/2021 foi publicada a versão preliminar da NT 2021.003 a qual estabelece a obrigatoriedade da informação dos campo cEAN e cEANTrib para produtos que possuem códigos de barras com GTIN, tanto para NFe quanto para NFCe, conforme os ajustes SINIEF 07/05 e 19/16. As datas preliminares de implantação desta NT são: Primeira Etapa: 04/07/2022 em homologação e 12/09/2022 em produção Segunda Etapa: 06/03/2023 em homologação e 12/06/2023 em produção Como participar da Consulta Pública A Coordenação Técnica do ENCAT receberá os comentários e manifestações por meio do endereço [email protected] até as 18:00 do dia 30/07/2021. Importante Esta NT somente terá efeitos após a publicação da versão 1.0 da mesma, a qual tem previsão para 08/2021, após a avaliação dos comentários e sugestões recebidos por meio da consulta publica.
    7 points
  5. Exemplo: Recentemente foi publicada a versão 1.10 da NT 2020.005, a qual trouxe uma mudança que pode impactar diretamente a emissão da NFCe em seus clientes, trata-se da restrição do uso da emissão em modo assíncrono quando o lote contém apenas uma NFCe. Para o ambiente de homologação, esta validação e consequente rejeição da NFCe já está em vigor desde 01/07/2021 e entrará em produção em 01/09/2021. De acordo com o texto da NT será retornada a seguinte rejeição Porém em relatos no fórum também houver a seguinte rejeição devido a falha nos retornos das SEFAZ Para evitar esta rejeição, é muito simples, basta sua aplicação deverá passar a realizar o envio da NFCe (quando enviar um único documento) em modo síncrono. Exemplo utilizando o componente ACBrNFe //---------------------- Exemplo Componente ACBrNFe ------------------------------------// { O método Enviar possui 4 parametros a saber: ALote = se refere ao numero do lote de notas que esta sendo enviado Imprimir = defini se o DANFE vai ser impresso automaticamente (True = Padrão) ou não (False) Sincrono = defini se o envio vai ser no modo sincrono (True) ou assincrono (False = Padrão) <------ AQUI ------ Zipado = defini se o Xml vai ser enviado zipado (True) ou não (False = Padrão) Sincrono só pode ser True se o envio é unitario, ou seja, é enviado uma nota por vez. Muito usado para o envio da NFC-e, quanto a NF-e não são todas as UF que aceitam esse modo de envio. Zipado não são todas as UF que aceitam que o Xml seja enviado zipado. } if ACBrNFe1.NotasFiscais.Count > 1 then ACBrNFe1.Enviar(nLote) // Envia o lote contendo mais de 1 nota no modo assincrono else ACBrNFe1.Enviar(nLote, True, True) // Envia o lote contendo apenas 1 nota no modo sincrono Exemplo utilizando a biblioteca ACBrLib //-------------------------------- Exemplo ACBrLib C# --------------------------------------// Parâmetros: ALote - Numero do Lote a ser enviado AImprimir - Se True imprime o DANFe caso o NF-e for autorizado ASincrono - Se True imprime o envia em modo sincrono // <------------ AQUI -------------- AZipado - Se True imprime o envia o arquivo zipado sResposta - Usado pelo retorno, contem as informações retornadas pela consulta. esTamanho - Usado pelo retorno, contem o tamanho da string (sResposta). ACBrNFe.LimparLista(); // Também pode ser enviado o conteudo do ini. ACBrNFe.CarregarINI("c:\nfce.ini"); // Caso use xml, também pode ser enviado o conteudo do xml. //ACBrNFe.CarregarXML("c:\35XXXXXXXXXXXXXXXX550010000000050000000058-nfe.xml"); ACBrNFe.Enviar(aLote: 1, imprimir: false, sincrono: true, zipado: false); Manual ACBrLib: https://acbr.sourceforge.io/ACBrLib/NFE_Enviar.html Exemplo utilizando o ACBrMonitorPlus //-------------------------------- Exemplo ACBrMonitorPLUS --------------------------------------// Parâmetros: cArqXML - Caminho do arquivo XML a ser enviado. nLote - Número do Lote bAssina - Coloque 0 se não quiser que o componente assine o arquivo. - Parâmetro Opcional nImprime - Coloque 1 se quiser que o DANFe seja impresso logo após a autorização - Parâmetro Opcional cImpressora - Informe o nome da impressora - Parâmetro Opcional bSincrono- Coloque 1 para indicar modo síncrono e 0 para modo assíncrono. // <---------- AQUI ----------- bValidaXML- Coloque 1 para Validar e 0 para não Validar. - Parâmetro Opcional bGerarNovoXML- Coloque 1 para Gerar um novo XML para envio e 0 para não Gerar. - Parâmetro Opcional NFE.ENVIARNFE("c:\35XXXXXXXXXXXXXXXX550010000000050000000058-nfe.xml",1,1,1) Manual ACBrMonitorPLUS: https://acbr.sourceforge.io/ACBrMonitor/NFEEnviarNFe.html
    5 points
  6. Boa noticia para as Softwarehouses que atendem empresas de SC, no dia 10/06/2021, foi publicado o ato DIAT 030/2021, prorrogando para 30/06/2022 a validade dos laudos de homologação PAF-ECF ainda que ainda nas versões 2.04 e 2.05 da Especificação de Requisitos. Fonte: http://legislacao.sef.sc.gov.br/html/atos_diat/2021/atodiat_21_030.htm
    5 points
  7. Bom dia, Da mesma forma que você emite uma NFe, só que depende de 2 fatores : 1 - Obrigatoriamente a SEFAZ Estadual tem que abrir a SEFAZ Virtual de Contingência, então se ela não abrir você não consegue usar. 2 - Você precisa informar ao componente que esta utilizando a contingência SVC e qual dela (Depende a UF do Emitente o Servidor muda), na forma de emissão invés de ser teNormal, você informará teSVCAN, teSVCRS, e deverá informar a hora e justificativa da contingência.
    4 points
  8. Boa tarde pessoal. De acordo com o manual "Especificação Técnica de Requisitos" do SAT, versão ER 2.28.05, de 01 de Março de 2021, será possível enviar novas tags de meios de pagamento a partir do dia 01/09/2021. Para atender isso é necessário alterar os fontes "pcnConversao.pas" e "ACBrECFVirtualSAT.pas" implementando tais meios de pagamento. Nos baseamos no que já existe atualmente para a NFe/NFCe para desenvolver. Estou enviando em anexo os fontes com as alterações que fizemos aqui. Peço por gentileza que validem e então disponibilizem no SVN para os demais. Muito obrigado! ACBrECFVirtualSAT.pas pcnConversao.pas
    4 points
  9. Obrigado BigWings... Nem lembrava que tinha o ACBr.EncerrarMonitor... Só para efeito de curiosidade e demais não baterem a cabeça como eu... Fiz o seguinte script para que funcionasse corretamente. Criei o encerrarmonitor.txt apenas com a linha ACBr.EncerrarMonitor. O BAT abaixo apaga o entnfe.txt e copia o arquivo txt para entnfe.txt... o ACBR executa e se fecha. Até aí ok... Se eu colocar o comando para apagar o entnfe.txt logo em seguida, muitas vezes o comando de apagar é mais rápida do que o ACBR e ele não se fecha. Tive que usar o comando TIMEOUT para aguardar alguns segundos e então apagar o entnfe.txt gerado. Segundo problema: se executar o acbrMonitor.exe direto via BAT, o BAT fica "preso" na linha de chamada e não se fecha... tive que usar o START para isso, de forma que ele é "liberado" para continuar o processamento e resolve a tarefa. Coisa básica e simples que resolve casos de impressoras conectadas em micros na rede que ficam desligados à noite... Coloquei o BAT no agendador de tarefas e todo santo dia as 8h ele executa isso para atualizar as impressoras. --- if exist C:\acbrmonitor\acbr\entnfe.txt del C:\acbrmonitor\acbr\entnfe.txt copy c:\acbrmonitor\encerrarmonitor.txt C:\acbrmonitor\acbr\entnfe.txt TIMEOUT /T 5 if exist C:\acbrmonitor\acbr\entnfe.txt del C:\acbrmonitor\acbr\entnfe.txt start C:\ACBrMonitorPLUS\ACBrMonitor.exe exit ---
    4 points
  10. Olá pessoal, Fizemos mais alguns ajustes, só que agora no DANFSE feito em Fortes Report. O que mudou? O componente ACBrNFSeXDANFSeRL tinha algumas propriedades de configuração que não deixava bem claro do que se tratava. Detectamos que algumas fazia referencia ao Prestador e outras ao Tomador. Foi criado uma propriedade de configuração chamada Prestador e outra Tomador e dentro dessas propriedades foi colocado as propriedades que as pertence. As propriedades: PrestLogo, RazaoSocial, Endereco, Complemento, Fone, Municipio, InscMunicipal, EMail_Prestador, CNPJ_Prestador e UF foram removidas e elas agora estão na propriedade Prestador com os seguintes nomes: RazaoSocial, NomeFantasia, InscricaoMunicipal, CNPJ, Endereco, Complemento, Municipio, UF, EMail, Fone e Logo. As propriedades: T_InscEstadual, T_InscMunicipal, T_Fone, T_Endereco, T_Complemento e T_Email foram removidas e elas agora estão na propriedade Tomador com os seguintes nomes: InscricaoEstadual, InscricaoMunicipal, Fone, Endereco, Complemento e Email. Favor atualizar todos os fontes de todas as pastas e reinstale a suíte ACBr usando o ACBrInstall_Trunk2 com a opção de apagar arquivos antigos marcada.
    4 points
  11. Veja a configuração de DPI do Windows. Se estiver diferente de 100% vai acontecer isso. Nesse caso você precisa configurar as propriedades AlterarEscalaPadrao e NovaEscala.
    4 points
  12. Boa tarde pessoal, Nós do Projeto ACBr temos notado a muito tempo uma alta demanda de dúvidas e problemas relacionados a implementação da NFCe em contingência, desde a falta deste recurso em muitas aplicações até mesmo a implementação incorreta do mesmo. Com o objetivo de preparar um curso focado neste assunto e que dê todo o direcionamento que você desenvolvedor precisa para implementar com sucesso a Emissão da NFCe em Contingência, convidamos a comunidade a responder três perguntas simples que nos mostrarão qual é a maior dificuldade quanto a este importante recurso. Qual é seu conhecimento atual sobre a Contingência na NFCe? Se implementou ou iniciou a implementação, quais foram suas maiores dificuldades? Quais artigos, manuais ou documentos você já leu relacionado ao assunto? Para participar basta, fazer uma postagem neste tópico e caso queira complementar sua resposta com outras informações, ficaremos ainda mais gratos!
    3 points
  13. Boa tarde, Precisei desenvolver o bloco H011 - IDENTIFICAÇÃO DO ESTABELECIMENTO DETENTOR DO INVENTÁRIO para o DRCST conforme a portaria SEF Nº 378/2018 link http://legislacao.sef.sc.gov.br/html/portarias/2018/port_18_378.htm A classe modificada chama-se ACBrEFDBloco_H_Class e ACBrEFDBloco_H. Gostaria, se possível, de uma análise para disponibilizar a função nos fontes oficiais do ACBR. Grato pela compreensão. Matheus Leandro Ferreira ACBrEFDBloco_H.pas ACBrEFDBloco_H_Class.pas
    3 points
  14. Olá pessoal... por favor atualizem os fontes... Ontem a noite eu reverti um erro não ibtenciocional que estava nas Unit que processam o XML, com a LIBXML2
    3 points
  15. Olá boa tarde! Tudo certo? Alterei a procedure:TForm6.btnRegistrosPAFClick(Sender: TObject); Primeira linha alterei o layout para lpPAFECF. Na parte da geração do registro H2 o campo TITULO: alterei o primeiro parâmetro da function GerarDados('S', 7) para GerarDados('I',7) levando em conta que o campo é integer. A unit alterada em anexo. uFormPrincipal.pas
    3 points
  16. Conforme estabelecido pelo Ajuste SINIEF 18/2021 e pelo Ajuste SINIEF 12/2021 as alterações quanto aos CFOPs e CST que deixariam de ser validos passaram a entrar em vigor em 03/04/2023 Para entender melhor como serão estas alterações, ouça o podcast a seguir Podcast: Prorrogado para 2023 alterações do CFOP e CST (contabeis.com.br) Att.
    3 points
  17. Foi aprovada pela Câmara dos Deputados no dia 15/07/2021, a Medida Provisória 1051/21, a qual cria o Documento Eletrônico de Transporte (DT-e), de emissão exclusivamente digital e obrigatória para autorizar os serviços de transporte de cargas no País. A MP será enviada ao Senado. A unificação de documentos e demais obrigações no DT-e deverá dispensar o transportador ou o condutor do veículo de portar versão física dos mesmos documentos durante o transporte. Se aprovada, o cronograma de implementação será proposto pelo governo federal, o qual poderá firmar convênios com os governos municipais, estaduais e distrital para incorporar outras informações de competência desses governos, como sobre tributos e outras obrigações relacionadas ao transporte de cargas rodoviário e dutoviário. As UFs que aderirem a este novo DFe deverão abolir os documentos físicos de forma gradativa em até 12 meses, ficando somente a emissão pelo DTe. Esta MP também inclui situações onde poderá ocorrer a dispensa da emissão do DTe, além de uma série de outras regras e definições. Para ler a noticia completa, acesse a página de Noticias da Câmara do Deputados Confira o nosso PodCast sobre isso, no Papo Pro ACBr
    3 points
  18. Nosso componente ACBrBoleto já faz parte do futuro dos boletos, o que significa que além das diversas alterações realizadas para a integração via web-service, agora também já está apto para a emissão dos chamados Boletos Híbridos, ou seja, aqueles que além do Código de Barra, também contam com um QRCode para pagamentos via PIX. Esta alteração vem de encontro a muitos pedidos que temos recebido para incluir o QRCode no boleto, porém vale ressaltar que o Banco do Brasil foi pioneiro em promover uma integração completa com o PIX por meio de sua API, fazendo com que diferente sua aplicação receba a baixa do título junto com as informações de retorno do banco, diferente do que ocorre quando esta integração não existe, tornando este processo manual e passível de uma série de erros. Até o momento da postagem deste tópico, nenhum outro banco disponibilizou este recurso a seus clientes, por este motivo o mesmo somente está disponível para o Banco do Brasil. Para entender melhor como implementar esta solução e modernizar ainda mais sua aplicação, veja este artigo em nossa Base de Conhecimento. Att.
    3 points
  19. O método LerXML estava buscando TAGs não existentes no retorno do provedor IPM, fazendo com que o ACBrNFSe.ConsultarNFSeporRps sempre retornasse falso, consequentemente, sem código de autorização e sem número da nota emitida. Obrigado. Já está no nosso roadmap a migração para o novo componente. Realizarei os testes e possíveis correções.
    3 points
  20. Em 02/07/2021 foi publicado no DOU a Portaria Conjunta 71, onde foi divulgado o novo cronograma de implantação do eSocial, onde algumas exigências já estão em vigor para determinados grupos e outras deverão iniciar entre 21/07/2021 e 11/07/2022. Os chamados Eventos de Tabela (1ª Fase) passam a ser obrigados ao 4º Grupo em 21/07/2021.* ¹(Aos demais grupos já estavam obrigado) Os Eventos não Periódicos (2ª Fase) passam a ser obrigados ao 4º Grupo em 22/11/2021.* (Aos demais grupos já estavam obrigado) Os Eventos Periódicos (3ª Fase) passam a ser obrigados ao 3º Grupo em 19/07/2021 e ao 4º Grupo em 22/04/2022.* (Aos demais grupos já estavam obrigado) Os Eventos SST (4ª Fase) passam a ser obrigados ao 1º Grupo em 13/10/2021, ao 2º e ao 3º Grupo em 10/01/2022 e ao 4º Grupo em 11/07/2022. *O inicio da exigência é sempre as 08:00 nas datas indicadas. Dica: Para entender melhor o enquadramento em cada grupo, veja o artigo 2º da portaria Fonte: https://in.gov.br/en/web/dou/-/portaria-conjunta-seprt/rfb/me-n-71-de-29-de-junho-de-2021-329487308
    3 points
  21. Boa tarde pessoal. O @Italo Giurizzato Juniordeve retornar na terça-feira, mas caso consigam identificar ou mesmo ajustar, ficaremos muito gratos Att.
    2 points
  22. Por favor, tente com a versão mais recente do ACBrMonitor. Foi feita uma alteração recente para resolver esse problema. Veja meu teste aqui:
    2 points
  23. Você tem que gerar a nota com exatamente os mesmos dados da NFCe original. Então tem que ter todos eles armazenados no seu banco de dados. Isso inclui a data e hora de emissão e a tag cNF, por esta ser informada diferente da original que mudou a chave de acesso. Qualquer vírgula diferente vai acusar erro no digest value na comparação da assinatura com o protocolo de autorização.
    2 points
  24. Recentemente tive um problema com um cliente que me relatou estar recebendo retornos de erro do tipo "HTTP 500" ao tentar emitir nota de serviço na prefeitura de São Paulo, e depois de vasculhar por vários possíveis problemas e quase desistindo, descobrimos que o problema era causado por um "&" (E comercial) na razão social do destinatário. Retiramos o caractere e a nota foi emitida sem problemas. Não sei se é novidade por aqui, mas de qualquer forma fica o registro.
    2 points
  25. Logo vou postar um vídeo ensinando a instalar no Delphi CE o ACBr manualmente
    2 points
  26. Parece ser bem claro a mensagem, "Rejeição: Emitente não autorizado para uso do SAT", Já solicitou o credenciamento do contribuinte, seu cliente, como emissor de SAT. Eu costumo deixar isto a cargo do Contador do mesmo.
    2 points
  27. @Fernando Di Pace entre em contato com a Fabricante, eles precisam vincular ao contribuinte deles, assim você vai poder ativar e fazer os devidos testes...
    2 points
  28. Boa noite Valter, Segue como fazer.
    2 points
  29. Prezados, conseguir fazer validar e ser aceito pelo ambiente de homologação, tanto pelo exemplo, quanto pelo sistema que estou implementando a rotina do eSocial. Lá vai uma explicação, pois a minha dúvida pode ser de outros também. Estava testanto e criando um código qualquer para teste, como foi feito em outros eventos, porém o retorno do eSocial dava era "Erro 283 - Número do Processo Inválido". Na meu entendimento, deveria retornar que o formado do processo era inválido, facilitando assim o entendimento. O que acontece é que para cada tipo de processo tem um formato especifico o qual eles validam, esses processos são gerados pela Justiça, porém, nós como meros mortais, não atentamos a isso. Só fui perceber isso quando peguei qualquer processo administrativo e coloquei no sistema e o mesmo passou. Segue abaixo uma explicação que achei em um site (isso para processos administrativos): "NUP é o número atribuído ao documento ou processo, no momento do recebimento e trâmite no órgão ou entidade. A composição do NUP atual é formada por 17 dígitos (ex: 00000.000000/0000-00), separados em grupos. O primeiro conjunto numérico é constituído de cinco dígitos que identificam o código do órgão de origem do processo, de acordo com faixas numéricas definidas na Portaria SLTI-MP nº 03/2003. O segundo grupo é constituído de seis dígitos e registra sequencialmente os documentos e processos, devendo ser reiniciado a cada ano. O terceiro, de quatro dígitos, indica o ano. O quarto e último grupo é formado por dois dígitos verificadores."
    2 points
  30. A SVRS corrigiu a mensagem de rejeição do cStat 452, fica claro agora que realmente estão validando o modo.
    2 points
  31. Difícil saber se esse é o motivo, sem a resposta da SEFAZ-RS... No método de envio, se não for informado o terceiro parâmetro, será usado o modo assíncrono.
    2 points
  32. Boa tarde pessoal, Recebemos a informação dos canais de suporte a integração via API do Banco do Brasil, de que o serviço encontra-se apresentando indisponibilidade no consumo da API, a qual retorna o erro "Developer application key is not allowed to call this resource method". Os mesmos informaram que já estão atuando na correção, porém ainda não a um prazo definido para que esta indisponibilidade seja resolvida.
    2 points
  33. É com muito orgulho que anuncio que a integração do ACBrLib com o PHP funcionou aqui pra mim! Já está rodando online em uma imagem docker na nuvem: https://acbrlibphp-gi6sudnd5q-uc.a.run.app/ (se aparecer a versão da dll de exemplo é porque ta online) Depois do sucesso anunciado pelo Rafael Dias, tentei novamente aqui desta vez com docker, e está funcionando! Agora temos muito trabalho pela frente, escrever as rotas de cada função das dlls do AcbrLib na extensão do php, mas o projeto é opensource então acredito que teremos ajuda da comunidade com certeza e também isso é o de menos perto de tudo que a equipe do ACBr ja fez, vamos que vamos! O Acbr agora mergulha no ecosistema php de cabeça com touquinha hehehe
    2 points
  34. Boa tarde Juliana. Vou tentar no Demo..No ACBrNFSeX não testei..
    2 points
  35. until
    Assunto: A nova versão do Firebird chegou... Conheça com a maior autoridade de Firebird do Brasil, as novidades e cuidados na migração Consultores: Carlos Cantu e Moderadores ACBr Com o recente lançamento da versão final do Firebird 4, passamos a ter replicação nativa para hotbackup, além de muitas outras novidades, entre elas os novos tipos numéricos e a possibilidade de ter timezones em campos datahora! Devido à quantidade de mudanças, a migração para essa versão pode não ser tão simples, exigindo atenção à vários detalhes, especialmente em relação à compatibilidade com sistemas já existentes. Sendo assim, convido os usuários do Firebird a responder a pesquisa (apenas 2 perguntas) sobre o interesse em um novo Guia de Migração para o FB 4 escrito por mim (Cantu): https://forms.gle/vVCbmSp1nUbTcCWg9 Conecte-se no Discord,e entre no canal de voz, #Papo Pro ACBr, das 10:00 as 11:00
    2 points
  36. Informo que após configurado com o OpenSSL não apresentou mais o erro, e o erro 10091 que apresentou-se algumas vezes ao que parece é problema do SEFAZ mesmo, pois até ontem 14/07 não ocorreu nenhuma vez no horário de produção do cliente, então podemos concluir como resolvido.
    2 points
  37. Nenhuma tecnologia supera o velho "desinstala e reinstala" ou "desliga e religa"!
    2 points
  38. Pessoal, boa noite, Fiz um teste retirando a função retorna status onde checava a todo momento se o csat =107 antes de emitir o cupom, o problema parou, não sei o que pode ser mas fiz isto deu certo. Fica a dica.
    2 points
  39. Já para quem tem a versão 2.06 esta INDETERMINADO "ATENÇÃO: FOI PRORROGADA A VALIDADE DO PAF-ECF PARA TODOS OS DESENVOLVEDORES, CONFORME ESPECIFICADO ABAIXO: PAF-ECF COM ER 02.06 - VALIDADE INDETERMINADA (ATO DIAT 38/2020). PAF-ECF COM ER 02.04 OU 02.05 - VALIDADE: 30 JUN 2022 (ATO DIAT 30/2021). PAF-ECF COM ER 02.03 OU ANTERIOR: PAF IRREGULAR." https://www.sef.sc.gov.br/servicos/servico/42/ECF_-_Equipamentos_Emissores_de_Cupom_Fiscal
    2 points
  40. Desculpe pela demora na analise desse caso... Essa modificação foi introduzida, porque as novas "Classes Externas", sobrescrevem internamente, o OnEnviarStringDevice Exemplo: procedure TACBrPosPrinterGEDI.Configurar; begin fpPosPrinter.Porta := 'NULL'; fpPosPrinter.OnEnviarStringDevice := ImprimirGEDI; fpPosPrinter.PaginaDeCodigo := TACBrPosPaginaCodigo.pcUTF8; end; e quando mudávamos o modelo, após o uso de uma classe externa, o Evento da Classe externa continuaria sendo acionado... Apliquei uma possível correção, para o problema... Por favor teste com o fonte em anexo... ACBrPosPrinter.pas
    2 points
  41. Bom dia, a Sefaz de MG tá um caso sério, praticamente todo fds está dando problema, mas depois que aumentei o timeout pra 30 segundos meus chamados diminuíram bastante.
    2 points
  42. Ok! Vou tentar adiantar algo e qualquer coisa, posto dúvida por aqui.
    2 points
  43. Bom dia! Caso teu cliente exija informações adicionais ao produto, você pode fazer uso do campo infAdProd Tamanho: (1-500) especificando todas informações e características do item que seja necessário constar como complemento do item.
    2 points
  44. Subi um ajuste para esse problema, rev. 22248.
    2 points
  45. Depois de atualizar foi enviado com sucesso pelo padrão ABRASF versão 2 usando o programa de exemplo. Vou realizar novamente os testes pelo sistema, obrigado por enquanto. Como tinha atualizado ontem, achei que ainda não havia feito os ajustes...
    2 points
  46. Olá Pessoal Foi publicado a NT 2020/001 versão 1.10 que traz uma tabela com os prazos para o envio dos eventos da Manifestação do Destinatário. A manifestação está prevista na cláusula décima-quinta-A do Ajuste SINIEF 7/05, a qual estabelece que o destinatário da Nota Fiscal eletrônica confirme a sua participação na operação acobertada pela Nota Fiscal eletrônica emitida para o seu CNPJ/CPF, através dos eventos tratados logo a seguir. A versão 1.10 dessa NT apresenta a tabela abaixo com os prazos para o registro dos eventos conforme estabelecido no Ajuste SINIEF 44/2020. O envio dos eventos fora dos prazos estabelecido vai ocorrer a Rejeição 596: Evento apresentado fora do prazo: [prazo vigente] Essa regra de validação entra em vigor no ambiente de produção a partir de 04/04/2022 Evento Prazo legal (Ajuste SINIEF 44/2020) Ciência da Emissão 10 dias contados a partir da data de autorização da NF-e Confirmação da Operação 180 dias contados a partir da data de autorização da NF-e Desconhecimento da Operação 180 dias contados a partir da data de autorização da NF-e Operação Não Realizada 180 dias contados a partir da data de autorização da NF-e Observação: note que a contagem de dias é sempre baseado na data de autorização da NF-e e não na data de recebimento da mercadoria. Quem é obrigado a enviar os eventos da Manifestação do Destinatário? A cláusula décima-quinta-B do Ajuste SINIEF 7/2005 prevê a obrigatoriedade do registro pelo destinatário da NF-e dos eventos de confirmação da operação, operação não realizada e desconhecimento da operação nos prazos especificados naquele Ajuste. Também está obrigado a realizar a manifestação, de acordo com o Anexo II do Ajuste SINIEF 7/2005, o destinatário de toda NF-e que: I – seja exigido o preenchimento do Grupo Detalhamento específico de Combustíveis, como nos casos de mercadoria destinada a: a) estabelecimentos distribuidores de combustíveis, a partir de 1º de março de 2013; b) postos de combustíveis e transportadores revendedores retalhistas, a partir de 1º de julho de 2013; II - acoberte operações com álcool para fins não-combustíveis, transportado a granel, a partir de 1º de julho de 2014; III – acoberte, nos casos em que o destinatário for um estabelecimento distribuidor ou atacadista, a partir de 1º de agosto de 2015, a circulação de: a) cigarros; b) bebidas alcoólicas, inclusive cervejas e chopes; c) refrigerantes e água mineral. Observação: • a NT 2012/003 (item 03.1), publicada em agosto/2012, define quais são os CFOP que obrigam a informação do Grupo de Combustível na NF-e. Os CFOP citados estão relacionados com as operações que envolvem “Combustível derivado ou não de Petróleo e Lubrificantes”. • Como as operações com lubrificantes são exceção à obrigatoriedade de manifestação do destinatário, consta no Anexo II a tabela de Códigos de Produto da ANP relativa a lubrificantes e que não estão obrigados à Manifestação do Destinatário. Como realizar o envio dos eventos da Manifestação do Destinatário? O destinatário caso não tenha uma aplicação que lhe permite a realizar o envio dos eventos, poderá utilizar o serviço que consta no Portal Nacional da NF-e: No menu “Serviços”, “Manifestação Destinatário” do Portal Nacional da NF-e (https://www.nfe.fazenda.gov.br) é disponibilizada a opção de realizar a manifestação por chave de acesso ou por NSU (Número Sequencial Único), sendo obrigatório o uso de Certificado Digital do destinatário. No Portal Nacional da NF-e tem também um aplicativo que o destinatário poderá baixar: No menu “Downloads”, “Manifestador de NF-e” do Portal Nacional da NF-e (https://www.nfe.fazenda.gov.br) foi disponibilizado software desenvolvido pela SEFAZ-SP que viabiliza exclusivamente a manifestação do destinatário pessoa jurídica, sendo obrigatório o uso de Certificado Digital do destinatário. Para o desenvolvedor que queira implementar essa funcionalidade em sua aplicação o Projeto ACBr disponibiliza: O componente ACBrNFe para os desenvolvedores que se utilizam das ferramentas Delphi ou Lazarus para desenvolverem as suas aplicações utilizando a linguagem Object Pascal. O ACBrMonitor Plus, uma aplicação feita em Lazarus destinada aos desenvolvedores que trabalham com outras linguagens de programação. O ACBrLibNFe, uma DLL que também pode ser utilizada pelos desenvolvedores de outras linguagens caso não desejem usar o ACBrMonitor Plus.
    2 points
  47. Manual de migração para o novo componente de NFS-e. 1. Introdução Foi realizado um refactoring no componente de emissão de NFS-e Nota Fiscal de Serviço Eletrônica, que acabou resultando em um novo componente chamado ACBrNFSeX e consequentemente um novo para impressão do DANFSE (ACBrNFSeXDANFSERL – Fortes Report). O motivo de realizar esse refactoring foi devido a uma grande quantidade de IF e CASE em diversas units para sanar a falta de padronização entre os provedores. O componente também tinha algumas propriedades de configuração repetidas com nomes diferentes e até campos na classe da NFS-e que na verdade deveriam ser propriedades de configuração, ou seja, propriedades de configuração foram implementadas como sendo campos de uma NFS-e. Portanto ao realizar a troca do componente atual (ACBrNFSe) pelo novo (ACBrNFSeX) vai ocorrer quebra de código. Esse manual tem como objetivo apresentar um roteiro de migração e apresentar o que mudou de um componente para o outro. 2. Propriedades de configuração excluídas Foram excluídas as propriedades: SenhaWeb, UserWeb, PathIniCidades, PathIniProvedor e DadosSenhaParams, Key, Auth, RequestId e Resposta. 3. Propriedades de configuração renomeadas As propriedades: WebUser, WebSenha, WebFraseSecr e WebChaveAcesso agora se chamam: WSUser, WSSenha, WSFraseServ e WSChaveAcesso. Essas propriedade se encontram em: Configuracoes.Geral.Emitente 4. Propriedades de configuração novas Foi incluída as propriedades: WSChaveAutoriz (string) em Configuracoes.Geral.Emitente e ConsultaAposCancelar (Boolean) em Configuracoes.Geral. 5. Campos excluídos Foram excluídos da classe IdentificacaoPrestador os campos: Senha, FraseSecreta, cUF, ChaveAcesso, Usuario, CNPJ_Prefeitura, ValorReceitaBruta, DataInicioAtividade, RazaoSocial, Fantasia, Endereco, Telefone, Email, crc e crc_estado. Alguns desses campos que foram excluídos possuem uma propriedade de configuração, logo o componente vai se utilizar da informação que se encontra na configuração do mesmo. Outros campos migraram para uma outra classe. Excluído o campo PrestadorServico da classe NFSe, para informar os dados do prestador devemos utilizar o campo Prestador que já existia na classe NFSe. Os campos CNPJ e InscricaoMunicipal agora estão dentro da classe IdentificacaoPrestador, exemplo: Prestador.IdentificacaoPrestador.CNPJ Prestador.IdentificacaoPrestador. InscricaoMunicipal Excluído os campos Discriminacao, ValorServicos e Codigo da classe ItemServico, usar no lugar os campos Descricao, ValorTotal e CodServ. A classe ItemServico é utilizada pelos provedores que permitem incluir mais de um item de serviço no RPS. 6. Campos renomeados O campo ChaveNFSe da classe NFSe que é utilizado pelo provedor Infisc foi renomeado para refNF para compatibilizar com a nomenclatura da tag no XML, o seu conteúdo é gerado automaticamente, logo não se faz necessário atribuir nada a ele. 7. Campos novos Na classe DadosPrestador passou a ter os campos: cUF (Integer), crc (string), crc_estado (string), DataInicioAtividade (TDateTime) e ValorReceitaBruta (Currency). Na classe NFSe foi incluído o campo SituacaoTrib (TSituacaoTrib) pois estava sendo utilizado um outro campo chamado Situacao, sendo que este contem a situação do processamento do RPS. 8. Campos cujo tipo foi alterado Alterado o tipo de string para TTipoPessoa do campo Tipo que se encontra na classe IdentificacaoTomador. 9. Métodos excluídos Foi excluído o método Enviar, EnviarSincrono e Gerar. 10. Métodos renomeados O método SetConfigMunicipio agora se chama LerParamsMunicipio. 11. Métodos novos Foi implementado o método Emitir que detecta o modo de envio correto para cada provedor. O método Emitir possui 3 parâmetros: aLote do tipo Integer ou String que contém o número do lote de RPS que está sendo enviado para o WebService; aModoEnvio do tipo TmodoEnvio cujos valores aceitos são (meAutomatico é o valor padrão): meAutomatico = o componente vai utilizar o serviço mais adequado ou implementado pelo provedor; meLoteAssincrono = o componente vai utilizar o serviço que recepciona o lote de RPS no modo assíncrono, se o provedor não tem esse serviço será apresentado uma mensagem de erro acusando que o serviço não foi implementado pelo provedor; meLoteSincrono = o componente vai utilizar o serviço que recepciona o lote de RPS no modo síncrono, se o provedor não tem esse serviço será apresentado uma mensagem de erro acusando que o serviço não foi implementado pelo provedor; meUnitario = o componente vai utilizar o serviço que recepciona um RPS por vez, se o provedor não tem esse serviço será apresentado uma mensagem de erro acusando que o serviço não foi implementado pelo provedor; meTeste = alguns provedores possuem um serviço exclusivo para realização de teste de envio de lote de RPS, para esses casos devemos usar esse modo de envio. aImprimir do tipo Boolean (True é o valor padrão), se for True imprimir automaticamente o DANFSE. Foi acrescentado os métodos GravarINI e LerINI, visando gravar e ler o arquivo INI de configuração do componente, esse arquivo INI de configuração será utilizado pelo ACBrMonitor e ACBrLibNFSe. Foi implementado o método LerArqIni visando a leitura de um arquivo INI com os dados do serviço prestado. Esse método também será utilizado pelo ACBrMonitor e ACBrLibNFSe. 12. Métodos que sofreram alteração em seus parâmetros No método ConsultarLoteRps a ordem dos parâmetros foi alterada, agora é: Protocolo e depois Número do lote, uma vez que o número do lote só é utilizado por alguns provedores e não por todos. Definição do método na unit ACBrNFSeX: function ConsultarLoteRps(const AProtocolo: String; const ANumLote: String = ''): Boolean; No método ConsultarNFSePorRps foi removido o último parâmetro: ACodMunicipioTOM em seu lugar foi incluído: ACodVerificacao, o motivo dessa troca é que nenhum provedor está utilizando o código do município do tomador na consulta e por outro lado temos provedores que se utilizam do código de verificação. Definição do método na unit ACBrNFSeX: function ConsultarNFSeporRps(const ANumRPS, ASerie, ATipo: String; const ANumLote: String = ''; const ACodVerificacao: string = ''): Boolean; No método ConsultarNFSe foram removidos todos os parâmetros e no lugar foi colocado o aInfConsultaNFSe que é do tipo TInfConsultaNFSe. Para entender como devemos informar os dados para efetuar a consulta de uma nota vide o programa exemplo do novo componente. Foram criados vários métodos de Consulta de NFSe: Usado pelos provedores que seguem a versão 1 do layout da ABRASF. function ConsultarNFSePorNumero(const aNumero: string; aPagina: Integer = 1): Boolean; Usados pelos provedores que seguem a versão 2 do layout da ABRASF. Realiza uma consulta por faixa de números de notas: function ConsultarNFSePorFaixa(const aNumeroInicial, aNumeroFinal: string; aPagina: Integer = 1): Boolean; Realiza uma consulta por período: function ConsultarNFSePorPeriodo(aDataInicial, aDataFinal: TDateTime; aPagina: Integer = 1; aNumeroLote: string = ''): Boolean; Realiza uma consulta por numero de uma nota – serviço prestado: function ConsultarNFSeServicoPrestadoPorNumero(const aNumero: string; aPagina: Integer = 1): Boolean; Realiza uma consulta por período – serviço prestado: function ConsultarNFSeServicoPrestadoPorPeriodo(aDataInicial, aDataFinal: TDateTime; aPagina: Integer = 1): Boolean; Realiza uma consulta por tomador – serviço prestado: function ConsultarNFSeServicoPrestadoPorTomador(const aCNPJ, aInscMun: string; aPagina: Integer = 1): Boolean; Realiza uma consulta por intermediário – serviço prestado: function ConsultarNFSeServicoPrestadoPorIntermediario(const aCNPJ, aInscMun: string; aPagina: Integer = 1): Boolean; O autor das consultas acima é o prestador de serviço. Realiza uma consulta por numero de uma nota – serviço tomado: function ConsultarNFSeServicoTomadoPorNumero(const aNumero: string; aPagina: Integer = 1): Boolean; Realiza uma consulta por período – serviço tomado: function ConsultarNFSeServicoTomadoPorPeriodo(aDataInicial, aDataFinal: TDateTime; aPagina: Integer = 1): Boolean; Realiza uma consulta por prestador – serviço tomado: function ConsultarNFSeServicoTomadoPorPrestador(const aCNPJ, aInscMun: string; aPagina: Integer = 1): Boolean; Realiza uma consulta por tomador – serviço tomado: function ConsultarNFSeServicoTomadoPorTomador(const aCNPJ, aInscMun: string; aPagina: Integer = 1): Boolean; Realiza uma consulta por intermediário – serviço tomado: function ConsultarNFSeServicoTomadoPorIntermediario(const aCNPJ, aInscMun: string; aPagina: Integer = 1): Boolean; O autor das consultas acima é o consulente, que pode ser o tomador do serviço ou outra pessoa como por exemplo o contador. Caso o provedor não tenha disponibilizado esses serviços de consultas em seu WebService, uma mensagem de erro será apresentada acusando que o serviço não foi implementado pelo provedor. No método CancelarNFSe foram removidos todos os parâmetros e no lugar foi colocado o aInfCancelamento que é do tipo TInfCancelamento. Para entender como devemos informar os dados para efetuar o cancelamento de uma nota vide o programa exemplo do novo componente. O primeiro parâmetro do método LinkNFSe no novo componente obrigatoriamente tem que ser uma string. 13. Arquivos INI O novo componente não se utiliza mais dos arquivos INI dos provedores e nem do Cidades.ini Agora temos uma unit para cada provedor e o conteúdo do arquivo Cidades.ini migrou para o arquivo ACBrNFSeXServicos.ini que é convertido em um arquivo RES através do BAT chamado Compila_RES. O arquivo ACBrNFSeXServicos.res é incorporado ao executável ao compilar a aplicação, desta forma não se faz necessário disponibilizar junto com o executável nenhum arquivo INI. Layout de uma seção no arquivo ACBrNFSeXServicos.ini [9999999] Código IBGE da cidade. Nome= Nome da cidade de preferência sem cedilha e vogal acentuada. UF= Sigla da UF da referida cidade. Provedor= Nome do provedor, deve-se respeitar a grafia levando em consideração letras maiúsculas e minúsculas. Os 2 campos abaixo são utilizados pelo provedor Governa Params1= Informar a versão do layout do Arquivo que é usado no elemento: tsVrsArq Params2= Informar a versão do layout de Impressão que é usado no elemento: tsVrsImp Os 2 campos abaixo são utilizados pelo provedor DataSmart Params1= O provedor defini uma abreviação do nome da cidade, por exemplo B_SJOSE é utilizado para a cidade de São Jose do Ouro. Params2= Por padrão o valor BANCO_DEMOSTRACAO. O campo abaixo defini o código da Entidade definida pelo provedor Equiplano para cada cidade. Params1= Informar o código da Entidade que usado no elemento: IdEntidade. Os 2 campos abaixo são utilizados para definir a URL do Link para se ter acesso ao DANFSE via navegador. ProLinkURL= Informar a URL do ambiente de Produção. HomLinkURL= Informar a URL do ambiente de Homologação. Os 2 campos abaixo são utilizados para definir a URL do NameSpace, o provedor ISSDSF tem um NameSpace diferente para cada cidade. ProNameSpace= Informar a URL do NameSpace para o ambiente de Produção. HomNameSpace= Informar a URL do NameSpace para o ambiente de Homologação Os 2 campos abaixo são utilizados para definir a URL do NameSpace do XML, o provedor Actcon tem um NameSpace do XML diferente para cada cidade. ProXMLNameSpace= Informar a URL do NameSpace do XML para o ambiente de Produção. HomXMLNameSpace= Informar a URL do NameSpace do XML para o ambiente de Homologação Os 2 campos abaixo são utilizados para definir a URL do SoapAction, o provedor Actcon tem um SoapAction diferente para cada cidade. ProSoapAction= Informar a URL do SoapAction para o ambiente de Produção. HomSoapAction= Informar a URL do SoapAction para o ambiente de Homologação Se o provedor não tem uma URL de serviço padronizada de produção, ou seja, uma para cada cidade devemos utilizar os campos abaixo: ProRecepcaoLoteRPS= Informar a URL para o ambiente de Produção. Os campos abaixo só devem ser incluídos caso a URL seja diferente para cada serviço. ProConsultaSitLoteRPS= ProConsultaLoteRPS= ProConsultaNFSeRPS= ProConsultaNFSe= ProCancelaNFSe= ProGerarNFSe= ProRecepcaoSincrono= ProSubstituiNFSe= ProAbrirSessao= ProFecharSessao= Se o provedor não tem uma URL de serviço padronizada de homologação, ou seja, uma para cada cidade devemos utilizar os campos abaixo: HomRecepcaoLoteRPS= Informar a URL para o ambiente de Homologação. Os campos abaixo só devem ser incluídos caso a URL seja diferente para cada serviço. HomConsultaSitLoteRPS= HomConsultaLoteRPS= HomConsultaNFSeRPS= HomConsultaNFSe= HomCancelaNFSe= HomGerarNFSe= HomRecepcaoSincrono= HomSubstituiNFSe= HomAbrirSessao= HomFecharSessao= 14. Roteiro para migrar do componente atual ACBrNFSe para o novo ACBrNFSeX 1. Fazer uma cópia dos fontes do projeto; 2. Carregar o Delphi; 3. Abrir o projeto; 4. Remover os componentes (ACBrNFSe e ACBrNFSeDANFSeRL); 5. Remover do uses as units: ACBrNFSeDANFSeClass, ACBrNFSeDANFSeRLClass e ACBrNFSe; 6. Remover do uses (implementação) as units: ACBrNFSeNotasFiscais, ACBrNFSeConfiguracoes, pnfsConversao e pnfsNFSe; 7. Comentar as procedures: ACBrNFSe1GerarLote e ACBrNFSe1StatusChange tanto a sua declaração quanto a sua implementação; 8. Salvar o projeto; 9. Incluir os novos componentes: ACBrNFSeX e ACBrNFSeXDANFSeRL; 10. Salvar novamente o projeto; 11. Relacionar o ACBrNFSeX com o ACBrNFSeXDANFSeRL e com o ACBrMail; 12. Criar novamente os eventos GerarLote e StatusChange do componente ACBrNFSeX e inserir o seu código (tome como base o que está comentado); 13. Executar o Replace (ACBrNFSe1 para ACBrNFSeX1); 14. Trocar o NotasFiscais.Add.NFSe por NotasFiscais.New.NFSe; 15. Incluir no uses (implementação) a unit: ACBrNFSeXConversao; 16. Remover as linhas referentes as propriedades de configuração que não existe mais, conforme mencionado no início deste Manual; 17. Alterar o nome de algumas propriedades de configuração conforme mencionado no início deste Manual. 18. Alterar o conteúdo da procedure AtualizarCidades conforme apresentado neste Manual; 19. Alterar a ordem dos parâmetros do Consultar Lote; 20. Alterar o método Enviar(vNumLote) para Emitir(vNumLote, meLoteAssincrono); 21. Alterar o método Gerar(StrToint(vNumRPS)) para Emitir(vNumRPS, meUnitario); 22. Alterar o método EnviarSincrono(vNumLote) para Emitir(vNumLote, meLoteSincrono); 23. Alterar conforme acima os métodos CancelarNFSe e ConsultarNFSe e LinkNFSe; 24. Alterar conforme o programa exemplo do componente ACBrNFSeX a forma de realizar a Consulta a NFSe e o Cancelamento de NFSe; 25. Salvar, compilar (Build) e executar o projeto. 15. Alterar o código da procedure AtualizarCidades Como o novo componente não busca mais no arquivo Cidades.ini as cidades, se faz necessário alterar o código. Como o código deve ficar: procedure TfrmACBrNFSe.AtualizarCidades; var IniCidades: TMemIniFile; Cidades: TStringList; I: Integer; sNome, sCod, sUF: String; begin IniCidades := TMemIniFile.Create(''); Cidades := TStringList.Create; ACBrNFSeX1.LerCidades; IniCidades.SetStrings(ACBrNFSeX1.Configuracoes.WebServices.Params); try IniCidades.ReadSections(Cidades); cbCidades.Items.Clear; for I := 0 to Pred(Cidades.Count) do begin if (StrToIntdef(Cidades[I], 0) > 0) then begin //Exemplo: Alfenas/3101607/MG sCod := Cidades[I]; sNome := IniCidades.ReadString(sCod, 'Nome', ''); sUF := IniCidades.ReadString(sCod, 'UF', ''); cbCidades.Items.Add(Format('%s/%s/%s', [sNome, sCod, sUF])); end; end; //Sort cbCidades.Sorted := false; cbCidades.Sorted := true; edtTotalCidades.Text := IntToStr(cbCidades.Items.Count); finally FreeAndNil(Cidades); IniCidades.Free; end; end; 16. Tabela de mensagens geradas pelo componente Código Descrição X001 Serviço não implementado pelo Provedor. X002 Nenhum RPS adicionado ao componente. X003 Conjunto de RPS transmitidos (máximo de xxx RPS) excedido. Quantidade atual: yyy X101 Número do Protocolo não informado. X102 Número do RPS não informado. X103 Série do Rps não informado. X104 Tipo do Rps não informado. X105 Número Inicial da NFSe não informado. X106 Número Final da NFSe não informado. X107 Pedido de Cancelamento não informado. X108 Número da NFSe não informado. X109 Código de cancelamento não informado. X110 Motivo do Cancelamento não informado. X111 Número do Lote não informado. X112 Série da NFSe não informada. X113 Valor da NFSe não informado. X114 Tipo da NFSe não informado. X115 Data Inicial não informada. X116 Data Final não informada. X117 Código de Verificação/Validação não informado. X118 Chave da NFSe não informada. X201 WebService retornou um XML vazio. X202 Lista de NFSe não encontrada! (ListaNfse) X203 Não foi retornado nenhuma NFSe. X204 Confirmação do cancelamento não encontrada. X205 Retorno da Substituição não encontrada. X206 NFSe Substituída não encontrada. X207 NFSe Substituidora não encontrada. X208 Não foi retornado nenhum Rps. X999 E.Message
    2 points
  48. Olá, Recentemente diversas empresas estão emitindo boletos com QrCode para pagamento via PIX (Boleto Híbrido), ficando a critério do pagador escolher a forma de pagamento através da ficha de compensação "Código de Barras / Linha Digitável' ou com o PIX "QRCode". Mas até então isso não estava formalizado pelo Banco em si, ou seja, o controle de Baixa do título caso seja pago por PIX ficaria a cargo da própria empresa, como ocorre no fluxo de várias API hoje disponíveis no mercado... Porém, o Banco do Brasil foi o pioneiro em disponibilizar esse tipo de integração em sua própria API, assim ao registrar um Título pode ser definido se será gerado também uma chave PIX dinâmica referente aquele título, com isso o controle da forma de pagamento fica com o Banco, independente se for pago via PIX ou Boleto. Isso facilita muito o controle por parte da empresa beneficiária e viabilizou a implementação desse tipo de integração via API também no componente ACBrBoleto. No componente ACBrBoleto já existia a possibilidade de Registro Online de Boletos para alguns Bancos, inclusive o Banco do Brasil via WebService, mas essa API se trata de um novo Serviço, portanto são configurações e funcionalidades distintas no componente ACBrBoleto. Neste tópico vamos descrever como realizar a homologação e utilizar a API do Banco do Brasil através do componente ACBrBoleto. 1- Primeiro passo é realizar o Cadastro do seu Aplicativo no ambiente Sandbox BB, com isso será fornecido as credenciais para autenticação da API em ambiente de homologação. Utilize o Serviço API Cobrança: https://developers.bb.com.br/home Documentação da API e como utilizar o ambiente Sandbox para cadastrar a aplicação: https://apoio.developers.bb.com.br/referency/post/5ffc477c3b02bd0012ecaa1a 2- Após o Cadastro poderá obter o ClientID e ClientSecret que precisará configurar no componente ACBrBoleto, cada emitente terá seu próprio ClientID e ClientSecret. No componente ACBrBoleto configure em: Banco / TipoCobranca=cobBancoBrasilAPI No componente ACBrBoleto configure em: Cedente / CedenteWS ClientID=Informe o ClientID gerado no Ambiente Sandbox BB ClientSecret=Informe o ClientSecret gerado no Ambiente Sandbox BB Scope=cobrancas.boletos-info cobrancas.boletos-requisicao KeyUser=developer_application_key IndicadorPix=True //Para utilização do PIX pela API - Banco do Brasil é necessário que o emitente tenha chave PIX cadastrada no BB, caso for utilizar somente a emissão tradicional pela API enviar False nesse parâmetro. Em Configurações / WebService - Configure da seguinte Forma: Na opção de Ambiente escolher de acordo com a operação que esteja fazendo (Homologação ou Produção) necessário coerência com as chaves contratuais junto ao BB. As operações homologadas para a API BB são de Inclusão e Consulta [tpInclui, tpConsulta] SSLHttpLib utilizar cryOpenSSL SSLType utilizar LT_TLSv1_2 3 - Com essas configurações já é possível realizar o registro de um título no BB via API. O Título deve ser incluso normalmente como no processo tradicional do componente, mas ao invés de gerar uma remessa, utiliza-se o o método "EnviarBoleto" - (botão no Aplicativo ACBrBoleto Demo: [Registrar Boleto On-Line]) . Este botão possui exemplos de como obter o Retorno da API. Se o título foi registrado sem nenhuma rejeição, automaticamente será atualizado a chave PIX junto ao Título. Particularidades BB via API: obs: API possui envio Síncrono Carteira=17 EspecieDoc=DM Modalidade=35 CodigoCedente=Informar Código Cedente Convenio=Informar o Convenio 4- Para imprimir o Boleto: Obs: Quando utilizado PIX, é necessário que além das informações tradicionais, sejam informadas no título o retorno do registro "QrCode" na propriedade "EMV", esse campo corresponde a String de geração do QRCode PIX gerada pelo Banco. ex: Titulo.qrcode.emv := FRetornoConteudoEMV; Impressão em FortesReport: Utilize o Layout "PadraoPIX" Impressão em FastReport: Selecione o arquivo "BoletoPIX.fr3" no diretório "Report" junto ao ACBrBoleto Demo. Segue o Modelo de Boleto Híbrido Impresso: 5- Consulta de Títulos via API Na aplicação ACBrBoletoDemo temos o botão "Consultar Boleto" com código exemplo de como passar os parâmetros para realizar uma consulta na API, o retorno será gerado em uma lista para posterior validação de cada Título. Obs: A homologação deve ser feita também junto ao Banco, inclusive enviando os modelos das Fichas de Compensação emitidas para validação. Todos os testes foram realizados em ambiente de homologação, então é importante a validação completa antes de emitir em ambiente de produção.
    2 points
  • Newsletter

    Want to keep up to date with all our latest news and information?
    Sign Up
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.