Prezados, boa tarde!
Passamos a utilizar a classe ACBrNFe.XmlWriter para fazer a escrita do XML da NF-e ao invés da utilização da classe pcnNFeW. Assim, passamos a ter problemas ao emitir uma declaração de importação. Começamos a ter o erro TAG%TAGNIVEL$ ID:I19/nDI(Numero do Documento de Importação DI/DSI/DA) - Conteúdo inválido
'0' violates pattern constrairnt of '[1-9]{1}[0-9]{0,2}
The element '{http://www.portalfiscal.inf.br/nfe} nAdicão' with value '0' failed to parse.
Ao realizar a depuração verifiquei que a classe está colocando como obrigatório a geração desta tag e incluindo ela com o valor 0 ocasionando o erro de schemas acima citado.
Result[k].AppendChild(AddNode(tcInt, 'I26', 'nAdicao', 01,
03, 1, NFe.Det[i].Prod.DI[j].adi[k].nAdicao, DSC_NADICAO));
Ao alterar o parâmetro referente a obrigatoriedade a TAG passou a não ser gerada e a NF-e passou a não ter problemas com as validações de schemas
Result[k].AppendChild(AddNode(tcInt, 'I26', 'nAdicao', 01,
03, 0, NFe.Det[i].Prod.DI[j].adi[k].nAdicao, DSC_NADICAO));
No arquivo pcnNFeW.pas a chamada está da seguinte forma, com o parâmetro de obrigatoriedade como 0
Gerador.wCampo(tcInt, 'I26', 'nAdicao ', 01, 03, 0, NFe.Det[i].Prod.DI[j].adi[k].nAdicao, DSC_NADICAO);
A necessidade de não informar a adição se da por ser uma DUIMP conforme nota técnica NT2020.005_v1_21 (segue print abaixo)
Com isso, solicito, por favor, que avaliem a alteração contida no arquivo ACBrNFe.XmlWriter.pas em anexo e realizem o commit dessa alteração.
ACBrNFe.XmlWriter.pas