Exemple #1
0
        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);
        }
Exemple #2
0
        /// <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);
        }
Exemple #3
0
        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);
        }