private void GerarDetImposto(NFe nfe, Imposto imposto, XmlElement root)
{
XmlElement nodeImposto = doc.CreateElement("imposto");
root.AppendChild(nodeImposto);
nodeCurrent = nodeImposto;
wCampo(imposto.vTotTrib, TpcnTipoCampo.tcDec2, TpcnResources.vTotTrib, ObOp.Opcional);
if ((double)nfe.infNFe.Versao < 3.10)
{
if (!string.IsNullOrEmpty(imposto.ISSQN.cSitTrib))
{
GerarDetImpostoISSQN(nfe, imposto, nodeImposto);
}
else
{
GerarDetImpostoICMS(nfe, imposto, nodeImposto);
GerarDetImpostoIPI(nfe, imposto.IPI, nodeImposto);
if (nfe.det[0].Prod.DI.Count > 0)
GerarDetImpostoII(imposto.II, nodeImposto);
}
}
else
{
GerarDetImpostoICMS(nfe, imposto, nodeImposto);
GerarDetImpostoIPI(nfe, imposto.IPI, nodeImposto);
if (nfe.det[0].Prod.DI.Count > 0)
GerarDetImpostoII(imposto.II, nodeImposto);
GerarDetImpostoISSQN(nfe, imposto, nodeImposto);
}
GerarDetImpostoPIS(nfe, imposto.PIS, nodeImposto);
GerarDetImpostoPISST(nfe, imposto.PISST, nodeImposto);
GerarDetImpostoCOFINS(nfe, imposto.COFINS, nodeImposto);
GerarDetImpostoCOFINSST(nfe, imposto.COFINSST, nodeImposto);
}