Olá
Devido a mudança de units para reforma tributaria, notamos que foi adicionado uma validação nos campos de CNPJ do CT-e que não é obrigatória, por exemplo quando o "Destinatário" é de outro país(Paraguai).
Gostaria de solicitar um ajuste para essa situação.
A versão nova esta da seguinte forma:
ACBrCTe.XmlWriter.pas
function TCTeXmlWriter.Gerar_Dest: TACBrXmlNode;
...
if CTe.Exped.EnderExped.cPais = 1058 then
Result.AppendChild(AddNodeCNPJCPF('#039', '#040', CTe.Exped.CNPJCPF))
else
Result.AppendChild(AddNodeCNPJ('#039', '00000000000000', CODIGO_BRASIL, True))
...
Obs: dentro do método "AddNodeCNPJ", esta fazendo uma validação do CNPJ, porque foi passado a constante "CODIGO_BRASIL" nos parâmetros.
Sendo que a antiga não validava esse campo quando o pais é diferente de 1058:
pcteCTeW.pas
procedure TCTeW.GerarDest;
...
if CTe.Dest.EnderDest.cPais = 1058 then
Gerador.wCampoCNPJCPF('#179', '#180', CTe.Dest.CNPJCPF)
else
Gerador.wCampo(tcStr, '#179', 'CNPJ', 00, 14, 1, '00000000000000', DSC_CNPJ);
...
Todas as seguintes procedures foram adicionadas a mesma validação:
TCTeW.GerarReceb -> TCTeXmlWriter.Gerar_Receb
TCTeW.GerarExped -> TCTeXmlWriter.Gerar_Exped
TCTeW.GerarRem -> TCTeXmlWriter.Gerar_Rem
TCTeW.GerarDest -> TCTeXmlWriter.Gerar_Dest