private void GerarTotal(NFe NFe, XmlElement root)
{
XmlElement nodeTotal = doc.CreateElement("total");
root.AppendChild(nodeTotal);
#region --ICMSTot
nodeCurrent = doc.CreateElement("ICMSTot");
nodeTotal.AppendChild(nodeCurrent);
wCampo(NFe.Total.ICMSTot.vBC, TpcnTipoCampo.tcDec2, TpcnResources.vBC);
wCampo(NFe.Total.ICMSTot.vICMS, TpcnTipoCampo.tcDec2, TpcnResources.vICMS);
if ((double)NFe.infNFe.Versao >= 3.10)
{
wCampo(NFe.Total.ICMSTot.vICMSDeson, TpcnTipoCampo.tcDec2, TpcnResources.vICMSDeson);
wCampo(NFe.Total.ICMSTot.vICMSUFDest, TpcnTipoCampo.tcDec2, TpcnResources.vICMSUFDest, ObOp.Opcional);
wCampo(NFe.Total.ICMSTot.vICMSUFRemet, TpcnTipoCampo.tcDec2, TpcnResources.vICMSUFRemet, ObOp.Opcional);
}
wCampo(NFe.Total.ICMSTot.vBCST, TpcnTipoCampo.tcDec2, TpcnResources.vBCST);
wCampo(NFe.Total.ICMSTot.vST, TpcnTipoCampo.tcDec2, TpcnResources.vST);
wCampo(NFe.Total.ICMSTot.vProd, TpcnTipoCampo.tcDec2, TpcnResources.vProd);
wCampo(NFe.Total.ICMSTot.vFrete, TpcnTipoCampo.tcDec2, TpcnResources.vFrete);
wCampo(NFe.Total.ICMSTot.vSeg, TpcnTipoCampo.tcDec2, TpcnResources.vSeg);
wCampo(NFe.Total.ICMSTot.vDesc, TpcnTipoCampo.tcDec2, TpcnResources.vDesc);
wCampo(NFe.Total.ICMSTot.vII, TpcnTipoCampo.tcDec2, TpcnResources.vII);
wCampo(NFe.Total.ICMSTot.vIPI, TpcnTipoCampo.tcDec2, TpcnResources.vIPI);
wCampo(NFe.Total.ICMSTot.vPIS, TpcnTipoCampo.tcDec2, TpcnResources.vPIS);
wCampo(NFe.Total.ICMSTot.vCOFINS, TpcnTipoCampo.tcDec2, TpcnResources.vCOFINS);
wCampo(NFe.Total.ICMSTot.vOutro, TpcnTipoCampo.tcDec2, TpcnResources.vOutro);
wCampo(NFe.Total.ICMSTot.vNF, TpcnTipoCampo.tcDec2, TpcnResources.vNF);
wCampo(NFe.Total.ICMSTot.vTotTrib, TpcnTipoCampo.tcDec2, TpcnResources.vTotTrib, ObOp.Opcional);
#endregion
#region --ISSQNtot
if ((NFe.Total.ISSQNtot.vServ > 0) ||
(NFe.Total.ISSQNtot.vBC > 0) ||
(NFe.Total.ISSQNtot.vISS > 0) ||
(NFe.Total.ISSQNtot.vPIS > 0) ||
(NFe.Total.ISSQNtot.vCOFINS > 0))
{
nodeCurrent = doc.CreateElement("ISSQNtot");
nodeTotal.AppendChild(nodeCurrent);
wCampo(NFe.Total.ISSQNtot.vServ, TpcnTipoCampo.tcDec2, TpcnResources.vServ, ObOp.Opcional);
wCampo(NFe.Total.ISSQNtot.vBC, TpcnTipoCampo.tcDec2, TpcnResources.vBC, ObOp.Opcional);
wCampo(NFe.Total.ISSQNtot.vISS, TpcnTipoCampo.tcDec2, TpcnResources.vISS, ObOp.Opcional);
wCampo(NFe.Total.ISSQNtot.vPIS, TpcnTipoCampo.tcDec2, TpcnResources.vPIS, ObOp.Opcional);
wCampo(NFe.Total.ISSQNtot.vCOFINS, TpcnTipoCampo.tcDec2, TpcnResources.vCOFINS, ObOp.Opcional);
if ((double)NFe.infNFe.Versao >= 3.10)
{
wCampo(NFe.Total.ISSQNtot.dCompet, TpcnTipoCampo.tcDatYYYY_MM_DD, TpcnResources.dCompet, ObOp.Opcional);
wCampo(NFe.Total.ISSQNtot.vDeducao, TpcnTipoCampo.tcDec2, TpcnResources.vDeducao, ObOp.Opcional);
//wCampo(NFe.Total.ISSQNtot.vINSS, TpcnTipoCampo.tcDec2, TpcnResources.vINSS, ObOp.Opcional);
//wCampo(NFe.Total.ISSQNtot.vIR, TpcnTipoCampo.tcDec2, TpcnResources.vIR, ObOp.Opcional);
//wCampo(NFe.Total.ISSQNtot.vCSLL, TpcnTipoCampo.tcDec2, TpcnResources.vCSLL, ObOp.Opcional);
wCampo(NFe.Total.ISSQNtot.vOutro, TpcnTipoCampo.tcDec2, TpcnResources.vOutro, ObOp.Opcional);
wCampo(NFe.Total.ISSQNtot.vDescIncond, TpcnTipoCampo.tcDec2, TpcnResources.vDescIncond, ObOp.Opcional);
wCampo(NFe.Total.ISSQNtot.vDescCond, TpcnTipoCampo.tcDec2, TpcnResources.vDescCond, ObOp.Opcional);
wCampo(NFe.Total.ISSQNtot.vISSRet, TpcnTipoCampo.tcDec2, TpcnResources.vISSRet, ObOp.Opcional);
//wCampo(NFe.Total.ISSQNtot.indISSRet ? "1":"2", TpcnTipoCampo.tcStr, TpcnResources.indISSRet);
//wCampo((int)NFe.Total.ISSQNtot.indISS, TpcnTipoCampo.tcInt, TpcnResources.indISS);
//wCampo(NFe.Total.ISSQNtot.cServico, TpcnTipoCampo.tcStr, TpcnResources.cServico, ObOp.Opcional);
//wCampo(NFe.Total.ISSQNtot.cMun, TpcnTipoCampo.tcInt, TpcnResources.cMun, ObOp.Opcional);
//wCampo(NFe.Total.ISSQNtot.cPais, TpcnTipoCampo.tcInt, TpcnResources.cPais, ObOp.Opcional);
//wCampo(NFe.Total.ISSQNtot.nProcesso, TpcnTipoCampo.tcStr, TpcnResources.nProcesso, ObOp.Opcional);
//wCampo(NFe.Total.ISSQNtot.vISSRet, TpcnTipoCampo.tcDec2, TpcnResources.vISSRet, ObOp.Opcional);
wCampo((int)NFe.Total.ISSQNtot.cRegTrib, TpcnTipoCampo.tcInt, TpcnResources.cRegTrib, ObOp.Opcional);
//wCampo(NFe.Total.ISSQNtot.indIncentivo ? 1:2 , TpcnTipoCampo.tcInt, TpcnResources.indIncentivo);
}
}
#endregion
#region --retTrib
if ((NFe.Total.retTrib.vRetPIS > 0) ||
(NFe.Total.retTrib.vRetCOFINS > 0) ||
(NFe.Total.retTrib.vRetCSLL > 0) ||
(NFe.Total.retTrib.vBCIRRF > 0) ||
(NFe.Total.retTrib.vIRRF > 0) ||
(NFe.Total.retTrib.vBCRetPrev > 0) ||
(NFe.Total.retTrib.vRetPrev > 0))
{
nodeCurrent = doc.CreateElement("retTrib");
nodeTotal.AppendChild(nodeCurrent);
wCampo(NFe.Total.retTrib.vRetPIS, TpcnTipoCampo.tcDec2, TpcnResources.vRetPIS, ObOp.Opcional);
wCampo(NFe.Total.retTrib.vRetCOFINS, TpcnTipoCampo.tcDec2, TpcnResources.vRetCOFINS, ObOp.Opcional);
wCampo(NFe.Total.retTrib.vRetCSLL, TpcnTipoCampo.tcDec2, TpcnResources.vRetCSLL, ObOp.Opcional);
wCampo(NFe.Total.retTrib.vBCIRRF, TpcnTipoCampo.tcDec2, TpcnResources.vBCIRRF, ObOp.Opcional);
wCampo(NFe.Total.retTrib.vIRRF, TpcnTipoCampo.tcDec2, TpcnResources.vIRRF, ObOp.Opcional);
wCampo(NFe.Total.retTrib.vBCRetPrev, TpcnTipoCampo.tcDec2, TpcnResources.vBCRetPrev, ObOp.Opcional);
wCampo(NFe.Total.retTrib.vRetPrev, TpcnTipoCampo.tcDec2, TpcnResources.vRetPrev, ObOp.Opcional);
}
#endregion
}