private void GerarDetImpostoPIS(NFe nfe, PIS PIS, XmlElement nodeImposto)
{
if (!string.IsNullOrEmpty(PIS.CST))
{
XmlElement e0 = doc.CreateElement("PIS");
switch (PIS.CST)
{
case "01":
case "02":
nodeCurrent = doc.CreateElement("PISAliq");
e0.AppendChild(nodeCurrent);
nodeImposto.AppendChild(e0);
wCampo(PIS.CST, TpcnTipoCampo.tcStr, TpcnResources.CST);
wCampo(PIS.vBC, TpcnTipoCampo.tcDec2, TpcnResources.vBC);
wCampo(PIS.pPIS, this.nDecimaisPerc, TpcnResources.pPIS);
wCampo(PIS.vPIS, TpcnTipoCampo.tcDec2, TpcnResources.vPIS);
break;
case "03":
nodeCurrent = doc.CreateElement("PISQtde");
e0.AppendChild(nodeCurrent);
nodeImposto.AppendChild(e0);
wCampo(PIS.CST, TpcnTipoCampo.tcStr, TpcnResources.CST);
wCampo(PIS.qBCProd, TpcnTipoCampo.tcDec4, TpcnResources.qBCProd);
wCampo(PIS.vAliqProd, TpcnTipoCampo.tcDec4, TpcnResources.vAliqProd);
wCampo(PIS.vPIS, TpcnTipoCampo.tcDec2, TpcnResources.vPIS);
break;
case "04":
case "05":
case "06":
case "07":
case "08":
case "09":
nodeCurrent = doc.CreateElement("PISNT");
e0.AppendChild(nodeCurrent);
nodeImposto.AppendChild(e0);
wCampo(PIS.CST, TpcnTipoCampo.tcStr, TpcnResources.CST);
break;
case "49":
case "50":
case "51":
case "52":
case "53":
case "54":
case "55":
case "56":
case "60":
case "61":
case "62":
case "63":
case "64":
case "65":
case "66":
case "67":
case "70":
case "71":
case "72":
case "73":
case "74":
case "75":
case "98":
case "99":
if ((PIS.vBC + PIS.pPIS > 0) && (PIS.qBCProd + PIS.vAliqProd > 0))
{
this.cMensagemErro += "PIS: As TAG's <vBC> e <pPIS> não podem ser informadas em conjunto com as TAG <qBCProd> e <vAliqProd>" + Environment.NewLine;
}
nodeCurrent = doc.CreateElement(TpcnResources.PISOutr.ToString());
e0.AppendChild(nodeCurrent);
nodeImposto.AppendChild(e0);
wCampo(PIS.CST, TpcnTipoCampo.tcStr, TpcnResources.CST);
if (PIS.qBCProd + PIS.vAliqProd > 0)
{
wCampo(PIS.qBCProd, TpcnTipoCampo.tcDec4, TpcnResources.qBCProd);
wCampo(PIS.vAliqProd, TpcnTipoCampo.tcDec4, TpcnResources.vAliqProd);
}
else
{
wCampo(PIS.vBC, TpcnTipoCampo.tcDec2, TpcnResources.vBC);
wCampo(PIS.pPIS, this.nDecimaisPerc, TpcnResources.pPIS);
}
wCampo(PIS.vPIS, TpcnTipoCampo.tcDec2, TpcnResources.vPIS);
break;
}
}
}