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);
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
Espero que esse exemplo ajude quem também estava enfrentando problemas ao alternar layout 1.00 ↔ 2.00 e Regime Normal ↔ Simples Nacional.
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.