/// <summary> /// GerarDetImpostoPIS /// </summary> /// <param name="PIS"></param> /// <param name="nodeImposto"></param> 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; } } }