Esquemas XML NF-e/NFC-e - Pacote de Liberação nº 9i (Novo leiaute da NF-e, NT 2021.004 v.1.00). Publicado em 06/01/22
rabraga opened this issue · 13 comments
Boas!
A SEFAZ liberou ontem 06/01/220 o novo PL_009i_NT2021_004_v100a, segue em anexo.
PL_009i_NT2021_004_v100a.zip
Entra é produção apenas em 04/04/2022 e em homologação apenas em 01/02/2022
Sim @robmachado, inclusive nesta data tem outras obrigações fiscais. Como vc faz para controlar estas datas e quais arquivos usar?
Pois é ... isso é dificil algumas alterações não impactam muito e podem ser feitas com antecedência outras requerem a criação de outra branch e testes em homologação e na data adequada é feito um merge dessa branch especifica para a branch master
No caso dessa NT em particular em janeiro farei uma branch especifica para ela e poderei testar a partir de fevereiro, e em abril uns dias antes do dia 04/04/22 faço o merge com master e no dia 03 ou 04 faço o release
Antes era possível configurar qual diretório pegar o schemes, mas agora é sempre do schemes/PL_009_V4.
Tô pensando em implementar na minha aplicação uma rotina verificando a data atual do servidor, se for >= 04/04/2022 substitui os arquivos XSD.
É impossível atualizar os meus clientes no dia da entrada em produção.
Então isso pode ser usado mas não é só o XSD que vai mudar tem campos novos e alterados então tem alterações na Make, eu uso esse apontamento de XSD no config é passado o nome do schema a ser usado
e a versão do layout
é... no meu caso, não uso a Make.
Na tool tem definido $availableVersions = ['4.00' => 'PL_009_V4']; então se for versão 4.00 sempre vai ser pathschemes = /../../schemes/PL_009_V4.
Por isso que disse que sempre vai ser os arquivos XSD que estão neste diretório. Não adianda mais passar no config o schemes.
Poderiamos mudar isto?
Na function version($version = null)
$this->config->schemes = $this->availableVersions[$version];
poderia ser:
if (!isset($this->config->schemes)) $this->config->schemes = $this->availableVersions[$version];
Aí sim conseguimos falar qual é o pathschemes.
Essa forma que está ai eu coloquei porque os caras não ajustavam quando os schemas mudavam ai ficava a gritaria que não está funcionando, mas dá para alterar sim deixa que eu dou uma olhada nisso no fim de semana
Fiz um pequeno ajuste e se o schema for passado no config ele será usado prioritariamente se não for passado será usado o que está na propriedade da classe.
Também subi as alterações para CE que entram em vigor apenas no dia 10/01/22
Show! Então agora consigo fazer na minha aplicação o seguinte:
De acordo com o tipo do ambiente, se a data de hoje é maior ou igual a 01/02/2022 (homologação) passo a usar o PL_009i_NT2021_004_v100a criado em nfephp-org\sped-nfe\schemes\ com os novos arquivos XSD.
// verifica se tem o diretório que entrará em homologação/produção na data X
if ($tipo_ambiente == 2) {
$config_schemas_dt = '01/02/2022';
if (dt(hoje()) >= dt($config_schemas_dt)) {
$config_schemas = 'PL_009i_NT2021_004_v100a';
$texto = "INFO - Em HOMOLOGAÇÃO entra na data [$config_schemas_dt] o eschema [$config_schemas]";
reg_log($texto, $log, 'INFO', $path);
}
} else if ($tipo_ambiente == 1) {
$config_schemas_dt = '04/04/2022';
if (dt(hoje()) >= dt($config_schemas_dt)) {
$config_schemas = 'PL_009i_NT2021_004_v100a';
$texto = "INFO - Em HOMOLOGAÇÃO entra na data [$config_schemas_dt] o eschema [$config_schemas]";
reg_log($texto, $log, 'INFO', $path);
}
}
Valewww Roberto!!!
Presta atenção olha o noma da PASTA com os schemas
alguém possui aplicativo para fazer download de XML como CONTADOR (onde pode-se usar períodos maiores que 1 mês) de empresas na SEFAZ/RS Att. Rodrigo Bresolin Em qui., 6 de jan. de 2022 às 09:44, Ramon Loureiro < @.> escreveu:
…
Boas! A SEFAZ liberou ontem 06/01/220 o novo PL_009i_NT2021_004_v100a, segue em anexo. PL_009i_NT2021_004_v100a.zip https://github.com/nfephp-org/sped-nfe/files/7821861/PL_009i_NT2021_004_v100a.zip — Reply to this email directly, view it on GitHub <#908>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AP4QY75FA764VZNB7LQ6GSTUUWFD5ANCNFSM5LMIBLQA . You are receiving this because you are subscribed to this thread.Message ID: @.>
@rbresoling , é o que mais tem por aqui.