Jump to content

2 Dia do ACBr

O Dia da Automação Comercial está chegando!
Inscreva-se

Nova Loja Oficial
loja.projetoacbr.com.br
Ajude o projeto a crescer, com estilo

Comprar

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

Leaderboard


Popular Content

Showing content with the highest reputation since 07/17/2019 in all areas

  1. 13 points
    Bom dia a todos, Já esta disponível em nossa biblioteca a Nota Técnica 2019/001 versão 1.10 que trata sobre novas regras de validação. Essa nova versão é uma complementação da anterior que inclusive o seu resumo se encontra aqui. Resumo da NT:  • Criação/Alteração de regras de validação referentes a CST e Código de Benefício Fiscal, corrigindo algumas regras da versão anterior. • Criação de regra de validação correspondente rejeição 927, para informar os números dos itens em ordem sequencial. • Define que a regra de validação referente ao valor máximo da base de cálculo é por modelo de DF-e. Datas previstas para entrada em vigor: 22/07/2019 - Ambiente de Homologação; 02/09/2019 - Ambiente de Produção. Alterações no componente: Nenhuma, visto que essa NT trata de novas regras de validação a serem implementadas pelas SEFAZ-Autorizadoras. Alterações na aplicação do desenvolvedor: Por conta da regra H02-10, a aplicação ao atribuir o numero do item ao campo: Prod.nItem, este tem que ser um numero sequencial, consecutivo e iniciado por 1. Para quem utiliza o ACBrMonitor, não precisa se preocupar, pois o mesmo utiliza um numero sequencial, consecutivo e iniciado por 1 para o numero do item. Novas Regras de Validação: Criada a Regra de Validação H02-10, com o objetivo de informar os números do item em ordem sequencial. Criadas regras de validação a Tributo - ICMS:  Criada a Regra de Validação N12-86, impedindo que se informe o código de benefício fiscal para CST de benefício fiscal, a critério da unidade federada. Rejeição 928: Informado código de benefício fiscal para CST sem benefício fiscal (campo cBenef) [nItem: nnn] Se informado CST e informado código de benefício fiscal: - Verificar se CST possui código de benefício fiscal, conforme tabela de código de benefício fiscal por UF. Observação 1: Implementação a critério da UF e por modelo de DF-e. Observação 2: Tabela de código de benefício fiscal por UF publicada no Portal Nacional da NF-e. Regras que tiveram seu (Campo-Seq) alterado bem como a sua redação: Regra N07-10 agora é N12-97. Rejeição 929: Informado CST de diferimento sem as informações de diferimento [nItem: nnn] Nova Redação: Não informados campos de valores do CST 51 (Diferimento): - modBC (id: N13), pRedBC (id: N14), vBC (id: N15), pICMS (id: N16), vICMSOp (id: N16a), pDif (id: N16b), vICMSDif (id: N16c), vICMS (id: N17). Observações: Implementação a critério da UF. Regra N12-84 agora é N12-85. Rejeição 930: CST com benefício fiscal e não informado o código de benefício fiscal (campo: cBenef) [nItem: nnn] Nova redação: Se informado CST e não informado código de benefício fiscal: - Verificar se CST exige código de benefício fiscal (tag: cBenef), conforme tabela de código de benefício fiscal por UF. Observação 1: Implementação a critério da UF, por modelo de DF-e e por CST. Observação 2: Tabela de código de benefício fiscal por UF publicada no Portal Nacional da NF-e Regra N12-88 agora é N12-94. Rejeição 931: Informado código de benefício fiscal (campo: cBenef) incompatível com CST e UF [nItem: nnn] Nova Redação: Se informado CST e informado código de benefício fiscal: - Verificar código de benefício fiscal está vigente e corresponde ao CST informado, conforme tabela de código de benefício fiscal por UF. Observação1: Tabela de código de benefício fiscal (cBenef) publicada no Portal Nacional da NF-e. Nota: Para itens sem benefício fiscal, a UF poderá exigir a informação da literal “SEM CBENEF” para alguns CST, vide tabela publicada no Portal Nacional da NF-e.
  2. 11 points
    Olá a todos! Devido a alguns usuários necessitarem de mais informações no canhoto do DANFe Retrato, foi criado uma nova propriedade que permite alterar o layout do canhoto: "PosCanhotoLayout". O @hleorj foi o culpado de termos isso implementado. Qual a ideia dessa propriedade? O objetivo de criar essa propriedade foi permitir a impressão do código de barras da chave de acesso no canhoto. Então, a propriedade PosCanhotoLayout tem no momento duas opções: prlPadro : Imprime o canhoto padrão prlBarra : Imprime o canhoto com chave de acesso  Veja as imagens abaixo do novo canhoto. Versão em Fortes Report: Versão em Fast Report:
  3. 9 points
    Olá pessoal, A SEFAZ do Pará não vai mais recepcionar as NF-e a partir do dia 02/09/2019. A partir dessa data os contribuintes do Pará devem encaminhar as suas notas para a SEFAZ-Virtual do Rio Grande do Sul. Conforme consta a noticia no site da SEFAZ-Pará. Para quem utiliza o componente ACBrNFe, deverá apenas atualizar os fontes recompilar a aplicação e distribuir a nova versão do mesmo para os seus clientes. Para quem utiliza o ACBrMonitor, vamos disponibilizar uma nova versão do mesmo, ai basta vocês atualizarem os seus clientes. Pela noticia da SEFAZ-Pará não teremos um período de transição, logo vamos nos preparar para a correria, pois dia 2 é uma segunda-feira. Detalhe importante não será necessário realizar nenhuma mudança na configuração do componente ou do Monitor, apenas atualizar.
  4. 9 points
    Olá pessoal, Quem atualizou os fontes e reinstalou a Suite ACBr, pode ser que esteja recebendo essa mensagem de erro no momento que vai gerar a NF-e / CT-e / MDF-e / BP-e. Porque esta mensagem esta aparecendo para alguns e para outros não? Simples, quando o XML é gerado com base em alguns dados do documento fiscal é gerado a chave do mesmo. Essa mensagem de erro é devido a uma validação que foi implementada na função que gera a chave. Essa validação visa garantir que a sua Nota (por exemplo) não seja rejeitada pela regra de validação B03-10 que consta na Nota Técnica 2019/001. Como vocês podem ver na imagem acima, a aplicação dessa regra é obrigatória, ou seja, todas as SEFAZ-Autorizadoras devem implementar essa regra. Ela será implementada no dia 01/07/2019 no ambiente de Homologação e no dia 02/09/2019 no ambiente de Produção. A validação que foi implementada ao gerar a chave é exatamente a descrita na regra, ou seja, o valor de cNF não pode ser igual a nNF e a nenhum dos números listados na regra. Por curiosidade resolvi pegar o Manual da NF-e mais antigo que tenho (Março de 2009) veja o que esta escrito na definição do campo cNF: O Manual deixa claro que o numero atribuído a cNF tem que ser um numero aleatório. Portanto quem costuma atribuir a cNF o mesmo numero atribuído a nNF esta fazendo errado e agora não vai ter perdão, pois se insistir a SEFAZ não vai aceitar a nota. Mas a regra B03-10 da Nota Técnica 2019/001 não se refere apenas a NF-e / NFC-e? Sim, mas tenham certeza que essa regra de validação em breve vai ser implementada para os demais DF-e - Documentos Fiscais Eletrônicos. Alguém duvida disso? O que devo fazer para que a minha aplicação não pare com a mensagem de erro: Código Numérico inválido, Chave não Gerada ? Muito simples, vou dar como exemplo o fragmento de código da minha aplicação: Como é hoje, note que eu já gerava o código como sendo um numero aleatório: NotaFiscalVenda := (DM_VEN.NotasDocumento.AsInteger + 1); CodigoChave := Random(99999999) + 1; // +1 para garantir que não seja zero Como vai passar a ser, para ter uma garantia maior ainda: NotaFiscalVenda : =(DM_VEN.NotasDocumento.AsInteger + 1); CodigoChave := GerarCodigoDFe(NotaFiscalVenda); A função GerarCodigoDFe esta definida na Unit ACBrDFeUtil, logo você vai ter informar essa Unit em Uses do seu Form. Note que ela recebe como parâmetro o numero da nota, pois a função vai gerar o código aleatoriamente e vai validar o mesmo e pela regra o código não pode ser igual ao numero da nota. De forma semelhante você terão que fazer o mesmo nas suas aplicações que emitem CT-e, MDF-e e BP-e. É preferível fazer essa correção na aplicação agora do que receber dezenas ou até centenas de ligações de clientes que não estão conseguindo autorizar os seus documentos na SEFAZ. Fica ai a dica.
  5. 7 points
    Olá Pessoal, Muitos tem interesse em obter o XML da transportadora (CT-e) para facilitar a entrada do Contas a Pagar, etc. Segundo a legislação, quem emite um CT-e tem por obrigação legal de disponibilizar o XML assinado e com o protocolo de autorização ao tomador do serviço, assim que a SEFAZ autorizar o conhecimento. Essa disponibilização pode ser feita por e-mail, ou seja, o emitente envia para o tomador o XML via e-mail. Sabemos que isso nem sempre ocorre, por 2 motivos: 1. No cadastro do tomador 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. O componente ACBrCTe possui os seguintes métodos: DistribuicaoDFePorUltNSU e DistribuicaoDFePorNSU. Vamos a sintaxe: 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 do conhecimento é do Estado de São Paulo, logo o conhecimento é enviado para a SEFAZ-SP esta por sua vez vai compartilhar com o Ambiente Nacional os conhecimentos que foram autorizados, o Ambiente Nacional por sua vez atribui um NSU para cada conhecimento que receber. 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: Conhecimento Completo e Evento Completo. Se o NSU informado no método DistribuicaoDFePorNSU for o NSU de um evento, o que teremos como retorno será o XML do evento e não o XML do conhecimento. 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 Conhecimentos Completas 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 novos conhecimentos forem emitidos e compartilhadas com o Ambiente Nacional. O DistribuicaoDFe não serve apenas para que possamos obter o XML da transportadora (CT-e), mas também descobrirmos se existe alguma empresa emitindo conhecimentos contra o nosso CNPJ sem no nosso consentimento. Você descobre isso através do DistribuicaoDFePorUltNSU e pode avisar a SEFAZ enviando o evento de Prestação de Serviço em Desacordo. Para saber mais sobre o Distribuição DFe vide a Nota Técnica 2015/002 versão 1.00a, que se encontra disponível no Portal Nacional do CT-e e com relação ao evento Prestação de Serviços em Desacordo vide o Manual CT-e Visão Geral v3.00a que se encontra no Portal do Conhecimento de Transporte Eletrônico - SVRS. Informação importante, o serviço Distribuição DF-e, é atendido pelo Ambiente Nacional, portanto não tem nada haver com a SEFAZ-Autorizadora do emitente do conhecimento ou do tomador. Se algo falhar nesse processo, a "culpa" é do Ambiente Nacional.
  6. 7 points
    Uma maneira rápida de corrigir as URLs de sua aplicação que usa o ACBr, sem necessariamente instalar um novo programa, é atualizar o arquivo de Endereços dos WebServices, diretamente na máquina local Baixe o arquivo ACBrNFeServicos.ini, clicando na URL http://svn.code.sf.net/p/acbr/code/trunk2/Fontes/ACBrDFe/ACBrNFe/ACBrNFeServicos.ini (clique no link com o botão direito do Mouse, e Salvar Como..) Salve o arquivo ACBrNFeServicos.ini exatamente na mesma pasta do seu .EXE Feito isso, o ACBrNFe passará a carregar as URLs de WebServices desse arquivo, ao invés do resource interno do componente Lembre-se de atualizar o arquivo ACBrNFeServicos.ini a cada atualização do sistema
  7. 7 points
    Se você utiliza Delphi 7, talvez sinta que fica impossibilitado de implementar uma série de recursos e melhorias em seus sistemas devido a limitação da IDE ou ainda que a produtividade de sua equipe poderia ser maior se contasse com uma ferramenta mais moderna. No dia do ACBr teremos uma palestra com Kelver Merlotti, diretor de serviços na Embarcadero do Brasil, o qual possui o título de Especialista em Desenvolvimento de Software para Web, além de uma vasta experiência de mais de 18 anos trabalhando com desenvolvimento de sistemas. Kelver Merlotti, Diretor de Serviços na Embarcadero do Brasil, irá abordar como utilizando uma IDE moderna é possível obter recursos e funcionalidades os quais possibilitam aumento de produtividade, qualidade e mesmo novas oportunidades a sua equipe de desenvolvimento. Para aqueles que desejarem aproveitar a oportunidade, no Dia do ACBr contaremos com a presença de nossos consultores no Stand ACBr para esclarecer quaisquer dúvidas que permanecerem. Inscreva-se para o Dia do ACBr 2019 e aproveite a melhor oportunidade para falar pessoalmente com quem realmente entende do assunto. Se tem dúvidas ou gostaria mais informações, fale com nossa consultora rapidamente por meio do WhatsApp.
  8. 7 points
    Meu arquivo estava realmente desatualizado. Baixei novamente e inclui nele o QR-Code. Neste arquivo apenas inclui a informação do QR-Code, pois foi a minha necessidade imediata para disponibilizar para os clientes. Estou verificando as demais alterações para alterar os outros modelos. DAMDFe_Retrato.fr3
  9. 6 points
    Todos os participantes desta edição do Dia do ACBr, ganharão um Kit de boas-vindas, contendo: 1 Agenda - Edição 2019-2020 1 Caneta - Novas cores disponíveis 1 Chaveiro - Abridor de garrafas, útil e robusto Feitos para você que usar ACBr! Gostou dos novos produtos personalizados do Projeto? Faça sua inscrição para garantir o seu Kit Boas-vindas! Lembrando que você poderá comprar mais produtos no Stand do Projeto ACBr durante o Evento! Se tem dúvidas ou gostaria mais informações, fale com nossa consultora rapidamente por meio do WhatsApp.
  10. 6 points
    Olá pessoal, Já foi implementado no componente ACBrCTe o modo de envio síncrono de CT-e. Para que possamos enviar o CT-e no modo síncrono foi necessário acrescentar um parâmetro a mais no método Enviar. function Enviar(ALote: Integer; Imprimir: Boolean = True; ASincrono: Boolean = False) : Boolean; overload; Parâmetros do método Enviar: 1o = Número do Lote 2o = Se True imprime automaticamente o DACTE 3o = Se True o envio é no modo Síncrono, caso contrario Assíncrono. Observação: no modo Síncrono só podemos enviar UM CT-e por vez. Por padrão o parâmetro ASincrono vale False fazendo com que o envio seja realizado no modo assíncrono. Exemplos: ACBrCTe1.Enviar(StrToInt(vNumLote)); ===> envio no modo assíncrono com a impressão do DACTE automaticamente. ACBrCTe1.Enviar(StrToInt(vNumLote), False); ===> envio no modo assíncrono sem a impressão do DACTE automaticamente. ACBrCTe1.Enviar(StrToInt(vNumLote), True, True); ===> envio no modo síncrono com a impressão do DACTE automaticamente. ACBrCTe1.Enviar(StrToInt(vNumLote), False, True); ===> envio no modo assíncrono sem a impressão do DACTE automaticamente. Para quem não usa o método Enviar e prefere executar diretamente as chamadas do webservice abaixo temos um exemplo: ACBrCTe1.WebServices.Enviar.Lote := vNumLote; <=== Numero do Lote ACBrCTe1.WebServices.Enviar.Sincrono := True; <= Se True o modo de envio será síncrono, caso contrario assíncrono. ACBrCTe1.WebServices.Enviar.Executar;
  11. 6 points
    Está disponível na pasta Branches, o Projeto ACBrBoleto com as classes novas para integração via WebService. Lembrando que está em fase de desenvolvimento e testes... Mas já pode ser utilizada para testes e implementação de novos bancos. Se alguém desejar realizar testes, basta substituir as Units e Packages do Projeto Principal e reinstalar o pacote. o Método a ser chamado na aplicação é: ( ACBrBoleto1.EnviarBoleto; ), da mesma forma como funciona o Boleto atualmente o Envio também trabalha com Títulos adicionados na Lista de Boletos.
  12. 6 points
    Boa tarde pessoal, Com a versão 3.00a do CT-e temos um novo evento chamado Cancelamento de Comprovante de Entrega. Esse evento é emitido pela própria transportadora e não pelo destinatário da mercadoria. Para quem utiliza o ACBrMonitor abaixo segue um exemplo de como montar o arquivo INI do evento de Cancelamento de Comprovante de Entrega: [EVENTO] idLote=1 [EVENTO001] chCTe= chave do CT-e cOrgao= Codigo da UF CNPJ= CNPJ do emitente dhEvento=25/07/2019 10:30:00 tpEvento=110181 nSeqEvento=1 nProt= numero do protocolo de autorização do CT-e nProtCE= numero do protocolo de autorização do Evento de Comprovante de Entrega Para quem utiliza o componente, abaixo temos um exemplo de como enviar o evento em questão: ACBrCTe1.EventoCTe.Evento.Clear; with ACBrCTe1.EventoCTe.Evento.New do begin infEvento.chCTe := ChaveCTe; infEvento.CNPJ := CNPJEmitente; infEvento.dhEvento := now; infEvento.tpEvento := teCancComprEntrega; infEvento.nSeqEvento := 1; infEvento.detEvento.nProt := nProtocoloAutorizacao; infEvento.detEvento.nProtCE := nProtocoloAutorizacaoComprovanteEntrega; end; ACBrCTe1.EnviarEvento( 1 ); // 1 = Numero do Lote
  13. 6 points
    Boa tarde pessoal, Com a versão 3.00a do MDF-e temos um novo evento chamado Inclusão de DF-e. Apesar do nome DF-e, no momento só podemos incluir NF-e e não CT-e. Vale lembrar que o MDF-e só pode conter NF-e ou CT-e, ambos já mais. Para que possamos informar NF-e em um MDF-e o emitente do mesmo tem que ser um transportador de carga própria. Por outro lado para que possamos informar CT-e o emitente do MDF-e tem que ser um prestador de serviço de transporte, ou seja, uma transportadora. Portanto já deu para perceber que esse evento no momento não poderá ser utilizado por uma transportadora. Dito isso vamos ao que interessa: Para que o emitente possa enviar o evento de Inclusão de DF-e no MDF-e tem que constar a tag: indCarregaPosterior com o valor 1. Abaixo temos um fragmento de arquivo INI do MDF-e para quem utiliza o ACBrMonitor mostrando como fazer para que a tag acima seja gerada: [ide] (...) indCarregaPosterior=1 ; se o valor for zero ou essa linha não existir a tag não será gerada. (...) Para quem utiliza o componente como alimenta-lo para emitir o MDF-e com a tag em questão: (...) Ide.indCarregaPosterior := tiSim; // se o valor for tiNao ou não constar essa linha a tag não será gerada. (...) Vamos agora ver como que fica o arquivo INI do evento de Inclusão de DF-e para que usa o ACBrMonitor: [EVENTO] idLote=1 [EVENTO001] chMDFe= chave do MDF-e cOrgao= Codigo da UF CNPJCPF= CNPJ ou CPF do emitente dhEvento=24/07/2019 17:04:00 tpEvento=110115 nSeqEvento=1 ; (sequencial, para o proximo DF-e tem que ser 2 e assim por diante) nProt= numero do protocolo de autorização do MDF-e cMunCarrega= código IBGE do municipio onde ocorreu o carregamento das mercadorias referente ao DF-e a ser incluido xMunCarrega= descrição do municipio ; xxxx pode variar de 0001 até 2000 [infDocxxxx] cMunDescarga= código IBGE do municipio onde ocorrerá o descarregamento das mercadorias referente ao DF-e a ser incluido xMunDescarga= descrição do municipio chNFe= chave da NF-e a ser incluida Para quem utiliza o componente, abaixo temos um exemplo de como enviar o evento em questão: ACBrMDFe1.EventoMDFe.Evento.Clear; with ACBrMDFe1.EventoMDFe.Evento.New do begin infEvento.chMDFe := ChaveMDFe; infEvento.CNPJCPF := CNPJCPFEmitente; infEvento.dhEvento := now; infEvento.tpEvento := teInclusaoDFe; infEvento.nSeqEvento := 1; infEvento.detEvento.nProt := nProtocoloAutorizacao; infEvento.detEvento.cMunCarrega := cCodigoMunicipio; infEvento.detEvento.xMunCarrega := xDescricaoMunicipio; InfEvento.detEvento.infDoc.Clear; // o bloco abaixo poderá se repetir por até 2000 vezes with InfEvento.detEvento.infDoc.New do begin cMunDescarga := cCodigoMunicipio; xMunDescarga := xDescricaoMunicipio; chNFe := ChaveNFe; end; end; ACBrMDFe1.EnviarEvento( 1 ); // 1 = Numero do Lote
  14. 5 points
    Bom dia Enviei uma pergunta a SEFAZ/MG, assim que tiver resposta deles eu posto aqui. Atenciosamente.
  15. 5 points
    Boa tarde, Remova o percurso, quando a UF de inicio faz divisa com a UF de fim não se deve informar o percurso. Detalhe, quanto informar o percurso, devemos colocar somente as UFs entre a de inicio e fim, por exemplo: UFIni = SP UFFim = RS ==> Percurso: PR; SC
  16. 5 points
    Bom dia pessoal, Com a versão 3.00a do CT-e temos um novo evento chamado Comprovante de Entrega. Esse evento é emitido pela própria transportadora e não pelo destinatário da mercadoria. Nesse evento temos um campo obrigatório chamado hashEntrega, cuja descrição: Hash (SHA1) no formato Base64 resultante da concatenação: Chave de acesso do CT-e + Base64 da imagem capturada da entrega (Exemplo: imagem capturada da assinatura eletrônica, digital do recebedor, foto, etc) Nota 1: A critério do autor deste evento, este campo pode ser utilizado como índice para acesso as informações do Comprovante de entrega. Nota 2: A SEFAZ não tem nenhum controle sobre a informação deste campo. Observação: 28 caracteres são representados no schema como 20 bytes do tipo base64Binary. Nesse primeiro momento o componente não esta calculado o hash ficando a cargo da aplicação do desenvolvedor, pois vamos verificar a possibilidade de implementar. Para quem utiliza o ACBrMonitor abaixo segue um exemplo de como montar o arquivo INI do evento de Comprovante de Entrega: [EVENTO] idLote=1 [EVENTO001] chCTe= chave do CT-e cOrgao= Codigo da UF CNPJ= CNPJ do emitente dhEvento=25/07/2019 10:30:00 tpEvento=110180 nSeqEvento=1 nProt= numero do protocolo de autorização do CT-e dhEntrega=24/07/2019 17:30:00 nDoc= Documento de identificação da pessoa que recebeu a entrega xNome= Nome da pessoa que recebeu a entrega latitude= Latitude do ponto da entrega (detectado pelo equipamento do transportador, exemplo: PDA, tablet, celular) longitude= Longitude do ponto da entrega (detectado pelo equipamento do transportador, exemplo: PDA, tablet, celular) hashEntrega= Hash (SHA1) no formato Base64 resultante da concatenação: Chave de acesso do CT-e + Base64 da imagem capturada da entrega (Exemplo: imagem capturada da assinatura eletrônica, digital do recebedor, foto, etc) dhHashEntrega= Data e hora da geração do hash da entrega ; xxxx pode variar de 0001 até 2000 [infEntregaxxxx] chNFe= chave da NF-e da mercadoria que foi entregue Para quem utiliza o componente, abaixo temos um exemplo de como enviar o evento em questão: ACBrCTe1.EventoCTe.Evento.Clear; with ACBrCTe1.EventoCTe.Evento.New do begin infEvento.chCTe := ChaveCTe; infEvento.CNPJ := CNPJEmitente; infEvento.dhEvento := now; infEvento.tpEvento := teComprEntrega; infEvento.nSeqEvento := 1; infEvento.detEvento.nProt := nProtocoloAutorizacao; infEvento.detEvento.dhEntrega := datahoraEntrega; infEvento.detEvento.nDoc := NumeroDocumento; infEvento.detEvento.xNome := NomedoRecebedor; infEvento.detEvento.latitude := fLatitude; infEvento.detEvento.longitude := fLongitude; infEvento.detEvento.hashEntrega := hashdaEntrega; infEvento.detEvento.dhHashEntrega := datahhoradoHashEntrega; InfEvento.detEvento.infEntrega.Clear; // o bloco abaixo poderá se repetir por até 2000 vezes with InfEvento.detEvento.infEntrega.New do chNFe := ChaveNFe; end; ACBrCTe1.EnviarEvento( 1 ); // 1 = Numero do Lote
  17. 5 points
    Bom dia a todos, Na pasta: ...\Exemplos\ACBrDFe\Schemas\CTe temos os schemas: cteTiposBasico_v3.00.xsd cteTiposBasico_v3.00_Homologacao.xsd O schema cteTiposBasico_v3.00_Homologacao contempla as mudanças ocorridas na estrutura do XML do CT-e na versão 3.00a, já o outro não contempla. Até o dia 25/08/2019 devemos usar o arquivo cteTiposBasico_v3.00 em nossos clientes uma vez que eles estão emitindo os CT-e em produção. Para aqueles que desejam realizar os testes no ambiente de Homologação deverão seguir os passos abaixo: rename cteTiposBasico_v3.00.xsd cteTiposBasico_v3.00_Producao.xsd rename cteTiposBasico_v3.00_Homologacao.xsd cteTiposBasico_v3.00.xsd A partir do dia 26/08/2019 deveremos enviar para os nossos clientes o arquivo cteTiposBasico_v3.00_Homologacao renomeado para cteTiposBasico_v3.00 Isso se a SEFAZ comprir com as datas publicadas.
  18. 5 points
    Olá pessoal, Para quem utiliza o componente ACBrCTe e necessita emitir um CT-e de Substituição deve alimentar os seguintes campos: Vamos a estrutura completa: with infCTeNorm.infCteSub do begin chCte := chaveCTeOriginal; indAlteraToma := tiNao ou tiSim; // Se atribuir tiSim significa que foi alterado o tomador // Para tomador contribuinte do ICMS tomaICMS.refNFe := chaveNFe; // NF-e de anulação emitenta pelo tomador // ou informações da Nota Fiscal comum de papel emitida pelo tomador tomaICMS.refNF.CNPJCPF := sCNPJCPF; tomaICMS.refNF.modelo := sModelo; tomaICMS.refNF.serie := iSerie; tomaICMS.refNF.subserie := iSubSerie; tomaICMS.refNF.nro := iNumero; tomaICMS.refNF.valor := vValor; tomaICMS.refNF.dEmi := DataEmissao; // ou a chave do CT-e emitido pelo tomador quanto este for uma transportadora tomaICMS.refCte := ChaveCTeTomador; // caso tenha sido emitido o CT-e de Anulação informar a chave do mesmo no campo abaixo refCteAnu := ChaveCTeAnulacao; end; Exemplo 1: Caso tenha sido emitido um CT-e de Anulação with infCTeNorm.infCteSub do begin chCte := chaveCTeOriginal; indAlteraToma := tiNao ou tiSim; // Se atribuir tiSim significa que foi alterado o tomador // CT-e de Anulação informar a chave do mesmo no campo abaixo refCteAnu := ChaveCTeAnulacao; end; Exemplo 2: Caso o tomador tenha emitido uma NF-e de Anulação with infCTeNorm.infCteSub do begin chCte := chaveCTeOriginal; indAlteraToma := tiNao ou tiSim; // Se atribuir tiSim significa que foi alterado o tomador // Para tomador contribuinte do ICMS tomaICMS.refNFe := chaveNFe; // NF-e de anulação emitenta pelo tomador end; Exemplo 3: Caso o tomador tenha emitido uma Nota Fiscal comum de papel with infCTeNorm.infCteSub do begin chCte := chaveCTeOriginal; indAlteraToma := tiNao ou tiSim; // Se atribuir tiSim significa que foi alterado o tomador // Informações da Nota Fiscal comum de papel emitida pelo tomador tomaICMS.refNF.CNPJCPF := sCNPJCPF; tomaICMS.refNF.modelo := sModelo; tomaICMS.refNF.serie := iSerie; tomaICMS.refNF.subserie := iSubSerie; tomaICMS.refNF.nro := iNumero; tomaICMS.refNF.valor := vValor; tomaICMS.refNF.dEmi := DataEmissao; end; Exemplo 4: Caso o tomador seja uma transportadora e tenha emitido um CT-e with infCTeNorm.infCteSub do begin chCte := chaveCTeOriginal; indAlteraToma := tiNao ou tiSim; // Se atribuir tiSim significa que foi alterado o tomador // chave do CT-e emitido pelo tomador quanto este for uma transportadora tomaICMS.refCte := ChaveCTeTomador; end;
  19. 5 points
    Boa tarde, Realizei as outras alterações (praticamente refiz) do leiaute do DAMDFe, contudo tenho apenas como testar o modal rodoviário. (Caso alguém trabalhe com outros modais, e queira testar, ou disponibilizar XMLs de outros modais para que eu faça o teste de impressão, só informar). DAMDFe_3a.fr3
  20. 4 points
    Veja que a última chave no seu arquivo .ini não está formatada corretamente:
  21. 4 points
    Bom dia. Veja também nossa área relativa aos requisitos Fiscais por UF . Att.
  22. 4 points
    Significa que já existe nota com essa numeração transmitida para a SEFAZ mas com o código numérico diferente do que você está tentando consultar. Veja que a verificação é com o código numérico já armazenado em banco de dados da SEFAZ. Como diz a observação da regra, se está usando o certificado digital do próprio emitente da nota você deve receber na mensagem de retorno a chave correta da NFe com essa numeração. De posse dessa chave você pode baixar o XML e comparar com o XML atual para ver se a diferença é apenas no código numérico, ou é outra NFe completamente diferente.
  23. 4 points
    Liberado o WebService de Recepção Síncrono em Homologação Está implantando no ambiente de homologação da SVRS o WebService de Recepção Síncrona do CT-e conforme estabelecido no MOC 3.00a. A URL do serviço e o WSDL podem ser obtidos acessando o menu Serviços do Portal. A liberação ocorreu no dia 02/08/2019, não temos informações de quando será liberado em ambiente de produção. As alterações no componente já estão sendo feitas e serão liberadas, para que vocês possam realizar os testes.
  24. 4 points
    Junior, Primeiro tente enviar essa nota para o ambiente de homologação para ver se ocorre o mesmo erro. Se não ocorrer e a nota for autorizada, significa que o idCSC e CSC que estão na configuração do Monitor são para o ambiente de homologação. Ai sim você solicita ao contador o idCSC e o CSC do ambiente de produção.
  25. 4 points
    Bom dia Ricardo, A geração do código (cNF) recomendado pela SEFAZ é de que ele seja um numero aleatório. Essa recomendação vem de longa data, não é de agora. Lhe pergunto: Qual é a dificuldade de gerar esse código usando a função GerarCodigoDFe que nós implementamos, que por sinal além de gerar o código já valida o mesmo? Qual é a dificuldade de após gerar o mesmo salvar juntamente com os demais dados da nota? Agora, quem desejar criar a sua própria rotina de geração de código, seja através de data, hora, data de aniversário fique a vontade.
  26. 4 points
    Boa tarde! Só a título de esclarecimento Kleber, o campo codigo era usado na nomenclatura antiga do ACBr para cNF, mais tarde foi realizado uma atualização no ACBr e passou-se a aceitar a mesma nomenclatura usada nos manuais, porém continua valendo também a nomenclatura anterior. Portanto o campo codigo no teu arquivo está em uma linha posterior ao campo cNF e foi aceito. E este campo codigo você está informando o mesmo número da nota e agora então vem a rejeição, pois não é mais autorizado pela SEFAZ o codigo aleatório com o mesmo numero da NF e também mais algumas combinações, conforme o Daniel postou no link aonde o Italo explica muito bem o assunto.
  27. 4 points
    Bom dia pessoal, passando apenas para reportar que com a DLL mais atualizada resolveu o problema, agradeço a ajuda e atenção de todos. Tenham um ótimo dia, abraços.
  28. 4 points
    Verifique as tags: O valor do campo modal deve ter apenas 1 dígito numérico. Não foi informado o código do município de carregamento. A linha acima acredito que não devia existir, não encontrei ela no exemplo: https://acbr.sourceforge.io/ACBrMonitor/ModeloMDFeINI.html Também evite colocar aspas dentro do comando, pode ser interpretado pelo monitor como fim dele.
  29. 4 points
    A consulta apenas pela chave de acesso não deveria causar esse erro. A verificação é feita a partir do DigestValue retornado no protocolo de autorização da nota com o DigestValue do XML gerado no momento da assinatura do mesmo. Sem o XML não tem como comparar por isso não deveria dar o erro. Já se o XML estiver carregado no momento da consulta é feita a verificação, não é apenas a data de emissão que interfere, qualquer diferença, por menor que seja, no XML vai causar o erro. O mesmo comando usando qualquer certificado vai retornar normalmente: NFe.ConsultarNFe("28190707684607000187650080000500799800970052") OK: Autorizado o uso da NF-e [Consulta] CStat=100 CUF=28 ChNFe=28190707684607000187650080000500799800970052 DhRecbto=24/07/2019 17:37:43 DigVal=Mn+DDmv6jjLKzUWQ+rXmsL6c9AY= Msg=Autorizado o uso da NF-e NProt=328190000121370 VerAplic=SVRSnfce201809061124 Versao=4.00 XMotivo=Autorizado o uso da NF-e cMsg=0 tpAmb=2 xMsg=
  30. 4 points
    @Ricardo Timm Bonsembiante Me parece ser alguma configuração de página de código. Além do teste do Daniel, que é importante fazê-lo, emita também uma página de teste. Se não me engano, nela informa qual a página de código está configurada na impressora. Em algumas impressoras, há também a opção de habilitar/desabilitar caracteres chineses (mandarim) independente da página de código configurada. Não lembro se é o caso da drm-380. Para verificar e alterar essas configurações, normalmente usa-se o "Tool" do fabricante. Ele está disponível neste link: http://desenvolvedoresdaruma.com.br/drm380/ Obs.: Uso Linux e no momento não consigo te confirmar se esse "Tool" permite fazer essas alterações. Att.
  31. 4 points
    Entrei em contato com o fabricante e deu certo! eles me mandaram o CNPJ 10615281000140 com a senha: CODIGO DE VINCULACAO AC DO MFE-CFE E deu certo! muti obrigado pela ajuda!
  32. 4 points
    Bom dia Jhonlenon, Na sua postagem você escreveu: "Boa tarde, desde do dia 18 de Julho que não estou conseguindo nem consultar NF-e atraves do Manifesto do Destinatario, já atualizei ACBr e schermas e mesmo assim não funciona...print do erro abaixo. " Vamos fazer algumas pequenas correções: Primeiramente, não existe Manifesto do Destinatário e sim Manifestação do Destinatário. Segundo, você não realiza uma consulta da NF-e através da Manifestação, pelo simples fato da Manifestação do Destinatário ser um evento onde você informa a SEFAZ se comprou ou não, se já recebeu ou não a mercadoria referente a uma nota cuja chave da mesma foi informada nesse evento. Terceiro, a consulta que você se refere é feita através do DistribuicaoDFe que a principio retorna um resumo das notas emitidas contra o seu CNPJ ou o XML completo da nota caso esta tenha sido Manifestada pelo destinatário, ou seja, o evento de Manifestação do Destinatário tenha sido enviado. Agora, que culpa temos nós se o Ambiente Nacional que é o responsável pelos serviços do DistribuicaoDFe e Manifestação do Destinatário estar Inativo? Eu tenho o costume diário de acessar os Portais Nacionais da NF-e, CT-e bem como o Portal da SEFAZ-Virtual do Rio Grande do Sul em busca de algum Manual ou Nota Técnica nova que traga alguma alteração na montagem dos XMLs enviados para os Webservices. E com isso fico informado se vem novidades pela frente ou não. E também, diariamente atualizo todos os fontes de todas as pastas. Para finalizar, a imagem com o erro que você anexou diz que o serviço da SEFAZ esta inativo ou inoperante e pede para tentar mais tarde. Pelo menos para mim essa mensagem não deixa nenhuma duvida do que esta ocorrendo.
  33. 4 points
    Bom dia, Para quem utiliza o ACBrMonitorPLUS a propriedade "GerarInfCTeSupl" pode ser configurada para homologação na tela abaixo:
  34. 3 points
  35. 3 points
    o ACBr não é compatível com o OpenSSL 1.1.X... é necessário usar o OpenSSL 1.0.x Nesse vídeo e Documento PDF, é mostrado como montar um ambiente Linux com OpenSuse
  36. 3 points
    Enviado ao repositório, rev. 17460. Obrigado @JeannyPaiva pela contribuição.
  37. 3 points
    Troque: INVERNO D' ITALIA CAFETERIA - EIRELI - ME para: INVERNO D ITALIA CAFETERIA EIRELI, é desta maneira que está no certificado.
  38. 3 points
    Você tem uma aplicação que emite CT-e? Se sim, então esta na hora de agregar mais valor a ela, deixando-a mais completa e desta forma conquistar clientes mais exigentes. No dia do ACBr estarei apresentando a minha palestra com Dicas de Emissão de CT-e. Mostrarei como resolver questões de CT-e errados que não podem mais ser cancelados, como emitir corretamente um CT-e cujo remetente e ou destinatário é outra transportadora e como globalizar vários CT-e em apenas um só. Não percam a oportunidade, no Dia do ACBr estarei presente com os demais consultores no Stand ACBr para esclarecer quaisquer dúvidas que permanecerem. Inscreva-se para o Dia do ACBr 2019 e aproveite a melhor oportunidade para falar pessoalmente com quem realmente entende do assunto. Se tem dúvidas ou gostaria de mais informações, fale com nossa consultora rapidamente por meio do WhatsApp.
  39. 3 points
    As informações para emissão de NFC-e no Ceará podem ser obtidas na Instrução Normativa 17/19 - https://servicos.sefaz.ce.gov.br/internet/download/projetomfe/Instrução Normativa 17_19.pdf A emissão da NFC-e continua passando pelo integrador. Tanto para NFC-e ou MFe(mesmo com comunicação direta) as transações em cartão devem ser informadas via integrador.
  40. 3 points
    Bom dia Utilize o Validador da SEFAZ RS para validar o XML... Note que existem várias divergências nesse XML referentes a Regras de Negócio... https://www.sefaz.rs.gov.br/nfe/nfe-val.aspx
  41. 3 points
    Bom dia! Você deve informar o <indFinal>1</indFinal> e não 0. Se a Operação ocorrer com Consumidor Final, na tag deve-se informar o valor: 1 ; Se a Operação ocorrer com Consumidor Normal, na tag deve-se informar o valor: 0 . Diferença: Outro detalhe, não sei se o CNPJ de destino você está usando como teste ou se será para ele que você vai emitir. Se for para ele este CNPJ não passará, a nota será denegada, pois consta na SEFAZ/PR (Cancelado desde 07/2019) Consulte: http://www.sintegra.fazenda.pr.gov.br/sintegra/ Se você resolver esta questão do CNPJ eu penso que a nota será autorizada com indFinal = 1
  42. 3 points
    Nesse caso você deve usar o objeto ESCPOS para enviar comandos a impressora que abrirá a gaveta... Veja os links abaixo https://acbr.sourceforge.io/ACBrMonitor/PosPrinter.html https://acbr.sourceforge.io/ACBrMonitor/ESCPOSImprimirTags.html Veja a Tag de abertura de Gaveta
  43. 3 points
    Boa tarde. Na equipe de moderação não temos nenhum membro atuando nesta questão. Att.
  44. 3 points
    Bom dia, este desenvolvimento está em andamento... Em breve já subiremos para o SVN as classes com a estrutura WebService para o componente boleto.
  45. 3 points
    Boa tarde Kebe, Que eu saiba a nota fiscal modelo 2 é uma nota fiscal comum de papel que pode ser preenchida a mão, já a NFC-e é a Nota Fiscal ao Consumidor Eletrônica tem que ser emitida via computador. Portanto são documentos distintos, apesar de ter a mesma finalidade, ou seja, acobertar a venda de produtos no varejo para consumidor final.
  46. 3 points
    Bom dia Ricardo As formas que a SEFAZ disponibiliza para baixar Resumos e XMLs dos envolvidos na NFe é através dos métodos DistribuicaoDFe, mas para baixar o XML completo da NFe voce precisa antes enviar um evento de Manifestação de Destinatário (ou seja, está informando que recebeu a mercadoria) após manifestar voce conseguirá utilizar o NFe.DistribuicaoDFePorChaveNFe e baixar o XML completo. Também existem outros métodos DistribuicaoDFe... o DistribuicaoDFeporUltNSU permite baixar os arquivos em lotes sequenciais de 50 documentos, mas funciona da mesma forma... Vai conseguir baixar XMLs completo depois de manifestar a NFe. Veja como enviar evento de Manifestação (note que existe mais de um tipo de Manifestação) e os métodos Distribuição DFe: https://acbr.sourceforge.io/ACBrMonitor/NFEEnviarEvento.html https://acbr.sourceforge.io/ACBrMonitor/NFEDistribuicaoDFe.html
  47. 3 points
    Boa tarde Luiz, Conforme consta no Manual da versão 3.00a do CT-e a tag pICMSInterPart não existe mais. Como a geração do grupo <ICMSUFFim> estava condicionada ao valor da tag pICMSInterPart e foi mudado para vBCUFFim e você atribuiu zero a essa tag o grupo não foi gerado. Para que o grupo seja gerado é preciso informar o valor da base de calculo.
  48. 3 points
  49. 3 points
    Bom dia, Marcos Ramos. Veja o tópico abaixo: Tópico movido para a área do SAC, para que o SLA de respostas seja considerado
  50. 3 points
    Pelos testes que fiz está tudo certo. Enviado ao repositório, rev. 17329. Obrigado @JeannyPaiva pela contribuição.
×
×
  • Create New...