Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 09-03-2026 em Posts

  1. Não utilizei este pacote. Para uso do Componente ACBrTEFAPI com o TEF Equals, o pacote utilizado é a versão Embarcado -> ClientLinxTEF_8.22.23.0021_x32-Windows.zip Deixei anexo a versão que estou utilizando atualmente, consegue atualizar e testar ? No Programa Exemplo, você precisa colar as pastas -> Bin, Cupons e Interno junto ao executável do programa exemplo: Inclusive esta versão embarcada foi a que utilizamos para testes e homologação com o roteiro da Equals.
    1 ponto
  2. Sim SilTecnologia. Até onde eu saiba, não é possível fazer a transmissão direta para o ADN aqui em Franca, tem que utilizar a API da Sil.
    1 ponto
  3. Olá pessoal, Após vários testes com o ACBrNFSeX e o provedor ISSSaoPaulo, consegui resolver a questão da alternância entre layout 1.00 e 2.00, tanto para Regime Normal quanto Simples Nacional. O ponto mais crítico é que a ORDEM DE CONFIGURAÇÃO DOS OBJETOS É FUNDAMENTAL. Mesmo com o INI correto, se o Provedor, CodigoMunicipio e Versao forem setados fora da sequência correta, a segunda nota (ou qualquer nota subsequente) herda a configuração da anterior, gerando erros de schema ou rejeição do XML. Exemplo de configuração do INI para São Paulo [3550308] Nome=Sao Paulo UF=SP Provedor=ISSSaoPaulo Versao=*** ProRecepcionar=https://nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx Versao=2.00 ProRecepcionar=https://nfews.prefeitura.sp.gov.br/lotenfe.asmx HomRecepcionar=https://nfews.prefeitura.sp.gov.br/lotenfe.asmx?op=TesteEnvioLoteRPS ProLinkURL=https://nfe.prefeitura.sp.gov.br/nfe.aspx?ccm=%InscMunic%&nf=%NumeroNFSe%&cod=%CodVerif% HomLinkURL=https://nfe.prefeitura.sp.gov.br/nfe.aspx?ccm=%InscMunic%&nf=%NumeroNFSe%&cod=%CodVerif% Observem que cada versão deve ter todas as chaves necessárias, e Versao=*** funciona como fallback para layout 1. Sequência CORRETA de configuração em código Delphi NFSeX.Configuracoes.Geral.Provedor := proISSSaoPaulo; NFSeX.Configuracoes.Geral.CodigoMunicipio := 3550308; if Tb_SaoPauloOptante_SN.AsString = 'N' then NFSeX.Configuracoes.Geral.Versao := ve200 else NFSeX.Configuracoes.Geral.Versao := ve100; NFSeX.SetProvider;//Força recarregamento do provider NFSeX.Configuracoes.Arquivos.PathSchemas := GetInfoPadrao('PastaLocalExe') + 'NFSe_Util\NFSE_Schemas\SP\'; NFSeX.Configuracoes.Arquivos.PathSalvar := GetInfoPadrao('PastaLocalExe') + 'NFSe_Util\Xml\'; ForceDirectories(NFSeX.Configuracoes.Arquivos.PathSalvar); A ORDEM É CRUCIAL: PROVEDOR → CODIGO DO MUNICIPIO → VERSÃO → SETPROVIDER. Alterar essa ordem pode resultar em configuração herdada da nota anterior, principalmente ao processar múltiplas notas em sequência. Testes realizados Emissão de duas notas consecutivas: Regime Normal, versão 2.00 Simples Nacional, versão 1.00 Ambas em modo teste → Sucesso = True Funcionou mesmo processando várias notas sem recriar o componente, desde que a ordem correta seja respeitada. Referências úteis Fórum ACBr – explicação da alternância entre layouts: https://www.projetoacbr.com.br/forum/topic/90324-configurar-acbrnfsex-para-utilizar-leiaute-1-ou-leiaute-2-na-emiss%C3%A3o-de-nota-fiscal-de-servi%C3%A7o-de-s%C3%A3o-paulo-isssaopaulo/?utm_source=chatgpt.com A explicação da ordem e do carregamento do provider está detalhada nesse link. Espero que esse exemplo ajude quem também estava enfrentando problemas ao alternar layout 1.00 ↔ 2.00 e Regime Normal ↔ Simples Nacional. esse tópico pode ser encerrado, com sucesso.
    1 ponto
  4. Por favor, atualize todos os fontes de todas as pastas, reinstale o ACBr e faça novos testes.
    1 ponto
  5. Vê se te ajuda esse é meu código: procedure TDMGeral.EconfEnviar(id:String); var voACBrNFe: TACBrNFe; iLote, cStat: Integer; vStat, xMotivo, vSucess, vErro, vid, vWeb, vProt :String; vbOK, vResult :boolean; begin qryEconf.Close; qryEconf.Params.ParamByName('ECONF_ID').AsString := id; qryEconf.Open; if qryEconf.RecordCount > 0 then begin voACBrNFe := TACBrNFe.Create(Self); LerIniAcbr(voACBrNFe); if qryEconf.FieldByName('MOVI_MODELO_NOTA_FISCAL').AsString = '65' then begin voACBrNFe.Configuracoes.Geral.VersaoDF := ve400; voACBrNFe.Configuracoes.Geral.ModeloDF := moNFCe; end; with voACBrNFe.EventoNFe.Evento.New do begin infEvento.tpAmb := voACBrNFe.Configuracoes.WebServices.Ambiente; infEvento.CNPJ := v_UnidadeEmpresarial.cnpj; infEvento.id := qryEconf.FieldByName('id').AsString; infEvento.nSeqEvento := qryEconf.FieldByName('nSeqEvento').AsInteger; infEvento.chNFe := qryEconf.FieldByName('chNFe').AsString; infEvento.dhEvento := qryEconf.FieldByName('dhEvento').AsDateTime; infEvento.cOrgao := qryEconf.FieldByName('cOrgao').AsInteger; infEvento.tpEvento := teConcFinanceira; infEvento.detEvento.verAplic := '4.7.0.0'; with InfEvento.detEvento.detPag.New do begin indPag := StrToIndpagEX(qryEconf.FieldByName('indPag').AsString); tPag := StrToFormaPagamento(vbOK,qryEconf.FieldByName('tPag').AsString); xPag := qryEconf.FieldByName('xPag').AsString; vPag := qryEconf.FieldByName('vPag').AsCurrency; dPag := qryEconf.FieldByName('dPag').AsDateTime; CNPJPag := qryEconf.FieldByName('CNPJPag').AsString; UFPag := qryEconf.FieldByName('UFPag').AsString; CNPJIF := qryEconf.FieldByName('CNPJIF').AsString; tBand := StrToBandeiraCartao(vbOK,qryEconf.FieldByName('tBand').AsString); cAut := qryEconf.FieldByName('cAut').AsString; CNPJReceb := qryEconf.FieldByName('CNPJReceb').AsString; UFReceb := qryEconf.FieldByName('UFReceb').AsString; end; end; iLote := qryEconf.FieldByName('MOVI_NR_NOTA_FISCAL').AsInteger; try voACBrNFe.EnviarEvento(iLote); except on E:exception do begin vErro := E.Message; vid := qryEconf.FieldByName('id').AsString; vErro := vErro+'|'+voACBrNFe.WebServices.EnvEvento.URL+'|'; Logger('Econf|Erro Envio|'+vid+'|'+vErro+'|'); Logger('Econf|Erro Envio|'+vid+'|'+vErro+'|'); end; end; if vErro = '' then begin cStat := voACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento[0].RetInfEvento.cStat; vStat := DescricaoCStatECONF(cStat); xMotivo := voACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento[0].RetInfEvento.xMotivo+'|'+voACBrNFe.WebServices.EnvEvento.URL+'|'; vProt := voACBrNFe.WebServices.EnvEvento.EventoRetorno.retEvento[0].RetInfEvento.nProt; vSucess := EnvioEConfComSucesso(cStat); end else begin cStat := 0; vStat := ''; xMotivo := ''; vProt := ''; vSucess := 'Nao'; end; EconfSalvar(id, vSucess, IntToStr(cStat), vStat, xMotivo, vErro, vProt); end else Logger('Econf|Nenhum reguistro encontrado |'+id+'|'); end;
    1 ponto
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.