Beispiel #1
0
        public List <belDet> xmlBuscaDet()
        {
            XmlDocument xDet      = new XmlDocument();
            XmlDocument xProd     = new XmlDocument();
            XmlDocument xImpostos = new XmlDocument();
            XmlDocument xIcms     = new XmlDocument();
            XmlDocument xIcmsN    = new XmlDocument();

            List <belDet> lobjDet = new List <belDet>();
            belDet        objDet  = new belDet();
            belProd       objProd = new belProd();
            belIcms       objIcms = new belIcms();

            try
            {
                for (int i = 0; i < xDoc.GetElementsByTagName("det").Count; i++)
                {
                    xDet.LoadXml(xDoc.GetElementsByTagName("det")[i].OuterXml);
                    xProd.LoadXml(xDet.GetElementsByTagName("prod")[i].OuterXml);
                    objProd.Cprod    = xProd.GetElementsByTagName("cProd")[0].InnerText;
                    objProd.Cean     = xProd.GetElementsByTagName("cEAN")[0].InnerText;
                    objProd.Xprod    = xProd.GetElementsByTagName("xProd")[0].InnerText;
                    objProd.Ncm      = xProd.GetElementsByTagName("NCM")[0].InnerText;
                    objProd.Cfop     = xProd.GetElementsByTagName("CFOP")[0].InnerText;
                    objProd.Ucom     = xProd.GetElementsByTagName("uCom")[0].InnerText;
                    objProd.Qcom     = Convert.ToDecimal(xProd.GetElementsByTagName("qCom")[0].InnerText);
                    objProd.Vuncom   = Convert.ToDecimal(xProd.GetElementsByTagName("vUnCom")[0].InnerText);
                    objProd.Vprod    = Convert.ToDecimal(xProd.GetElementsByTagName("vProd")[0].InnerText);
                    objProd.Ceantrib = Convert.ToString(xProd.GetElementsByTagName("cEANTrib")[0].InnerText);
                    objProd.Utrib    = xProd.GetElementsByTagName("uTrib")[0].InnerText;
                    objProd.Qtrib    = Convert.ToDecimal(xProd.GetElementsByTagName("qTrib")[0].InnerText);
                    objProd.Vuntrib  = Convert.ToDecimal(xProd.GetElementsByTagName("vUnTrib")[0].InnerText);

                    xImpostos.LoadXml(xDet.GetElementsByTagName("imposto")[0].OuterXml);
                    xIcms.LoadXml(xImpostos.GetElementsByTagName("ICMS")[0].OuterXml);

                    objIcms = xmlBuscaDetICMS(xIcms);

                    belIpi objIPI = xmlBuscaDetIPI(xImpostos);

                    belIi objII = xmlBuscaDetII(xImpostos);

                    belPis objPis = xmlBuscaDetPis(xImpostos);

                    belCofins objCofins = xmlBuscaDetCofins(xImpostos);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(string.Format("Problemas lendo a Tag Det, Erro.: {0}",
                                                  ex.Message));
            }
            return(lobjDet);
        }
        private string CadastraCF(belProd psObjProd)
        {
            string scf = string.Empty;
            try
            {
                scf = BuscaValorChavePrimaria("CLAS_FIS", 7, "CD_CF", "CLAS_FIS", objInfNFe.Empresa);

                StringBuilder sbCFCampos = new StringBuilder();
                StringBuilder sbCFValores = new StringBuilder();

                string sdsMcn = (psObjProd.Ncm != null ? psObjProd.Ncm.ToString() : "GERAL");



                sbCFCampos.Append("cd_empresa");
                sbCFCampos.Append(", ");
                sbCFValores.Append("'");
                sbCFValores.Append(objInfNFe.Empresa.ToString());
                sbCFValores.Append("', ");

                sbCFCampos.Append("cd_cf");
                sbCFCampos.Append(", ");
                sbCFValores.Append("'");
                sbCFValores.Append(scf);
                sbCFValores.Append("', ");

                sbCFCampos.Append("ds_clasfis");
                sbCFCampos.Append(", ");
                sbCFValores.Append("'");
                sbCFValores.Append(sdsMcn);
                sbCFValores.Append("', ");

                sbCFCampos.Append("ds_ncm");
                sbCFCampos.Append(" ");
                sbCFValores.Append("'");
                sbCFValores.Append(sdsMcn);
                sbCFValores.Append("' ");

                string sInstrucao = string.Format("insert into clas_fis ({0}) values ({1})",
                                                  sbCFCampos.ToString(),
                                                  sbCFValores.ToString());
                using (FbCommand cmd = new FbCommand(sInstrucao, Conexao))
                {
                    if (Conexao.State != ConnectionState.Open)
                    {
                        Conexao.Open();
                    }
                    cmd.ExecuteNonQuery();

                }


            }
            catch (Exception ex)
            {
                throw new Exception(string.Format("Não foi possível cadastrar a Classificação fiscal, Erro {0}",
                                                  ex.Message));
            }
            finally
            {
                if (Conexao.State == ConnectionState.Open)
                {
                    Conexao.Close();
                }
            }
            return scf;
        }
        private string CadastraLinha(belProd psObjProd)
        {
            string sLinha = string.Empty;
            try
            {
                sLinha = BuscaValorChavePrimaria("LINHAPRO", 7, "CD_LINHA", "LINHAPRO", objInfNFe.Empresa);


                StringBuilder sFiltro = new StringBuilder();
                sFiltro.Append("cd_empresa ='");
                sFiltro.Append(objInfNFe.Empresa);
                sFiltro.Append("'");
                sFiltro.Append(" and ");
                sFiltro.Append("cd_linha = '");
                sFiltro.Append(sLinha);
                sFiltro.Append("'");

                if (!RegistroExiste("LINHAPRO", sFiltro.ToString(), "CD_LINHA"))
                {


                    StringBuilder sbLinhaCampos = new StringBuilder();
                    StringBuilder sbLinhaValores = new StringBuilder();

                    sbLinhaCampos.Append("cd_empresa");
                    sbLinhaCampos.Append(", ");
                    sbLinhaValores.Append("'");
                    sbLinhaValores.Append(objInfNFe.Empresa.ToString());
                    sbLinhaValores.Append("', ");

                    sbLinhaCampos.Append("cd_linha");
                    sbLinhaCampos.Append(", ");
                    sbLinhaValores.Append("'");
                    sbLinhaValores.Append(sLinha);
                    sbLinhaValores.Append("', ");

                    sbLinhaCampos.Append("ds_linha");
                    sbLinhaCampos.Append(", ");
                    sbLinhaValores.Append("'");
                    sbLinhaValores.Append("Geral");
                    sbLinhaValores.Append("', ");

                    sbLinhaCampos.Append("st_linha");
                    sbLinhaValores.Append("'");
                    sbLinhaValores.Append("A");
                    sbLinhaValores.Append("' ");

                    string sInstrucao = string.Format("insert into LinhaPro ({0}) values ({1})",
                                                      sbLinhaCampos.ToString(),
                                                      sbLinhaValores.ToString());
                    using (FbCommand cmd = new FbCommand(sInstrucao, Conexao))
                    {
                        if (Conexao.State != ConnectionState.Open)
                        {
                            Conexao.Open();
                        }
                        cmd.ExecuteNonQuery();

                    }
                }


            }
            catch (Exception ex)
            {
                throw new Exception(string.Format("Não foi possível cadastrar a Linha de Produto. Erro {0}",
                                                  ex.Message));
            }
            finally
            {
                if (Conexao.State == ConnectionState.Open)
                {
                    Conexao.Close();
                }
            }

            return sLinha;
        }
        private string CadastraUnidade(belProd psObjProd)
        {
            string sUnidade = psObjProd.Ucom;
            try
            {
                // sUnidade = BuscaValorChavePrimaria("UNIDADES", 2, "CD_TPUNID", "UNIDADES", objInfNFe.Empresa);

                StringBuilder sbUnidadeCampos = new StringBuilder();
                StringBuilder sbUnidadeValores = new StringBuilder();

                sbUnidadeCampos.Append("cd_tpunid");
                sbUnidadeCampos.Append(", ");
                sbUnidadeValores.Append("'");
                sbUnidadeValores.Append(sUnidade);
                sbUnidadeValores.Append("', ");

                sbUnidadeCampos.Append("ds_unidade");
                sbUnidadeValores.Append("'");
                sbUnidadeValores.Append(sUnidade);
                sbUnidadeValores.Append("' ");

                string sInstrucao = string.Format("insert into Unidades ({0}) values ({1})",
                                                  sbUnidadeCampos.ToString(),
                                                  sbUnidadeValores.ToString());

                using (FbCommand cmd = new FbCommand(sInstrucao, Conexao))
                {
                    if (Conexao.State != ConnectionState.Open)
                    {
                        Conexao.Open();
                    }
                    cmd.ExecuteNonQuery();

                }


            }
            catch (Exception ex)
            {
                throw new Exception(string.Format("Não foi possível cadastrar a Unidade do Produto. Erro {0}",
                                                  ex.Message));
            }
            finally
            {
                if (Conexao.State == ConnectionState.Open)
                {
                    Conexao.Close();
                }
            }

            return sUnidade;
        }
        private strucProd BuscaProd(string psEmp, belProd psObjProd)
        {

            psObjProd.Cprod = psObjProd.Cprod.Replace(" ", "").ToUpper();

            if (psObjProd.Cprod.Length > 7)
            {
                psObjProd.Cprod = psObjProd.Cprod.Substring(0, 7);
            }

            strucProd objProd = new strucProd();
            try
            {
                StringBuilder sFiltro = new StringBuilder();
                sFiltro.Append("cd_empresa = '");
                sFiltro.Append(psEmp);
                sFiltro.Append("'");
                sFiltro.Append(" and ");
                sFiltro.Append("ds_prod = '");
                sFiltro.Append(psObjProd.Xprod.Trim());
                sFiltro.Append("'");

                bool bAchouProd = RegistroExiste("PRODUTO", sFiltro.ToString(), "ds_prod");

                if (bAchouProd)
                {
                    psObjProd.Cprod = RetCodigoRegistro("PRODUTO", sFiltro.ToString(), "cd_prod");
                }
                else
                {
                    psObjProd.Cprod = RetornaProximoValorGenerator("PRODUTO190", 7);
                }


                if (bAchouProd)
                {


                    StringBuilder sCamposProd = new StringBuilder();
                    sCamposProd.Append("Select ");
                    sCamposProd.Append("cd_linha, ");
                    sCamposProd.Append("cd_cf ");
                    sCamposProd.Append("from Produto ");
                    sCamposProd.Append("Where ");


                    using (FbCommand cmd = new FbCommand(sCamposProd.ToString() + sFiltro.ToString(), Conexao))
                    {
                        if (Conexao.State != ConnectionState.Open)
                        {
                            Conexao.Open();
                        }

                        FbDataReader dr = cmd.ExecuteReader();
                        if (dr.Read())
                        {
                            if (dr["cd_cf"].ToString() == "")
                            {
                                objProd.scdcf = null;
                            }
                            else
                            {
                                objProd.scdcf = dr["cd_cf"].ToString();
                            }

                            objProd.scdLinha = dr["cd_linha"].ToString();
                        }


                    }
                }
                else
                {
                    string dsmcm = string.Empty;
                    dsmcm = (psObjProd.Ncm != null ? psObjProd.Ncm.ToString() : "GERAL");

                    StringBuilder sbNCM = new StringBuilder();
                    sbNCM.Append("cd_empresa ='");
                    sbNCM.Append(psEmp);
                    sbNCM.Append("'");
                    sbNCM.Append(" and ");
                    sbNCM.Append("ds_clasfis ='");
                    sbNCM.Append(dsmcm);
                    sbNCM.Append("'");

                    bool bAchouCF = RegistroExiste("CLAS_FIS", sbNCM.ToString(), "cd_cf");

                    string scf = string.Empty;

                    if (bAchouCF)
                    {
                        using (FbCommand cmd = new FbCommand("Select cd_cf from clas_fis where " + sbNCM.ToString(), Conexao))
                        {
                            if (Conexao.State != ConnectionState.Open)
                            {
                                Conexao.Open();
                            }
                            scf = cmd.ExecuteScalar().ToString();
                        }

                    }
                    else
                    {
                        scf = CadastraCF(psObjProd);
                    }


                    objProd.scdcf = scf;

                    StringBuilder sbLinha = new StringBuilder();
                    sbLinha.Append("cd_empresa ='");
                    sbLinha.Append(psEmp);
                    sbLinha.Append("'");
                    sbLinha.Append(" and ");
                    sbLinha.Append("ds_linha ='");
                    sbLinha.Append("GERAL");
                    sbLinha.Append("'");

                    bool bAchouLinha = RegistroExiste("LINHAPRO", sbLinha.ToString(), "cd_linha");

                    string sLinha = string.Empty;

                    if (bAchouLinha)
                    {
                        using (FbCommand cmd = new FbCommand("Select cd_linha from linhapro where " + sbLinha.ToString(), Conexao))
                        {
                            if (Conexao.State != ConnectionState.Open)
                            {
                                Conexao.Open();
                            }
                            sLinha = cmd.ExecuteScalar().ToString();
                        }

                    }
                    else
                    {
                        sLinha = CadastraLinha(psObjProd);
                    }
                    objProd.scdLinha = sLinha;

                    StringBuilder sbUnidade = new StringBuilder();
                    sbUnidade.Append("cd_tpunid ='");
                    sbUnidade.Append(psObjProd.Ucom.ToString());
                    sbUnidade.Append("'");

                    bool bAchouUnidade = RegistroExiste("UNIDADES", sbUnidade.ToString(), "cd_tpunid");

                    string sUnidade = string.Empty;

                    if (bAchouUnidade)
                    {
                        using (FbCommand cmd = new FbCommand("Select cd_tpunid from Unidades where " + sbUnidade.ToString(), Conexao))
                        {
                            if (Conexao.State != ConnectionState.Open)
                            {
                                Conexao.Open();
                            }
                            sUnidade = cmd.ExecuteScalar().ToString();
                        }

                    }
                    else
                    {
                        sUnidade = CadastraUnidade(psObjProd);
                    }

                    StringBuilder sbProdutoCampos = new StringBuilder();
                    StringBuilder sbProdutoValores = new StringBuilder();

                    sbProdutoCampos.Append("cd_empresa");
                    sbProdutoCampos.Append(", ");
                    sbProdutoValores.Append("'");
                    sbProdutoValores.Append(objInfNFe.Empresa.ToString());
                    sbProdutoValores.Append("', ");

                    sbProdutoCampos.Append("cd_prod");
                    sbProdutoCampos.Append(", ");
                    sbProdutoValores.Append("'");
                    sbProdutoValores.Append(psObjProd.Cprod.ToString().PadLeft(7, '0'));
                    sbProdutoValores.Append("', ");

                    sbProdutoCampos.Append("cd_cf");
                    sbProdutoCampos.Append(", ");
                    sbProdutoValores.Append("'");
                    sbProdutoValores.Append(scf);
                    sbProdutoValores.Append("', ");

                    sbProdutoCampos.Append("cd_linha");
                    sbProdutoCampos.Append(", ");
                    sbProdutoValores.Append("'");
                    sbProdutoValores.Append(sLinha);
                    sbProdutoValores.Append("', ");

                    sbProdutoCampos.Append("cd_tpunid");
                    sbProdutoCampos.Append(", ");
                    sbProdutoValores.Append("'");
                    sbProdutoValores.Append(sUnidade);
                    sbProdutoValores.Append("', ");

                    string sdsprod = psObjProd.Xprod.ToString();
                    if (sdsprod.Length > 35)
                    {
                        sdsprod = sdsprod.Substring(0, 34);
                    }
                    sbProdutoCampos.Append("ds_prod");
                    sbProdutoCampos.Append(", ");
                    sbProdutoValores.Append("'");
                    sbProdutoValores.Append(sdsprod.Trim());
                    sbProdutoValores.Append("', ");

                    sbProdutoCampos.Append("cd_alter");
                    sbProdutoValores.Append("'");
                    sbProdutoValores.Append(psObjProd.Cprod);
                    sbProdutoValores.Append("' ");

                    string sInstrucao = string.Format("insert into produto ({0}) values ({1})",
                                                      sbProdutoCampos.ToString(),
                                                      sbProdutoValores.ToString());

                    using (FbCommand cmd = new FbCommand(sInstrucao, Conexao))
                    {
                        if (Conexao.State != ConnectionState.Open)
                        {
                            Conexao.Open();
                        }
                        cmd.ExecuteNonQuery();

                    }

                }



            }
            catch (Exception ex)
            {
                throw new Exception(string.Format("Não foi possível Buscar o Item, Erro {0}",
                                                  ex.Message));
            }

            return objProd;

        }
        public List<belDet> xmlBuscaDet()
        {
            XmlDocument xDet = new XmlDocument();
            XmlDocument xProd = new XmlDocument();
            XmlDocument xImpostos = new XmlDocument();
            XmlDocument xIcms = new XmlDocument();
            XmlDocument xIcmsN = new XmlDocument();

            List<belDet> lobjDet = new List<belDet>();
            belDet objDet = new belDet();
            belProd objProd = new belProd();
            belIcms objIcms = new belIcms();

            try
            {
                for (int i = 0; i < xDoc.GetElementsByTagName("det").Count; i++)
                {
                    xDet.LoadXml(xDoc.GetElementsByTagName("det")[i].OuterXml);
                    xProd.LoadXml(xDet.GetElementsByTagName("prod")[i].OuterXml);
                    objProd.Cprod = xProd.GetElementsByTagName("cProd")[0].InnerText;
                    objProd.Cean = xProd.GetElementsByTagName("cEAN")[0].InnerText;
                    objProd.Xprod = xProd.GetElementsByTagName("xProd")[0].InnerText;
                    objProd.Ncm = xProd.GetElementsByTagName("NCM")[0].InnerText;
                    objProd.Cfop = xProd.GetElementsByTagName("CFOP")[0].InnerText;
                    objProd.Ucom = xProd.GetElementsByTagName("uCom")[0].InnerText;
                    objProd.Qcom = Convert.ToDecimal(xProd.GetElementsByTagName("qCom")[0].InnerText);
                    objProd.Vuncom = Convert.ToDecimal(xProd.GetElementsByTagName("vUnCom")[0].InnerText);
                    objProd.Vprod = Convert.ToDecimal(xProd.GetElementsByTagName("vProd")[0].InnerText);
                    objProd.Ceantrib = Convert.ToString(xProd.GetElementsByTagName("cEANTrib")[0].InnerText);
                    objProd.Utrib = xProd.GetElementsByTagName("uTrib")[0].InnerText;
                    objProd.Qtrib = Convert.ToDecimal(xProd.GetElementsByTagName("qTrib")[0].InnerText);
                    objProd.Vuntrib = Convert.ToDecimal(xProd.GetElementsByTagName("vUnTrib")[0].InnerText);

                    xImpostos.LoadXml(xDet.GetElementsByTagName("imposto")[0].OuterXml);
                    xIcms.LoadXml(xImpostos.GetElementsByTagName("ICMS")[0].OuterXml);

                    objIcms = xmlBuscaDetICMS(xIcms);

                    belIpi objIPI = xmlBuscaDetIPI(xImpostos);

                    belIi objII = xmlBuscaDetII(xImpostos);

                    belPis objPis = xmlBuscaDetPis(xImpostos);

                    belCofins objCofins = xmlBuscaDetCofins(xImpostos);








                }
            }
            catch (Exception ex)
            {
                throw new Exception(string.Format("Problemas lendo a Tag Det, Erro.: {0}",
                                                  ex.Message));

            }
            return lobjDet;

        }
        public List<belDet> xmlBuscaDet()
        {
            XmlDocument xDet = new XmlDocument();
            XmlDocument xProd = new XmlDocument();
            XmlDocument xImpostos = new XmlDocument();
            XmlDocument xIcms = new XmlDocument();
            XmlDocument xIcmsN = new XmlDocument();

            List<belDet> lobjDet = new List<belDet>();

            try
            {
                for (int i = 0; i < xDoc.GetElementsByTagName("det").Count; i++)
                {
                    belDet objDet = new belDet();
                    belProd objProd = new belProd();
                    if (xDoc.GetElementsByTagName("det").Count > 0)
                    {
                        xDet.LoadXml(xDoc.GetElementsByTagName("det")[i].OuterXml);

                        if (xDet.GetElementsByTagName("prod").Count > 0)
                        {
                            xProd.LoadXml(xDet.GetElementsByTagName("prod")[0].OuterXml);
                            if (xProd.GetElementsByTagName("cProd").Count > 0)
                            {
                                objProd.Cprod = xProd.GetElementsByTagName("cProd")[0].InnerText;
                            }
                            if (xProd.GetElementsByTagName("cEAN").Count > 0)
                            {
                                objProd.Cean = xProd.GetElementsByTagName("cEAN")[0].InnerText;
                            }
                            if (xProd.GetElementsByTagName("xProd").Count > 0)
                            {
                                objProd.Xprod = xProd.GetElementsByTagName("xProd")[0].InnerText;
                            }
                            if (xProd.GetElementsByTagName("NCM").Count > 0)
                            {
                                objProd.Ncm = xProd.GetElementsByTagName("NCM")[0].InnerText;
                            }
                            else
                            {
                                objProd.Ncm = "GERAL";
                            }
                            if (xProd.GetElementsByTagName("CFOP").Count > 0)
                            {
                                objProd.Cfop = xProd.GetElementsByTagName("CFOP")[0].InnerText;
                            }
                            if (xProd.GetElementsByTagName("uTrib").Count > 0)
                            {
                                objProd.Utrib = xProd.GetElementsByTagName("uTrib")[0].InnerText;
                            }
                            if (xProd.GetElementsByTagName("uCom").Count > 0)
                            {
                                if (objProd.Utrib != "")
                                {
                                    objProd.Ucom = objProd.Utrib;
                                }
                                else
                                {
                                    objProd.Ucom = xProd.GetElementsByTagName("uCom")[0].InnerText.ToString();
                                }
                            }
                            if (xProd.GetElementsByTagName("qCom").Count > 0)
                            {
                                objProd.Qcom = Convert.ToDecimal(xProd.GetElementsByTagName("qCom")[0].InnerText.ToString().Replace(".", ","));
                            }
                            if (xProd.GetElementsByTagName("vUnCom").Count > 0)
                            {
                                objProd.Vuncom = Convert.ToDecimal(xProd.GetElementsByTagName("vUnCom")[0].InnerText.ToString().Replace(".", ","));
                            }
                            if (xProd.GetElementsByTagName("vProd").Count > 0)
                            {
                                objProd.Vprod = Convert.ToDecimal(xProd.GetElementsByTagName("vProd")[0].InnerText.ToString().Replace(".", ","));
                            }
                            if (xProd.GetElementsByTagName("vFrete").Count > 0) // os_25272
                            {
                                objProd.Vfrete = Convert.ToDecimal(xProd.GetElementsByTagName("vFrete")[0].InnerText.ToString().Replace(".", ","));
                            }
                            if (xProd.GetElementsByTagName("cEANTrib").Count > 0)
                            {
                                objProd.Ceantrib = Convert.ToString((xProd.GetElementsByTagName("cEANTrib")[0].InnerText == "" ? "0" : xProd.GetElementsByTagName("cEANTrib")[0].InnerText.ToString().Replace(".", ",")));
                            }

                            if (xProd.GetElementsByTagName("qTrib").Count > 0)
                            {
                                objProd.Qtrib = Convert.ToDecimal(xProd.GetElementsByTagName("qTrib")[0].InnerText.ToString().Replace(".", ","));
                            }
                            if (xProd.GetElementsByTagName("vUnTrib").Count > 0)
                            {
                                objProd.Vuntrib = Convert.ToDecimal(xProd.GetElementsByTagName("vUnTrib")[0].InnerText.ToString().Replace(".", ","));
                            }

                            if (xProd.GetElementsByTagName("vDesc").Count > 0)
                            {
                                objProd.Vdesc = Convert.ToDecimal(xProd.GetElementsByTagName("vDesc")[0].InnerText.ToString().Replace(".", ","));
                            }

                            if (xDet.GetElementsByTagName("imposto").Count > 0)
                            {
                                xImpostos.LoadXml(xDet.GetElementsByTagName("imposto")[0].OuterXml);
                            }

                            if (xImpostos.GetElementsByTagName("ICMS").Count > 0)
                            {
                                xIcms.LoadXml(xImpostos.GetElementsByTagName("ICMS")[0].OuterXml);

                                belIcms objIcms = new belIcms();
                                objIcms = xmlBuscaDetICMS(xIcms);

                                belIpi objIPI = xmlBuscaDetIPI(xImpostos);

                                belIi objII = xmlBuscaDetII(xImpostos);

                                belPis objPis = xmlBuscaDetPis(xImpostos);

                                belCofins objCofins = xmlBuscaDetCofins(xImpostos);

                                belIss objIss = xmlBuscaDetIssqn(xImpostos);

                                belInfadprod objInfadProd = new belInfadprod();
                                if (xDet.GetElementsByTagName("inAdProd").Count > 0)
                                {

                                    objInfadProd.Infadprid = xDet.GetElementsByTagName("inAdProd")[i].InnerText;
                                }

                                objDet.prod = objProd;

                                belImposto objImpostos = new belImposto();
                                objImpostos.belIcms = objIcms;
                                objImpostos.belIpi = objIPI;
                                objImpostos.belIi = objII;
                                objImpostos.belPis = objPis;
                                objImpostos.belCofins = objCofins;
                                objImpostos.belIss = objIss;

                                objDet.imposto = objImpostos;
                                objDet.infAdProd = objInfadProd;


                                lobjDet.Add(objDet);

                            }


                        }

                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception(string.Format("Problemas lendo a Tag Det, Erro.: {0}",
                                                  ex.Message));

            }
            return lobjDet;

        }