-
Total de ítens
20 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que Arthur de Freitas Araújo postou
-
Problema no Discord
Arthur de Freitas Araújo replied to Arthur de Freitas Araújo's tópico in Dúvidas Gerais sobre o ACBr
Primeiramente peço desculpas pelo ocorrido! E muito obrigado pela ajuda!!! Deu certo! Muito obrigado. -
Na semana passada quando acessei meu Discord todos os servidores foram desconectados em meu Discord. Realizei a conexão novamente com meus servidores, exceto o Projeto ACBr. Já criei conta alterei de computador e etc. Entrei em contato com a Aline Garcia, e com a agilidade e presteza de sempre ela enviou o link (https://discord.gg/ZjQA3Yey), porém sem sucesso!!! E nada faz eu entrar no servidor do Discord do ACBr. Alguém já passou por isso? Alguém que possa ajudar? Usuário: arthurtiictech E-mail: [email protected]
-
Olá, amigos. Estou tentando usar o ACBrMAIL com o SMTP da MailerSend para envio de email, porém estou recebendo o "erro 530: Authentication Required". Alguém tem alguma dica? ACBrMail.Host := smtp.mailersend.net ACBrMail.Username := @meudominio.com ACBrMail.Password := ** ACBrMail.SetTLS := true; ACBrMail.SetSSL := false; ACBrMail.Port := 587; Desde já muito obrigado pela atenção.
-
Qual Framework ORM ?
Arthur de Freitas Araújo replied to Edson.pol's tópico in Object Pascal - Delphi & Lazarus
Vi, aqui tem como comprar via pagseguro em R$ e parcela em 12x cartão e com emissão de nota fiscal e etc. Obrigado Juliomar. -
Qual Framework ORM ?
Arthur de Freitas Araújo replied to Edson.pol's tópico in Object Pascal - Delphi & Lazarus
Primeiramente, obrigado Valmir pela resposta. Só uma dúvida, você tem a licença TMS Aurelius no valor de 190 euros (R$ 1390,00)? Atende as demandas em geral de desenvolvimento de aplicações VCL? -
Qual Framework ORM ?
Arthur de Freitas Araújo replied to Edson.pol's tópico in Object Pascal - Delphi & Lazarus
Boa tarde, amigo! Você usou algum desses? Como foi? Comenta ai sua experiência? Gostaria de indicação de um Framework ORM para uso em Delphi + Firebird. Desde já obrigado pela atenção. -
Erro emissão cte na versão 4.0 em homologação
Arthur de Freitas Araújo replied to hugolmf's tópico in ACBrCTe
Depois das correções, está funcionando. Muito obrigado a todos os envolvidos. -
Erro emissão cte na versão 4.0 em homologação
Arthur de Freitas Araújo replied to hugolmf's tópico in ACBrCTe
RESPOSTA: Ref. a mensagem: 1.415.439 - DOCUMENTOS ELETRÔNICOS > CT-e > CONTINGÊNCIA / TRANSMISSÃO / VALIDAÇÃO Senhor(a), Conforme retorno do setor responsável, informamos que em MG, a versão CT-e 4.0 em HOMOLOGAÇÃO/TESTE já está no ar desde o dia 22/5/2023. Consta no Manual de orientação que a previsão em Produção será em Junho/2023. Contudo, segundo a STI, ainda não há data específica confirmada. Há de se destacar que as duas versões costumam funcionar juntas por uns 6 meses. Quando em MG for interrompida a versão 3.0, a informação da data será disponibilizada no portal SPED em ( http://www.sped.fazenda.mg.gov.br/spedmg/ ). Nesse sentido, se ao efetuar testes do CT-e em ambiente de HOMOLOGAÇÃO e observar a ocorrência de erros, deverá nos encaminhar os arquivos XML de envio e o XML de retorno (correspondente ao XML de envio), contendo a rejeição/erro para verificação. Sem tais arquivos, a análise ficará comprometida. O Arquivo XML de envio do documento (aquele de envio no emissor para autorização) deverá estar assinado, ou seja, o campo " SignatureValue " do XML deverá estar preenchido, comprovando a assinatura. Obs.: Nos dois arquivos acima, os campos "</DigestValue>" e "digVal" deverão ser iguais. Quase sempre assim! Nunca somos respondidos pela SEF/MG com soluções/ajuda aproveitável kkkkkk. -
Erro emissão cte na versão 4.0 em homologação
Arthur de Freitas Araújo replied to hugolmf's tópico in ACBrCTe
Na data de hoje 15/06/2023 as 10:59, ainda continua o erro: Ambiente: Homologação Erro Interno: 0 Erro HTTP: 500 URL: https://hcte.fazenda.mg.gov.br/cte/services/CTeRecepcaoSincV4 <?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope"> <S:Body><S:Fault xmlns:ns4="http://schemas.xmlsoap.org/soap/envelope/"><S:Code><S:Value>S:Sender</S:Value> </S:Code><S:Reason><S:Text xml:lang="en">Cannot find dispatch method for {http://www.portalfiscal.inf.br/cte/wsdl/CTeRecepcaoSincV4}cteDadosMsg</S:Text> </S:Reason></S:Fault></S:Body></S:Envelope> Abri uma reclamação junto a Secretaria de Estado de Fazenda de Minas Gerais - SEF/MG - SEF/MG. Aguardando resposta... -
Bom dia Ítalo, desde já obrigado pelo retorno. Ítalo disse: "Pelo que me recordo ele deveria criar uma pasta chamada Evento e dentro desta uma pasta com o nome do tipo de evento (por Exemplo: Cancelamento) e dentro desta salvar os XMLs do evento em questão." Não está comportando assim não! Vou analisar pode ser alguma coisa no meu código!
-
Bom dia, hoje meu componente está configurado assim: with ACBrNFe.Configuracoes.Arquivos do begin // Configura caminho dos arquivos Salvar := false; SepararPorMes := true; AdicionarLiteral := false; if dados.qryConfigLITERAL.Value = 'S' then AdicionarLiteral := true; EmissaoPathNFe := true; SalvarEvento := true; SepararPorCNPJ := true; SepararPorModelo := false; PathSalvar := dados.qryConfigPATHSALVAR.Value; PathSchemas := dados.qryConfigPATHSCHEMAS.Value; PathNFe := dados.qryConfigPATHNFE.Value; PathInu := dados.qryConfigPATHINUTI.Value; PathEvento := dados.qryConfigPATHEVENTO.Value; end; Só que mesmo setando "PathEvento" está salvando na pasta "C:\MeuSistema\NFCe\xml", pelo que olhei essa pasta é padrão. Gostaria de salvar em uma pasta especifica e de alterar o nome do evento.xml. Desde já muito obrigado.
-
Mais uma dúvida, como faço para alterar o nome do arquivo XML desse evento? Exemplo: Evento salva o nome do arquivo 31211016000685000103650010000002509000038270-sit.xml gostaria de alterar o nome desse evento para 31211016000685000103650010000002509000038270-CancelSubst.xml, ou seja, no final do nome do arquivo colocar "-CancelSubst.xml" Desde já agradeço a atenção de todos.
-
Salvar Evento Cancelamento Por Substituição
um tópico no fórum postou Arthur de Freitas Araújo NFC-e - Nota Fiscal do Consumidor Eletrônica
Boa tarde a todos. Estou com a seguinte duvida sobre salvar o evento de cancelamento por substituição em uma pasta especifica usando o ACBr. Hoje tenho a estrutura de pastas C:\MeuSistema\NFCe\ dentro dessa pasta tem as subpastas Enviadas, Canceladas e etc (Organizado por CNPJ, Ano, Mês). Gostaria de ao realizar o cancelamento por substituição com ACBr, os XML referentes ao evento do cancelamento sejam salvos na pasta C:\MeuSistema\NFCe\Canceladas (Organizado por CNPJ, Ano, Mês). Hoje o ACBr está salvando na pasta C:\MeuSistema\NFCe\xml onde está sendo salvo todos os eventos gerados no sistema. A necessidade principal é porque os contadores estão solicitando os XML dos cancelamentos e fica difícil e trabalhoso encontrar os respectivos XML de Cancelamentos. Desde já agradeço a atenção de todos. -
Bom dia, acho que encontrei a solução, fiz o seguinte: 1º Quando tento enviar para a Sefaz/MG e ocorre o erro eu agora salvo o XML Assinado no Banco. Antes estava salvando XML sem assinatura e apenas assinava na hora da consulta; 2º Na hora da Consulta uso o método (ACBrNFe.NotasFiscais.LoadFromString(qryNFCeGravadasXMLASSINADO.Value) com o XML Assinado, garantindo a igualdade dos XML entre Sefaz e meu Sistema; Estou realizando os teste e em homologação tá tudo certo! Obrigado.
-
Primeiramente muito obrigado pela ajuda, BigWings! Está gravando o XML dessa nota, pra depois tentar consultar e cancelar/inutilizar? Sim! Eu salvo o XML original que não obtive resposta da Sefaz/MG. Ai depois um "robô" tenta recuperar e cancelar por substituição essa NFC-e. ACBrNFe.Configuracoes.Arquivos.PathEvento := dados.qryConfigPATHCAN.Value; try Chave := Trim(OnlyNumber(qryNFCeGravadasCHAVE.Value)); idLote := '1'; CNPJ := copy(Chave, 7, 14); Protocolo := qryNFCeGravadasPROTOCOLO.Value; Justificativa := 'Cancelamento Por Substituição Devido a Falta de Retorno no Envio da NFC-e.' + ' Assim Foi emitida a NFC-e Nº: '+ IntToStr(qryNFCeGravadasNUMERO.AsInteger + 1) + 'Série: ' + qryNFCeGravadasSERIE.AsString + ' como Substituta.'; ACBrNFe.EventoNFe.Evento.Clear; with ACBrNFe.EventoNFe.Evento.Add do begin infEvento.chNFe := Chave; infEvento.CNPJ := CNPJ; infEvento.dhEvento := now; infEvento.tpEvento := teCancSubst; infEvento.detEvento.cOrgaoAutor := Dados.qryEmpresaID_UF.Value; infEvento.detEvento.tpAutor := taEmpresaEmitente; infEvento.detEvento.verAplic := '1'; infEvento.detEvento.chNFeRef := qryNFCeGravadasCHAVE_SUBSTITUTA.Value; infEvento.detEvento.xJust := Justificativa; infEvento.detEvento.nProt := Protocolo; end; ACBrNFe.EnviarEvento(StrToInt(idLote)); if ACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat = 135 then begin ACBrNFe.NotasFiscais.Clear; ACBrNFe.WebServices.Consulta.NFeChave := qryNFCeGravadasCHAVE.Value; ACBrNFe.WebServices.Consulta.Executar; if ACBrNFe.WebServices.Consulta.cStat = 101 then begin qryNFCeGravadas.Edit; qryNFCeGravadasSITUACAO.Value := 'C'; qryNFCeGravadasCANCEL_SUBSTITUICAO.Value := 'C'; qryNFCeGravadasMOTIVOCANCELAMENTO.Value := Justificativa; qryNFCeGravadasFK_VENDA.Clear; qryNFCeGravadasFLAG.Value := 'N'; qryNFCeGravadasABERTO.Value := 'N'; qryNFCeGravadas.Post; Dados.Conexao.Commit; ACBrNFe.NotasFiscais.GravarXML(); memoLog.Lines.Add(' Retorno: 101 - Cancelamento por Substituição'); memoLog.Lines.Add(' Status: Cancelada'); memoLog.Lines.Add('-----------------------------------------------------------------'); end; end Continua... O interessante é que antes o cancelamento por substituição estava funcionando normalmente. Outro detalhe, o XML salvo no banco é o mesmo que tentei enviar sem alteração.
-
Caros amigos, Estou com o seguinte problema quando ocorre instabilidade no servidor de Autorização de NFC-e na Sefaz/MG. Faço a segue rotina a abaixo: 1º Tento enviar NFC-e, exemplo, Número: 20 e ocorre da Sefaz/MG não retorna a autorização; 2º Gero uma nova NFC-e com Número: 21 no modo Contingência/Offline; 3º Após período configurado o sistema tentar enviar as NFC-e em Offline; 4º Já as NFC-e que ficaram pendentes por falta de retorno da Sefaz/MG, eu tento recuperar a NFC-e, caso a mesma não conste na Base da Sefaz/MG eu Inutilizo. Agora se a NFC-e existe na Sefaz/MG faço o Cancelamento por Substituição; O erro ocorre no momento do Cancelamento por Substituição, assim que cancelo retorna o erro: "DigestValue do documento CHAVE DE ACESSO não confere". Sei que foi cancelada porque pego a chave de acesso e vejo o cancelamento no SPED/MG. Estava tudo funcionando corretamente, o erro começou após o dia 01/10/2021, abaixo segue o código que estou usando para Cancelamento Por Substituição; procedure TFrmPDV.CancelamentoSubstituicao; var Chave, idLote, CNPJ, Protocolo, Justificativa: string; begin if (Trim(qryNFCeGravadasCHAVE_SUBSTITUTA.Value) <> '') and (qryNFCeGravadasSITUACAO.Value = 'G') then begin if Length(qryNFCeGravadasCHAVE_SUBSTITUTA.Value) <> 44 then begin memoLog.Lines.Add(' Erro: Chave de Acesso Substituta invalida! Chave deve Conter 44 números.'); memoLog.Lines.Add('-----------------------------------------------------------------'); exit; end; end; // Recuperar o Protocolo if (qryNFCeGravadasPROTOCOLO.IsNull) or (Trim(qryNFCeGravadasPROTOCOLO.Value) = '') then begin if ACBrNFe.WebServices.Consulta.cStat = 100 then begin qryNFCeGravadas.Edit; qryNFCeGravadasCHAVE.Value := copy(ACBrNFe.NotasFiscais.Items[0].NFe.infNFe.id, 4, 100); qryNFCeGravadasPROTOCOLO.Value := ACBrNFe.NotasFiscais.Items[0].NFe.procNFe.nProt; qryNFCeGravadasXML.Value := ACBrNFe.NotasFiscais.Items[0].XMLAssinado; qryNFCeGravadasFLAG.Value := 'N'; qryNFCeGravadasABERTO.Value := 'N'; qryNFCeGravadas.Post; Dados.Conexao.Commit; ACBrNFe.NotasFiscais.Items[0].GravarXML(); end else begin memoLog.Lines.Add('Status: ' + #13 + IntToStr(ACBrNFe.WebServices.Consulta.cStat) + '-' + ACBrNFe.WebServices.Consulta.XMotivo); memoLog.Lines.Add('-----------------------------------------------------------------'); exit; end; end; if (qryNFCeGravadasPROTOCOLO.IsNull) or (Trim(qryNFCeGravadasPROTOCOLO.Value) = '') then begin memoLog.Lines.Add(' Erro: Não é possível efetuar o Cancelamento da NFC-e! Não Existe Protocolo de Autorização.'); memoLog.Lines.Add('-----------------------------------------------------------------'); exit; end; // Valida se Chave Substituta Foi Transmitida Dados.qryConsulta.SQL.Clear; Dados.qryConsulta.SQL.Text := 'SELECT NUMERO FROM NFCE_MASTER WHERE SITUACAO=''T'' AND CHAVE=:chave'; Dados.qryConsulta.Params[0].Value := qryNFCeGravadasCHAVE_SUBSTITUTA.AsString; Dados.qryConsulta.Open; if Dados.qryConsulta.IsEmpty then exit; ACBrNFe.Configuracoes.Arquivos.PathEvento := dados.qryConfigPATHCAN.Value; try Chave := Trim(OnlyNumber(qryNFCeGravadasCHAVE.Value)); idLote := '1'; CNPJ := copy(Chave, 7, 14); Protocolo := qryNFCeGravadasPROTOCOLO.Value; Justificativa := 'Cancelamento Por Substituição Devido a Falta de Retorno no Envio da NFC-e.' + ' Assim Foi emitida a NFC-e Nº: '+ IntToStr(qryNFCeGravadasNUMERO.AsInteger + 1) + 'Série: ' + qryNFCeGravadasSERIE.AsString + ' como Substituta.'; ACBrNFe.EventoNFe.Evento.Clear; with ACBrNFe.EventoNFe.Evento.Add do begin infEvento.chNFe := Chave; infEvento.CNPJ := CNPJ; infEvento.dhEvento := now; infEvento.tpEvento := teCancSubst; infEvento.detEvento.cOrgaoAutor := Dados.qryEmpresaID_UF.Value; infEvento.detEvento.tpAutor := taEmpresaEmitente; infEvento.detEvento.verAplic := '1'; infEvento.detEvento.chNFeRef := qryNFCeGravadasCHAVE_SUBSTITUTA.Value; infEvento.detEvento.xJust := Justificativa; infEvento.detEvento.nProt := Protocolo; end; ACBrNFe.EnviarEvento(StrToInt(idLote)); if ACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat = 135 then begin ACBrNFe.NotasFiscais.Clear; ACBrNFe.WebServices.Consulta.NFeChave := qryNFCeGravadasCHAVE.Value; ACBrNFe.WebServices.Consulta.Executar; if ACBrNFe.WebServices.Consulta.cStat = 101 then begin qryNFCeGravadas.Edit; qryNFCeGravadasSITUACAO.Value := 'C'; qryNFCeGravadasCANCEL_SUBSTITUICAO.Value := 'C'; qryNFCeGravadasMOTIVOCANCELAMENTO.Value := Justificativa; qryNFCeGravadasFK_VENDA.Clear; qryNFCeGravadasFLAG.Value := 'N'; qryNFCeGravadasABERTO.Value := 'N'; qryNFCeGravadas.Post; Dados.Conexao.Commit; ACBrNFe.NotasFiscais.GravarXML(); memoLog.Lines.Add(' Retorno: 101 - Cancelamento por Substituição'); memoLog.Lines.Add(' Status: Cancelada'); memoLog.Lines.Add('-----------------------------------------------------------------'); end; end else if ACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat = 910 then begin memoLog.Lines.Add(' Rejeição 910: Chave de Acesso NF-e Substituta inválida.'); memoLog.Lines.Add('-----------------------------------------------------------------'); exit; end else if ACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat = 911 then begin memoLog.Lines.Add(' Rejeição 911: Chave de Acesso NF-e Substituta incorreta.'); memoLog.Lines.Add('-----------------------------------------------------------------'); exit; end else if ACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat = 912 then begin memoLog.Lines.Add(' Rejeição 912: NF-e Substituta inexistente'); memoLog.Lines.Add('-----------------------------------------------------------------'); exit; end else if ACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat = 913 then begin memoLog.Lines.Add(' Rejeição 913: NF-e Substituta Denegada ou Cancelada.'); memoLog.Lines.Add('-----------------------------------------------------------------'); exit; end else if ACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat = 914 then begin memoLog.Lines.Add(' Rejeição 914: Data de emissão da NF-e Substituta maior que 2 horas da data de emissão da NFe a ser cancelada.'); memoLog.Lines.Add('-----------------------------------------------------------------'); exit; end else if ACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat = 915 then begin memoLog.Lines.Add(' Rejeição 915: Valor total da NF-e Substituta difere do valor da NF-e a ser cancelada.'); memoLog.Lines.Add('-----------------------------------------------------------------'); exit; end else if ACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat = 916 then begin memoLog.Lines.Add(' Rejeição 916: Valor total do ICMS da NF-e Substituta difere do valor da NF-e a ser cancelada.'); memoLog.Lines.Add('-----------------------------------------------------------------'); exit; end else if ACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat = 917 then begin memoLog.Lines.Add(' Rejeição 917: Identificação do destinatário da NF-e Substituta difere da identificação do destinatário da NF-e a ser cancelada.'); memoLog.Lines.Add('-----------------------------------------------------------------'); exit; end else if ACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat = 918 then begin memoLog.Lines.Add(' Rejeição 918: Quantidade de itens da NF-e Substituta difere da quantidade de itens da NF-e a ser cancelada.'); memoLog.Lines.Add('-----------------------------------------------------------------'); exit; end else if ACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat = 919 then begin memoLog.Lines.Add(' Rejeição 919: Item da NF-e Substituta difere do mesmo item da NF-e a ser cancelada.'); memoLog.Lines.Add('-----------------------------------------------------------------'); exit; end else if ACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat = 920 then begin memoLog.Lines.Add(' Rejeição 920 - Tipo de Emissão inválido no cancelamento por substituição.'); memoLog.Lines.Add('-----------------------------------------------------------------'); exit; end else begin memoLog.Lines.Add(' Status: ' + IntToStr(ACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat) + '-' + ACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo); memoLog.Lines.Add('-----------------------------------------------------------------'); exit; end; except on E: Exception do begin memoLog.Lines.Add('-----------------------------------------------------------------'); memoLog.Lines.Add(' ERROR: ' + E.Message); memoLog.Lines.Add('-----------------------------------------------------------------'); exit; end; end; end; Desde já agradeço pela atenção e ajuda de todos. Att, Arthur
-
BigWings, primeiramente muito obrigado pela ajuda. Conseguir encontrar aqui um topico https://www.projetoacbr.com.br/forum/topic/61714-rejeição-539-duplicidade-de-nf-e-com-diferença-na-chave-de-acesso-estado-goiás/?tab=comments#comment-404456 Na consulta pela chave de acesso, desde que esteja usando o certificado do próprio emitente, deveria retornar a rejeição 562 "Código Numérico informado na Chave de Acesso difere do Código Numérico da NF-e [chNFe:99999999999999999999999999999999999999999999]" também com a chave que consta na SEFAZ como no exemplo. E realmente retorna a chave que está com duplicidade, assim consigo recuperar a chave e recuperar o XML. Essa comunidade é show! Só gratidão por existir
-
Bom dia! Gostaria de saber se existe um local onde consigo acessar as NFC-e emitidas por minha empresa? Motivo é simples existe duplicidade por divergência de chave de acesso e agora não consigo recuperar o XML da nota porque não tenho a chave. Observação, essa semana passada a Sefaz MG está com lentidão e as vezes não retorna o XML autorizado e tenho tido varias duplicidade de notas. Algumas consigo recuperar e fica tudo certo! Desde já agradeço pela atenção. Obrigado.