private void AddItem2(string line) { string[] dados = line.Split('|'); envCFeCFeInfCFeDet det = new envCFeCFeInfCFeDet(); det.prod = new envCFeCFeInfCFeDetProd(); //det.nItem = (CFe.infCFe.det.Length + 1).ToString(); det.prod.cProd = "001"; det.prod.xProd = "Pao de forma"; det.prod.CFOP = "0001"; //TODO Config det.prod.uCom = "kg"; det.prod.qCom = "1.0000"; det.prod.vUnCom = "1.000"; det.prod.indRegra = "A"; det.imposto = new envCFeCFeInfCFeDetImposto(); envCFeCFeInfCFeDetImpostoICMS icms = new envCFeCFeInfCFeDetImpostoICMS(); envCFeCFeInfCFeDetImpostoICMSICMS00 imp = new envCFeCFeInfCFeDetImpostoICMSICMS00(); imp.CST = "00"; imp.Orig = "0"; //TODO Config imp.pICMS = "1.00"; icms.Item = imp; det.imposto.Item = icms; envCFeCFeInfCFeDetImpostoPISPISAliq pis = new envCFeCFeInfCFeDetImpostoPISPISAliq(); pis.CST = "01"; pis.vBC = "1.00"; pis.pPIS = "1.000"; //TODO Config det.imposto.PIS = new envCFeCFeInfCFeDetImpostoPIS(); det.imposto.PIS.Item = pis; envCFeCFeInfCFeDetImpostoCOFINSCOFINSAliq cofinsAliq = new envCFeCFeInfCFeDetImpostoCOFINSCOFINSAliq(); cofinsAliq.CST = "01"; cofinsAliq.pCOFINS = "1.0000"; cofinsAliq.vBC = "1.00"; //envCFeCFeInfCFeDetImpostoCOFINSST confisst = new envCFeCFeInfCFeDetImpostoCOFINSST(); //confisst.vBC = "1.00"; //confisst.pCOFINS = "1.0000"; //confisst.Items det.imposto.COFINS = new envCFeCFeInfCFeDetImpostoCOFINS(); det.imposto.COFINS.Item = cofinsAliq; //det.imposto.COFINSST = new envCFeCFeInfCFeDetImpostoCOFINSST(); //det.imposto.COFINSST = confisst; det.nItem = (detList.Count + 1).ToString(); detList.Add(det); }
/// <summary> /// Adiciona os itens da nota ao Lote da CFe /// </summary> /// <returns>Lista de Produtos</returns> private List <envCFeCFeInfCFeDet> PopularProdutos() { string ValorDoItem = ""; List <envCFeCFeInfCFeDet> result = new List <envCFeCFeInfCFeDet>(); XmlNodeList nodes = Document.GetElementsByTagName("det"); foreach (XmlNode detNFCe in nodes) { envCFeCFeInfCFeDet det = new envCFeCFeInfCFeDet(); det.nItem = detNFCe.Attributes["nItem"].Value; foreach (XmlNode itensDet in detNFCe.ChildNodes) { switch (itensDet.Name) { case "prod": det.prod = new envCFeCFeInfCFeDetProd { cProd = GetXML(itensDet.ChildNodes, "cProd"), cEAN = GetXML(itensDet.ChildNodes, "cEAN"), xProd = GetXML(itensDet.ChildNodes, "xProd"), NCM = GetXML(itensDet.ChildNodes, "NCM"), CFOP = GetXML(itensDet.ChildNodes, "CFOP"), uCom = GetXML(itensDet.ChildNodes, "uCom"), qCom = GetXML(itensDet.ChildNodes, "qCom"), vUnCom = GetXML(itensDet.ChildNodes, "vUnCom"), vDesc = GetXML(itensDet.ChildNodes, "vDesc"), indRegra = "A", }; ValorDoItem = GetXML(itensDet.ChildNodes, "vProd"); break; case "imposto": det.imposto = new envCFeCFeInfCFeDetImposto(); det.imposto.vItem12741 = ValorDoItem; foreach (XmlNode n in itensDet.ChildNodes) { switch (n.Name) { case "ICMS": det.imposto.Item = ImpostoProduto <envCFeCFeInfCFeDetImpostoICMS>(n.ChildNodes); break; case "PIS": det.imposto.PIS = ImpostoProduto <envCFeCFeInfCFeDetImpostoPIS>(n.ChildNodes); break; case "COFINS": det.imposto.COFINS = ImpostoProduto <envCFeCFeInfCFeDetImpostoCOFINS>(n.ChildNodes); break; default: break; } } break; default: break; } } result.Add(det); } return(result); }
private void AddItem(string line) { string[] dados = line.Split('|'); envCFeCFeInfCFeDet det = new envCFeCFeInfCFeDet(); det.prod = new envCFeCFeInfCFeDetProd(); //det.nItem = (CFe.infCFe.det.Length + 1).ToString(); det.prod.cProd = dados[1]; det.prod.xProd = dados[2]; det.prod.CFOP = "1234"; //TODO Config det.prod.uCom = "UN"; det.prod.qCom = dados[3]; det.prod.vUnCom = dados[4]; det.prod.NCM = "00"; //TODO Parametrização det.prod.indRegra = "A"; det.imposto = new envCFeCFeInfCFeDetImposto(); envCFeCFeInfCFeDetImpostoICMS icms = new envCFeCFeInfCFeDetImpostoICMS(); if (!dados[6].Equals("FF")) { envCFeCFeInfCFeDetImpostoICMSICMS00 imp = new envCFeCFeInfCFeDetImpostoICMSICMS00(); imp.CST = "00"; imp.Orig = "0"; //TODO Config imp.pICMS = dados[6]; imp.vICMS = "0"; icms.Item = imp; det.imposto.Item = icms; envCFeCFeInfCFeDetImpostoPISPISAliq pis = new envCFeCFeInfCFeDetImpostoPISPISAliq(); pis.CST = "01"; pis.vBC = dados[6]; pis.pPIS = "0"; //TODO Config pis.vPIS = "0"; //Calcular det.imposto.PIS = new envCFeCFeInfCFeDetImpostoPIS(); det.imposto.PIS.Item = pis; } else if(dados[6].Equals("FF")) { envCFeCFeInfCFeDetImpostoICMSICMS40 imp = new envCFeCFeInfCFeDetImpostoICMSICMS40(); imp.CST = "60"; imp.Orig = "00"; icms.Item = imp; det.imposto.Item = icms; //envCFeCFeInfCFeDetImpostoPISPISNT pis = new envCFeCFeInfCFeDetImpostoPISPISNT(); //pis.CST = "4"; //det.imposto.PIS.Item = pis; } //TODO NN II det.nItem = (detList.Count + 1).ToString(); detList.Add(det); }
/// <summary> /// Adiciona os itens da nota ao Lote da CFe /// </summary> /// <returns>Lista de Produtos</returns> private List <envCFeCFeInfCFeDet> PopularProdutos() { string ValorDoItem = ""; List <envCFeCFeInfCFeDet> result = new List <envCFeCFeInfCFeDet>(); XmlNodeList nodes = Document.GetElementsByTagName("det"); foreach (XmlNode detNFCe in nodes) { envCFeCFeInfCFeDet det = new envCFeCFeInfCFeDet(); det.nItem = detNFCe.Attributes["nItem"].Value; foreach (XmlNode itensDet in detNFCe.ChildNodes) { switch (itensDet.Name) { case "prod": string CEST = GetXML(itensDet.ChildNodes, "CEST"); List <envCFeCFeInfCFeDetProdObsFiscoDet> listObsFisco = new List <envCFeCFeInfCFeDetProdObsFiscoDet>(); if (!string.IsNullOrEmpty(CEST) && DadosEmpresa.VersaoLayoutSAT == "0.07") { envCFeCFeInfCFeDetProdObsFiscoDet obsFisco = new envCFeCFeInfCFeDetProdObsFiscoDet(); obsFisco.xCampoDet = "Cod. CEST"; obsFisco.xTextoDet = CEST; listObsFisco.Add(obsFisco); } det.prod = new envCFeCFeInfCFeDetProd { cProd = GetXML(itensDet.ChildNodes, "cProd"), cEAN = GetXML(itensDet.ChildNodes, "cEAN"), xProd = GetXML(itensDet.ChildNodes, "xProd"), NCM = GetXML(itensDet.ChildNodes, "NCM"), CFOP = GetXML(itensDet.ChildNodes, "CFOP"), uCom = GetXML(itensDet.ChildNodes, "uCom"), qCom = GetXML(itensDet.ChildNodes, "qCom"), vUnCom = GetXML(itensDet.ChildNodes, "vUnCom"), vDesc = GetXML(itensDet.ChildNodes, "vDesc"), indRegra = "A", obsFiscoDet = listObsFisco }; if (!string.IsNullOrEmpty(CEST) && DadosEmpresa.VersaoLayoutSAT == "0.08") { det.prod.CEST = CEST; } ValorDoItem = GetXML(itensDet.ChildNodes, "vProd"); break; case "imposto": det.imposto = new envCFeCFeInfCFeDetImposto(); foreach (XmlNode n in itensDet.ChildNodes) { switch (n.Name) { case "vTotTrib": det.imposto.vItem12741 = n.InnerText; break; case "ICMS": det.imposto.Item = ImpostoProduto <envCFeCFeInfCFeDetImpostoICMS>(n.ChildNodes); break; case "PIS": det.imposto.PIS = ImpostoProduto <envCFeCFeInfCFeDetImpostoPIS>(n.ChildNodes); break; case "COFINS": det.imposto.COFINS = ImpostoProduto <envCFeCFeInfCFeDetImpostoCOFINS>(n.ChildNodes); break; default: break; } } break; default: break; } } result.Add(det); } return(result); }