//Danner - o.s. 23732 - 11/11/2009 public static int retonarTpamb(string sEmp) { belGerarXML BuscaConexao = new belGerarXML(); int tp_amb; try { StringBuilder sSql = new StringBuilder(); sSql.Append("select "); sSql.Append("empresa.st_ambiente "); sSql.Append("uf.nr_ufnfe cd_ufnor, "); sSql.Append("from empresa "); sSql.Append("left join uf on (uf.cd_uf = empresa.cd_ufnor) "); sSql.Append("where "); sSql.Append("cd_empresa ='"); sSql.Append(sEmp); sSql.Append("'"); FbConnection Conn = BuscaConexao.Conn; Conn.Open(); FbCommand cmdIde = new FbCommand(sSql.ToString(), Conn); cmdIde.ExecuteNonQuery(); FbDataReader dr = cmdIde.ExecuteReader(); dr.Read(); tp_amb = Convert.ToInt16((dr["st_ambiente"].ToString() != "" ? dr["st_ambiente"].ToString() : "2")); Conn.Close(); } catch (Exception x) { throw new Exception("Erro de " + x.Source + Environment.NewLine + x.Message); } return tp_amb; }
//Fim - Danner - o.s. 23732 - 11/11/2009 //Danner - o.s. 23732 - 13/11/2009 public static string retornaCdfunor(string sEmp) { belGerarXML BuscaConexao = new belGerarXML(); string cd_ufnor; try { StringBuilder sSql = new StringBuilder(); sSql.Append("select "); sSql.Append("uf.nr_ufnfe cd_ufnor, "); sSql.Append("from empresa "); sSql.Append("left join uf on (uf.cd_uf = empresa.cd_ufnor) "); sSql.Append("where "); sSql.Append("cd_empresa ='"); sSql.Append(sEmp); sSql.Append("'"); FbConnection Conn = BuscaConexao.Conn; Conn.Open(); FbCommand cmdIde = new FbCommand(sSql.ToString(), Conn); cmdIde.ExecuteNonQuery(); FbDataReader dr = cmdIde.ExecuteReader(); dr.Read(); cd_ufnor = dr["cd_ufnor"].ToString(); Conn.Close(); } catch (Exception x) { throw new Exception("Erro de " + x.Source + Environment.NewLine + x.Message); } return cd_ufnor; }
private decimal BuscaDescTotal(string sEmp, string sNF, FbConnection Conn) { decimal dvlTotProd = 0; decimal dvlTotItens = 0; decimal vl_Desconto = 0; decimal dQTItens = 0; StringBuilder SqlTotProd = new StringBuilder(); SqlTotProd.Append("Select (vl_totprod + vl_servico) vl_totprod "); SqlTotProd.Append("from nf "); SqlTotProd.Append("where "); SqlTotProd.Append("(nf.cd_empresa ='"); SqlTotProd.Append(sEmp); SqlTotProd.Append("') and "); SqlTotProd.Append("(nf.cd_nfseq = '"); SqlTotProd.Append(sNF); SqlTotProd.Append("') "); using (FbCommand cmd = new FbCommand(SqlTotProd.ToString(), Conn)) { dvlTotProd = Math.Round(Convert.ToDecimal(cmd.ExecuteScalar()), 2); //Claudinei - o.s. 24248 - 26/03/2010 } StringBuilder SqlTotItens = new StringBuilder(); SqlTotItens.Append("Select sum(vl_totbruto) "); SqlTotItens.Append("from movitem "); SqlTotItens.Append("where "); SqlTotItens.Append("(movitem.cd_empresa ='"); SqlTotItens.Append(sEmp); SqlTotItens.Append("') and "); SqlTotItens.Append("(movitem.cd_nfseq = '"); SqlTotItens.Append(sNF); SqlTotItens.Append("') "); using (FbCommand cmd = new FbCommand(SqlTotItens.ToString(), Conn)) { dvlTotItens = Math.Round(Convert.ToDecimal(cmd.ExecuteScalar()), 2); //Claudinei - o.s. 24248 - 26/03/2010 } StringBuilder SqlQtItens = new StringBuilder(); SqlQtItens.Append("Select count(nr_lanc) "); SqlQtItens.Append("from movitem "); SqlQtItens.Append("where "); SqlQtItens.Append("(movitem.cd_empresa ='"); SqlQtItens.Append(sEmp); SqlQtItens.Append("') and "); SqlQtItens.Append("(movitem.cd_nfseq = '"); SqlQtItens.Append(sNF); SqlQtItens.Append("') "); using (FbCommand cmd = new FbCommand(SqlQtItens.ToString(), Conn)) { dQTItens = Math.Round(Convert.ToDecimal(cmd.ExecuteScalar()), 2); //Claudinei - o.s. 24248 - 26/03/2010 } if (dvlTotProd < dvlTotItens) { vl_Desconto = ((dvlTotItens - dvlTotProd) / dQTItens); } belGerarXML BuscaConexao = new belGerarXML(); if (pbIndustri) { vl_Desconto = 0; } else if (BuscaConexao.nm_Cliente == "EMEB") { vl_Desconto = 0; } return vl_Desconto; }
private static bool GravaNumeroChaveNota(string sEmp, string sNota, string sNFe) { StringBuilder sSql = new StringBuilder(); sSql.Append("update nf set cd_chavenfe = '"); sSql.Append(sNFe.Replace("NFe", "")); sSql.Append("'"); sSql.Append(" Where nf.cd_empresa = '"); sSql.Append(sEmp); sSql.Append("' and "); sSql.Append("nf.cd_nfseq = '"); sSql.Append(sNota); sSql.Append("'"); belGerarXML BuscaConexao = new belGerarXML(); try { using (FbConnection Conn = BuscaConexao.Conn) { using (FbCommand cmdUpdate = new FbCommand(sSql.ToString(), Conn)) { Conn.Open(); cmdUpdate.ExecuteNonQuery(); Conn.Close(); } } return true; } catch (Exception) { return false; } }
public belInfAdic BuscaObs(string sEmp, string sNF, belDest objbeldest, List<belDet> objbelDet, belGerarXML objbelGeraXml) { belInfAdic objinfadic = new belInfAdic(); try { StringBuilder sSql = new StringBuilder(); //Campos do Select sSql.Append("Select "); sSql.Append("nf.ds_anota "); if (((objbelGeraXml.nm_Cliente == "MOGPLAST") || (objbelGeraXml.nm_Cliente == "TSA")) && (sEmp == "003")) { sSql.Append(", nf.cd_nfseq_fat_origem "); } if (objbelGeraXml.nm_Cliente == "MACROTEX") { sSql.Append(", vendedor.nm_vend, "); sSql.Append("nf.DS_DOCORIG "); } //Tabela sSql.Append("From NF "); //Relacionamentos sSql.Append("left join vendedor on (vendedor.cd_vend = nf.cd_vend1) "); //Where sSql.Append("Where "); sSql.Append("(NF.cd_empresa ='"); sSql.Append(sEmp); sSql.Append("')"); sSql.Append(" and "); sSql.Append("(nf.cd_nfseq = '"); sSql.Append(sNF); sSql.Append("') "); string sObs = ""; sObs = RetornaBlob(sSql, sEmp, Conn, objbelGeraXml); if (sObs.IndexOf("\\fs") != -1)// DIEGO - OS_24854 { sObs = sObs.Substring((sObs.IndexOf("\\fs") + 6), sObs.Length - (sObs.IndexOf("\\fs") + 6)); } if (objbelGeraXml.nm_Cliente == "MARPA") { sObs += MontaObsAgrup(sEmp, sNF, Conn); } Globais LeRegWin = new Globais(); string sBanco = LeRegWin.LeRegConfig("BancoDados"); { //Fim - Danner - o.s. 24383 - 22/04/2010 //belGerarXML BuscaConexao = new belGerarXML(); //FbConnection Conn = BuscaConexao.Conn; #region OS_24245 try { if (sBanco.ToUpper().IndexOf("CERAMICAC0") == -1) //Claudinei - o.s. 24245 - 08/03/2010 { StringBuilder sSuframa = new StringBuilder(); sSuframa.Append("Select First 1 "); sSuframa.Append("nf.ds_anota, "); sSuframa.Append("clifor.st_descsuframa, "); sSuframa.Append("clifor.cd_suframa, "); sSuframa.Append("clifor.ST_PISCOFINS_SUFRAMA, "); sSuframa.Append("nf.vl_aliqcofins_suframa, "); sSuframa.Append("nf.vl_aliqpis_suframa, "); sSuframa.Append("nf.vl_cofins_suframa, "); sSuframa.Append("NF.vl_pis_suframa, "); //Claudinei - o.s. 23683 - 11/09/2009 sSuframa.Append("(select Sum(movitem.vl_descsuframa) from movitem where (movitem.cd_empresa = nf.cd_empresa) and (movitem.cd_nfseq = nf.cd_nfseq)) vl_suframa, "); sSuframa.Append("icm.vl_aliquot vl_persuframa "); //Fim - Claudinei - o.s. 23683 - 11/09/2009 //Claudinei - o.s. 23827 - 17/11/2009 sSuframa.Append(", "); sSuframa.Append("case when empresa.vl_aliqfatcred > 0 then "); sSuframa.Append("(nf.vl_totnf * empresa.vl_aliqfatcred)/100 "); sSuframa.Append("else "); sSuframa.Append("0 "); sSuframa.Append("end aliq, "); sSuframa.Append("empresa.vl_aliqfatcred, "); sSuframa.Append("coalesce(tpdoc.st_hevenda,'N') st_hevenda "); //Fim - Claudinei - o.s. 23827 - 17/11/2009 //Tabela sSuframa.Append("From NF "); //Relacionamentos sSuframa.Append("left join clifor on (clifor.cd_clifor = nf.cd_clifor) "); sSuframa.Append("left join icm on (icm.cd_ufnor = clifor.cd_ufnor) "); sSuframa.Append("left join movitem on (movitem.cd_empresa = nf.cd_empresa) "); sSuframa.Append("and "); sSuframa.Append("(movitem.cd_nfseq = nf.cd_nfseq) "); //Claudinei - o.s. 23827 - 17/11/2009 sSuframa.Append("Inner join "); sSuframa.Append("Empresa on "); sSuframa.Append("(Empresa.cd_empresa = nf.cd_empresa) "); sSuframa.Append("Left join "); sSuframa.Append("TPDoc on "); sSuframa.Append("(TPDoc.cd_tipodoc = nf.cd_tipodoc) "); //Fim - Claudinei - o.s. 23827 - 17/11/2009 //Where sSuframa.Append("Where "); sSuframa.Append("(NF.cd_empresa ='"); sSuframa.Append(sEmp); sSuframa.Append("')"); sSuframa.Append(" and "); sSuframa.Append("(nf.cd_nfseq = '"); sSuframa.Append(sNF); sSuframa.Append("') "); //Conn.Open(); FbCommand cmdSuframa = new FbCommand(sSuframa.ToString(), Conn); cmdSuframa.ExecuteNonQuery(); FbDataReader drSuframa = cmdSuframa.ExecuteReader(); drSuframa.Read(); if (drSuframa["st_descsuframa"].ToString() == "S") { //Claudinei - o.s. 23683 - 11/09/2009 decimal dvlSuframa = Math.Round(Convert.ToDecimal(drSuframa["vl_suframa"].ToString()), 2); //Claudinei - o.s. 24248 - 26/03/2010 decimal dvlPerSuframa = Math.Round(Convert.ToDecimal(drSuframa["vl_persuframa"].ToString()), 2); //Claudinei - o.s. 24248 - 26/03/2010 //Fim - Claudinei - o.s. 23683 - 11/09/2009 if (sObs.Trim() != "") { sObs += string.Format(" - DESCONTO DE {0:C2} REF. AO ICMS {1:f2}% CODIGO SUFRAMA: {2}", dvlSuframa, dvlPerSuframa, drSuframa["cd_suframa"].ToString()); } else { sObs += string.Format("DESCONTO DE {0:C2} REF. AO ICMS 7.00% CODIGO SUFRAMA: {1}", dvlSuframa, drSuframa["cd_suframa"].ToString()); } } //Claudinei - o.s. sem - 01/09/2009 if (drSuframa["ST_PISCOFINS_SUFRAMA"].ToString() == "S") { decimal dvl_aliqcofins_suframa = Math.Round(Convert.ToDecimal(drSuframa["vl_aliqcofins_suframa"].ToString()), 2); //Claudinei - o.s. 24248 - 26/03/2010 decimal dvl_cofins_suframa = Math.Round(Convert.ToDecimal(drSuframa["vl_cofins_suframa"].ToString()), 2); //Claudinei - o.s. 24248 - 26/03/2010 decimal dvl_aliqpis_suframa = Math.Round(Convert.ToDecimal(drSuframa["vl_aliqpis_suframa"].ToString()), 2); //Claudinei - o.s. 24248 - 26/03/2010 decimal dvl_pis_suframa = Math.Round(Convert.ToDecimal(drSuframa["vl_pis_suframa"].ToString()), 2); //Claudinei - o.s. 24248 - 26/03/2010 if (sObs.Trim() != "") { sObs += string.Format(" - ABATIMENTO COFINS ({0}%) - VALOR R$ {1} - ABATIMENTO PIS ({2}%) - VALOR R$ {3} ", dvl_aliqcofins_suframa.ToString("#0.00").Replace(',', '.'), dvl_cofins_suframa.ToString("#0.00").Replace(',', '.'), dvl_aliqpis_suframa.ToString("#0.00").Replace(',', '.'), dvl_pis_suframa.ToString("#0.00").Replace(',', '.')); } else { sObs += string.Format("ABATIMENTO COFINS ({0}%) - VALOR R$ {1} - ABATIMENTO PIS ({2}%) - VALOR R$ {3} ", dvl_aliqcofins_suframa.ToString("#0.0000").Replace(',', '.'), dvl_cofins_suframa.ToString("#0.0000").Replace(',', '.'), dvl_aliqpis_suframa.ToString("#0.0000").Replace(',', '.'), dvl_pis_suframa.ToString("#0.0000").Replace(',', '.')); } } decimal dvlnf = 0; if (drSuframa["aliq"].ToString() != "") { dvlnf = Math.Round(Convert.ToDecimal(drSuframa["aliq"].ToString()), 2); //Claudinei - o.s. 24248 - 26/03/2010 } } StringBuilder sDevolucao = new StringBuilder(); //Tabela sDevolucao.Append("Select "); sDevolucao.Append("movitem.cd_doc, "); sDevolucao.Append("nf.cd_clifor, "); sDevolucao.Append("nf.dt_emi, "); sDevolucao.Append("movensai.dt_emi EmissaoEntrada, "); sDevolucao.Append("movitem.vl_totbruto "); sDevolucao.Append("From Movitem "); sDevolucao.Append("inner join NF on "); sDevolucao.Append("(nf.cd_empresa = Movitem.cd_empresa) "); sDevolucao.Append("and "); sDevolucao.Append("(nf.cd_nfseq = movitem.cd_nfseq) "); sDevolucao.Append("inner join opereve on "); sDevolucao.Append("(opereve.cd_oper = movitem.cd_oper) "); sDevolucao.Append("left join movensai on (movensai.cd_empresa = movitem.cd_empresa) "); sDevolucao.Append("and "); sDevolucao.Append("(movensai.cd_doc = movitem.cd_doc) "); sDevolucao.Append("and "); sDevolucao.Append("(movensai.cd_clifor = nf.cd_clifor) "); //Where sDevolucao.Append("Where "); sDevolucao.Append("(Movitem.cd_empresa ='"); sDevolucao.Append(sEmp); sDevolucao.Append("')"); sDevolucao.Append(" and "); sDevolucao.Append("(Movitem.cd_nfseq = '"); sDevolucao.Append(sNF); sDevolucao.Append("') "); sDevolucao.Append("and "); sDevolucao.Append("(opereve.ST_ESTTERC = 'S') "); sDevolucao.Append("and "); sDevolucao.Append("Movitem.cd_oper <> '202' "); sDevolucao.Append("and "); sDevolucao.Append("Movitem.cd_oper <> '227' ");//TESTE-DANI sDevolucao.Append("Order by movitem.cd_doc"); //if (Conn.State != ConnectionState.Open) { //Conn.Open(); } FbCommand cmdDevolucoes = new FbCommand(sDevolucao.ToString(), Conn); cmdDevolucoes.ExecuteNonQuery(); FbDataReader drDevolucoes = cmdDevolucoes.ExecuteReader(); List<strucDevolucoes> Devolucoes = new List<strucDevolucoes>(); decimal dvlTotBruto = 0; string scdDoc = string.Empty; while (drDevolucoes.Read()) { if (scdDoc != drDevolucoes["cd_doc"].ToString()) { dvlTotBruto = 0; } dvlTotBruto += Math.Round(Convert.ToDecimal(drDevolucoes["vl_totbruto"].ToString()), 2); //Claudinei - o.s. 24248 - 26/03/2010 StringBuilder sStore = new StringBuilder(); sStore.Append("SELECT "); sStore.Append("QT_SALDOEN "); sStore.Append("FROM SP_SALDOTER('"); sStore.Append(sEmp); sStore.Append("', '"); sStore.Append(drDevolucoes["cd_clifor"].ToString()); sStore.Append("', '"); sStore.Append(" "); //Claudinei - o.s. 24075 - 29/01/2010 sStore.Append("', '"); sStore.Append("|||||||"); //Claudinei - o.s. 24075 - 29/01/2010 sStore.Append("', '"); sStore.Append("X"); sStore.Append("', '"); sStore.Append("N"); sStore.Append("', '"); sStore.Append(sNF); sStore.Append("', '"); sStore.Append(Convert.ToDateTime(drDevolucoes["dt_emi"]).ToString("dd.MM.yyyy")); sStore.Append("') "); sStore.Append("where SP_SALDOTER.cd_doc ='"); sStore.Append(drDevolucoes["cd_doc"].ToString().Trim()); sStore.Append("'"); sStore.Append(" and "); sStore.Append("SP_SALDOTER.qt_saldoen > 0"); FbCommand cmd = new FbCommand(); cmd.Connection = Conn; cmd.CommandText = sStore.ToString(); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Clear(); //if (Conn.State != ConnectionState.Open) { //Conn.Open(); } Int32 iSaldoTer = Convert.ToInt32(cmd.ExecuteScalar()); strucDevolucoes Devolucao = new strucDevolucoes(); if (drDevolucoes["cd_doc"].ToString() != "") { Devolucao.scdNotafis = drDevolucoes["cd_doc"].ToString(); if (drDevolucoes["EmissaoEntrada"] != System.DBNull.Value) { Devolucao.dDtEmi = Convert.ToDateTime(drDevolucoes["EmissaoEntrada"]); } Devolucao.dValorNF = dvlTotBruto.ToString("#0.00"); Devolucao.sSaldo = (iSaldoTer > 0 ? "Parcial" : "Total"); if (!Devolucoes.Exists(c => c.scdNotafis == Devolucao.scdNotafis)) { Devolucoes.Add(Devolucao); } else { for (int i = 0; i < Devolucoes.Count; i++) { if ((Devolucoes[i].scdNotafis == Devolucao.scdNotafis) && (Devolucoes[i].dDtEmi == Devolucao.dDtEmi)) //OS_25220 { Devolucoes[i] = Devolucao; break; } } } } scdDoc = drDevolucoes["cd_doc"].ToString(); } for (int i = 0; i < Devolucoes.Count; i++) { if (sObs.Trim().Length > 0) { sObs += string.Format(" - Devolucao {0} ref. sua NF {1} de {2} de valor R$ {3}", //Claudinei - o.s. 24043 - 25/01/2010 Devolucoes[i].sSaldo, Devolucoes[i].scdNotafis, Devolucoes[i].dDtEmi.ToString("dd/MM/yyyy"), Devolucoes[i].dValorNF); //Claudinei - o.s. 24043 - 25/01/2010 } else { sObs += string.Format("Devolucao {0} ref. sua NF {1} de {2} de valor R$ {3}", //Claudinei - o.s. 24043 - 25/01/2010 Devolucoes[i].sSaldo, Devolucoes[i].scdNotafis, Devolucoes[i].dDtEmi.ToString("dd/MM/yyyy"), Devolucoes[i].dValorNF); //Claudinei - o.s. 24043 - 25/01/2010 } } string sMensagemSuperSimples = MensagemSuperSimples(sEmp, sNF, Conn); bool cfopsValidos = (objbelDet.Count(p => (p.belProd.Cfop.Equals("5101")) || (p.belProd.Cfop.Equals("6107")) || (p.belProd.Cfop.Equals("6101"))) > 0 ? true : false); if (sMensagemSuperSimples != "" && (objbeldest.Cnpj != null && objbeldest.Cnpj != "") || (objbelGeraXml.nm_Cliente == "TERRAVIS") && cfopsValidos) // OS_25182 { if (sObs.Trim().Length > 0) { sObs += " - " + sMensagemSuperSimples; } else { sObs += sMensagemSuperSimples; } } //Claudinei - o.s. 24118 - 11/02/2010 } catch (Exception Ex) { sExecao = " - Problemas ao Buscar Suframa"; throw new Exception(Ex.Message + sExecao); } finally { //Conn.Close(); } #endregion } // Diego - 22/06/2010 - OS_24576 //Monta Mensagem de PIS, COFINS try { //belGerarXML BuscaConexao = new belGerarXML(); //FbConnection Conn = BuscaConexao.Conn; //if (Conn.State != ConnectionState.Open) { //Conn.Open(); } StringBuilder sQuery = new StringBuilder(); sQuery.Append("SELECT "); sQuery.Append("NF.VL_COFINS, NF.VL_PIS, "); sQuery.Append("empresa.vl_aliqpis_suframa,empresa.vl_aliqcofins_suframa, "); sQuery.Append("CLIFOR.st_desc_piscofins_dupl "); sQuery.Append("from nf inner join empresa "); sQuery.Append("on (nf.cd_empresa = empresa.cd_empresa)"); sQuery.Append("inner join clifor "); sQuery.Append("on (nf.cd_clifor = clifor.cd_clifor) "); sQuery.Append("where (empresa.cd_empresa = '"); sQuery.Append(sEmp); sQuery.Append("') "); sQuery.Append("and ( nf.cd_nfseq = '"); sQuery.Append(sNF); sQuery.Append("') "); FbCommand cmd = new FbCommand(sQuery.ToString(), Conn); FbDataReader drPisCofins = cmd.ExecuteReader(); while (drPisCofins.Read()) { if ((drPisCofins["st_desc_piscofins_dupl"].ToString() == "S")) { if ((drPisCofins["vl_aliqpis_suframa"].ToString() != "") && (drPisCofins["vl_aliqcofins_suframa"].ToString() != "")) { string sMensagemPisCofins = "(PIS e COFINS retido conforme artigo 3º paragrafo 4º da lei 10.485/02, PIS " + drPisCofins["vl_aliqpis_suframa"].ToString() + "% R$" + drPisCofins["VL_PIS"].ToString() + " , COFINS " + drPisCofins["vl_aliqcofins_suframa"].ToString() + "% R$" + drPisCofins["VL_COFINS"].ToString() + " Total R$" + ((Convert.ToDouble(drPisCofins["VL_PIS"].ToString())) + (Convert.ToDouble(drPisCofins["VL_COFINS"].ToString()))).ToString() + ")"; sObs += (sObs != "" ? " - " : "") + sMensagemPisCofins; } } } } catch (Exception Ex) { throw Ex; }// Diego - 22/06/2010 - OS_24576 - FIM // Diego - 15/07/2010 - OS_24665 //Obs de ICMS Recolhido por Substituição try { //belGerarXML BuscaConexao = new belGerarXML(); //FbConnection Conn = BuscaConexao.Conn; StringBuilder sQuery = new StringBuilder(); sQuery.Append("SELECT "); sQuery.Append("movitem.cd_sittrib, EMPRESA.ST_SUPERSIMPLES, EMPRESA.ST_IMP_SUPERSIMPLES "); sQuery.Append("from empresa INNER JOIN movitem ON (EMPRESA.cd_empresa = movitem.cd_empresa)"); sQuery.Append("where (empresa.cd_empresa = '"); sQuery.Append(sEmp); sQuery.Append("') "); sQuery.Append("and ( movitem.cd_nfseq = '"); sQuery.Append(sNF); sQuery.Append("') "); FbCommand cmd = new FbCommand(sQuery.ToString(), Conn); FbDataReader drIcmsRecolhido = cmd.ExecuteReader(); string sMensagemIcmsRecolhido = ""; while (drIcmsRecolhido.Read()) { if ((drIcmsRecolhido["ST_SUPERSIMPLES"].ToString() == "S") && (drIcmsRecolhido["ST_IMP_SUPERSIMPLES"].ToString() == "S")) { if ((drIcmsRecolhido["cd_sittrib"].ToString().Equals("010")) || (drIcmsRecolhido["cd_sittrib"].ToString().Equals("030")) || (drIcmsRecolhido["cd_sittrib"].ToString().Equals("060")) || (drIcmsRecolhido["cd_sittrib"].ToString().Equals("070"))) { sMensagemIcmsRecolhido = "ICMS RECOLHIDO POR SUBSTITUICAO TRIBUTARIA CONFORME DECRETO 54251/09 ART 313 RICMS/2000"; break; } } } if (sMensagemIcmsRecolhido != "") { sObs += (sObs.Trim() != "" ? " - " : "") + sMensagemIcmsRecolhido; } } catch (Exception Ex) { throw Ex; } // Diego - 15/07/2010 - OS_24665 - FIM //OS_25201 - DIEGO if (LeRegWin.LeRegConfig("TotalizaCFOP").Equals("True")) { sObs += " " + MessagemTotalizaCFOP(sEmp, sNF, Conn); }//OS_25201 - FIM //OS_25224 - INICIO string sCNPJdest = (objbeldest.Cnpj != null ? Util.Util.RetiraCaracterCNPJ(objbeldest.Cnpj) : ""); try { //belGerarXML BuscaConexao = new belGerarXML(); //FbConnection Conn = BuscaConexao.Conn; if (objbelGeraXml.Equals("JAMAICA")) { StringBuilder sQuery = new StringBuilder(); sQuery.Append("select coalesce(clifor.cd_alter2,'') cd_alter2 from clifor "); sQuery.Append("where clifor.cd_cgc ='" + sCNPJdest + "'"); FbCommand cmd = new FbCommand(sQuery.ToString(), Conn); FbDataReader dr = cmd.ExecuteReader(); string sMesgCodDest = ""; while (dr.Read()) { sMesgCodDest = dr["cd_alter2"].ToString(); } if (sMesgCodDest != "") { sObs = "<<COD FORNECEDOR " + sMesgCodDest + ">> " + sObs; } } if (objbelGeraXml.nm_Cliente.Equals("LORENZON")) { StringBuilder sQuery = new StringBuilder(); sQuery.Append("select prazos.ds_prazo, vendedor.nm_vend , clifor.cd_clifor from nf "); sQuery.Append("inner join clifor on nf.cd_clifor = clifor.cd_clifor "); sQuery.Append("inner join prazos on nf.cd_prazo = prazos.cd_prazo "); sQuery.Append(" inner join vendedor on nf.cd_vendint = vendedor.cd_vend "); sQuery.Append("where nf.cd_nfseq = '" + sNF + "' "); sQuery.Append("and nf.cd_empresa = '" + sEmp + "' "); FbCommand cmd = new FbCommand(sQuery.ToString(), Conn); FbDataReader dr = cmd.ExecuteReader(); string sMsgLorenzon = ""; while (dr.Read()) { sMsgLorenzon = "COND.PGTO = " + dr["ds_prazo"].ToString() + " | VENDEDOR = " + dr["nm_vend"].ToString() + " | COD. CLIENTE = " + dr["cd_clifor"].ToString(); } if (sMsgLorenzon != "") { sObs = "<< " + sMsgLorenzon + " >> " + sObs; } } } catch (Exception ex) { throw ex; } //OS_25224 - FIM if (sObs.Trim() != "") { objinfadic.Infcpl = sObs.Trim(); } //Fim - Montagem do XML } catch (Exception Ex) { sExecao = " - Problemas nas Obs´s da Nota"; throw new Exception(Ex.Message + sExecao); } return objinfadic; //Danner - o.s. sem - 16/11/2009 }
/// <summary> /// Gera a Estrutura do XML da NF-e /// </summary> /// <param name="sNF"></param> /// <param name="cert"></param> /// <param name="sEmp"></param> /// <param name="sNomeArq"></param> /// <param name="iStatusAtualSistema"</param> public void geraArquivoNFE(List<string> sNF, X509Certificate2 cert, string sEmp, string sNomeArq) { objbelGeraXml = new belGerarXML(); Conn = objbelGeraXml.Conn; Conn.Open(); try { string sPath = ""; sPath = (sFormaEmiNFe.Equals("2") ? CarregarDadosXml("PastaContingencia").ToString() + @sNomeArq : CarregarDadosXml("PastaXmlEnvio").ToString() + @sNomeArq); Globais glob = new Globais(); int iCount = 0; if (File.Exists(sPath)) { File.Delete(sPath); } foreach (var i in lTotNota) { string sNota = sNF[iCount]; string sNFe = "NFe" + GeraChave(sEmp, sNota, Conn); XDocument xdoc = new XDocument(); #region XML_Principal XNamespace pf = "http://www.portalfiscal.inf.br/nfe"; XContainer conenv = new XElement(pf + "enviNFe", new XAttribute("xmlns", "http://www.portalfiscal.inf.br/nfe"), new XAttribute("versao", "2.00"), new XElement(pf + "idLote", sNomeArq.Substring(7, 15))); #endregion #region XML_Cabeçalho XContainer concabec = (new XElement(pf + "NFe", new XAttribute("xmlns", "http://www.portalfiscal.inf.br/nfe"))); XContainer coninfnfe = (new XElement(pf + "infNFe", new XAttribute(XNamespace.Xmlns + "xsi", "http://www.w3.org/2001/XMLSchema-instance"), new XAttribute("Id", sNFe), new XAttribute("versao", "2.00"))); #endregion #region Ide XContainer conide; try { belIde objide = i[0] as belIde; #region XML_ide conide = (new XElement(pf + "ide", new XElement(pf + "cUF", objide.Cuf.ToString()), new XElement(pf + "cNF", objide.Cnf.ToString()), new XElement(pf + "natOp", objide.Natop.ToString()), new XElement(pf + "indPag", objide.Indpag.ToString()), new XElement(pf + "mod", objide.Mod.ToString()), new XElement(pf + "serie", objide.Serie.ToString()), new XElement(pf + "nNF", objide.Nnf.ToString()), new XElement(pf + "dEmi", objide.Demi.ToString("yyyy-MM-dd")), new XElement(pf + "dSaiEnt", objide.Dsaient.ToString("yyyy-MM-dd")), new XElement(pf + "hSaiEnt", objide.HSaiEnt.ToString("HH:mm:ss")), // NFe_2.0 new XElement(pf + "tpNF", objide.Tpnf.ToString()), new XElement(pf + "cMunFG", objide.Cmunfg.ToString()), (objide.belNFref != null ? (from c in objide.belNFref select new XElement(pf + "NFref", (c.RefNFe != null ? new XElement(pf + "refNFe", c.RefNFe) : null), (c.cUF != null ? (new XElement(pf + "refNF", (c.cUF != null ? new XElement(pf + "cUF", c.cUF) : null), (c.AAMM != null ? new XElement(pf + "AAMM", c.AAMM) : null), (c.CNPJ != null ? new XElement(pf + "CNPJ", c.CNPJ) : null), (c.mod != null ? new XElement(pf + "mod", c.mod) : null), (c.serie != null ? new XElement(pf + "serie", c.serie) : null), (c.nNF != null ? new XElement(pf + "nNF", c.nNF) : null))) : null))) : null),//NFe_2.0_Verificar ID B14 - B20a - B20i - new XElement(pf + "tpImp", objide.Tpimp.ToString()), new XElement(pf + "tpEmis", objide.Tpemis.ToString()), new XElement(pf + "cDV", objide.Cdv.ToString()), new XElement(pf + "tpAmb", objide.Tpamb.ToString()), new XElement(pf + "finNFe", objide.Finnfe.ToString()), new XElement(pf + "procEmi", objide.Procemi.ToString()), new XElement(pf + "verProc", objide.Verproc.ToString()), ((objide.Tpemis.Equals("2")) || (objide.Tpemis.Equals("3")) ? new XElement(pf + "dhCont", DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss")) : null), // NFe_2.0 ((objide.Tpemis.Equals("2")) || (objide.Tpemis.Equals("3")) ? new XElement(pf + "xJust", (iStatusAtualSistema == 2 ? "FALHA DE CONEXÃO COM INTERNET" : "FALHA COM WEB SERVICE DO ESTADO")) : null)));// NFe_2.0 #endregion } catch (Exception x) { throw new Exception("Nota de Sequência - " + sNota + "Erro na geração do XML, Regiao XML_ide - " + x.Message); } #endregion #region Emit XContainer conemit; try { belEmit objemit = i[1] as belEmit; #region XML_Emit conemit = (new XElement(pf + "emit", (new XElement(pf + "CNPJ", objemit.Cnpj.ToString())), new XElement(pf + "xNome", objemit.Xnome.ToString()), new XElement(pf + "xFant", objemit.Xfant.ToString()), new XElement(pf + "enderEmit", new XElement(pf + "xLgr", objemit.Xlgr.ToString()), new XElement(pf + "nro", objemit.Nro.ToString()), (objemit.Xcpl != null ? new XElement(pf + "xCpl", objemit.Xcpl.ToString()) : null), new XElement(pf + "xBairro", objemit.Xbairro.ToString()), new XElement(pf + "cMun", objemit.Cmun.ToString()), new XElement(pf + "xMun", objemit.Xmun.ToString()), new XElement(pf + "UF", objemit.Uf.ToString()), new XElement(pf + "CEP", objemit.Cep.ToString()), new XElement(pf + "cPais", objemit.Cpais.ToString()), new XElement(pf + "xPais", objemit.Xpais.ToString()), (objemit.Fone != null ? new XElement(pf + "fone", objemit.Fone.ToString()) : null)), (objemit.Ie != null ? new XElement(pf + "IE", objemit.Ie.ToString()) : null), (objemit.Iest != null ? new XElement(pf + "IEST", objemit.Iest.ToString()) : null), (objemit.Im != null ? new XElement(pf + "IM", objemit.Im.ToString()) : null), (objemit.Cnae != null ? new XElement(pf + "CNAE", objemit.Cnae.ToString()) : null), new XElement(pf + "CRT", objemit.CRT.ToString()))); // NFe_2.0 #endregion } catch (Exception x) { throw new Exception("Nota de Sequência - " + sNota + "Erro na geração do XML, Regiao XML_Emit - " + x.Message); } #endregion #region Dest XContainer condest; try { belDest objdest = i[2] as belDest; #region XML_Dest objdest.Ie = (objdest.Ie == null ? "" : objdest.Ie); condest = (new XElement(pf + "dest", (objdest.Cnpj == "EXTERIOR" ? new XElement(pf + "CNPJ") : (objdest.Cnpj != null ? new XElement(pf + "CNPJ", objdest.Cnpj) : new XElement(pf + "CPF", objdest.Cpf))), new XElement(pf + "xNome", objdest.Xnome.ToString()), new XElement(pf + "enderDest", new XElement(pf + "xLgr", objdest.Xlgr.ToString()), new XElement(pf + "nro", (objdest.Nro != null ? objdest.Nro.ToString() : "0")), (objdest.Xcpl != null ? new XElement(pf + "xCpl", objdest.Xcpl.ToString()) : null), new XElement(pf + "xBairro", objdest.Xbairro.ToString()), new XElement(pf + "cMun", objdest.Cmun.ToString()), new XElement(pf + "xMun", objdest.Xmun.ToString()), new XElement(pf + "UF", objdest.Uf.ToString()), (objdest.Cep != null ? new XElement(pf + "CEP", objdest.Cep.ToString()) : null), new XElement(pf + "cPais", objdest.Cpais.ToString()), (objdest.Xpais != null ? new XElement(pf + "xPais", objdest.Xpais.ToString()) : null), (objdest.Fone != null ? new XElement(pf + "fone", objdest.Fone.ToString()) : null)), ((objdest.Ie != null) ? (objdest.Ie != "EXTERIOR" ? new XElement(pf + "IE", objdest.Ie.ToString()) : new XElement(pf + "IE")) : null), //Claudinei - o.s. sem - 11/02/2010 (objdest.Isuf != null ? new XElement(pf + "ISUF", objdest.Isuf.ToString()) : null))); #endregion } catch (Exception x) { throw new Exception("Nota de Sequência - " + sNota + "Erro na geração do XML, Regiao XML_Dest - " + x.Message); } #endregion #region Det List<XElement> lcondet = new List<XElement>(); try { List<belDet> objdet = new List<belDet>(); objdet = i[4] as List<belDet>; #region XML_Detalhes foreach (var det in objdet) { XElement condet = (new XElement(pf + "det", new XAttribute("nItem", det.Nitem), new XElement(pf + "prod", (det.belProd.Cprod != null ? new XElement(pf + "cProd", det.belProd.Cprod.ToString()) : null), (det.belProd.Cean != null ? new XElement(pf + "cEAN", det.belProd.Cean.ToString()) : null), (det.belProd.Xprod != null ? new XElement(pf + "xProd", det.belProd.Xprod.ToString()) : null), (det.belProd.Ncm != null ? new XElement(pf + "NCM", det.belProd.Ncm.ToString()) : new XElement(pf + "NCM", det.belProd.Ncm = "00000000")), //Claudinei - o.s. 24200 - 01/03/2010 (det.belProd.Extipi != null ? new XElement(pf + "EXTIPI", det.belProd.Extipi.ToString()) : null), (det.belProd.Genero != null ? new XElement(pf + "genero", det.belProd.Genero.ToString()) : null), (det.belProd.Cfop != null ? new XElement(pf + "CFOP", det.belProd.Cfop.ToString()) : null), (det.belProd.Ucom != null ? new XElement(pf + "uCom", det.belProd.Ucom.ToString()) : null), (det.belProd.Qcom != null ? new XElement(pf + "qCom", det.belProd.Qcom.ToString("#0.0000").Replace(",", ".")) : null), (det.belProd.Vuncom != null ? new XElement(pf + "vUnCom", det.belProd.Vuncom.ToString("#0.0000").Replace(",", ".")) : null), (det.belProd.Vprod != null ? new XElement(pf + "vProd", det.belProd.Vprod.ToString("#0.00").Replace(",", ".")) : null), (det.belProd.Ceantrib != null ? new XElement(pf + "cEANTrib", det.belProd.Ceantrib.ToString().PadLeft(8, '0')) : null), (det.belProd.Utrib != null ? new XElement(pf + "uTrib", det.belProd.Utrib.ToString()) : null), (det.belProd.Qtrib != null ? new XElement(pf + "qTrib", det.belProd.Qtrib.ToString("#0.0000").Replace(",", ".")) : null), (det.belProd.Vuntrib != null ? new XElement(pf + "vUnTrib", det.belProd.Vuntrib.ToString("#0.0000").Replace(",", ".")) : null), ((det.belProd.Vfrete != null) && (det.belProd.Vfrete != 0) ? new XElement(pf + "vFrete", det.belProd.Vfrete.ToString("#0.00").Replace(",", ".")) : null), ((det.belProd.Vseg != null) && (det.belProd.Vseg != 0) ? new XElement(pf + "vSeg", det.belProd.Vseg.ToString("#0.00").Replace(",", ".")) : null), (((det.belProd.Vdesc != null) && (det.belProd.Vdesc != 0)) ? new XElement(pf + "vDesc", det.belProd.Vdesc.ToString("#0.00").Replace(",", ".")) : null), ((det.belProd.VOutro != null) && (det.belProd.VOutro != 0) ? new XElement(pf + "vOutro", det.belProd.VOutro.ToString("#0.00").Replace(",", ".")) : null), //NFe_2.0 (det.belProd.IndTot != null) ? new XElement(pf + "indTot", det.belProd.IndTot.ToString()) : null), //NFe_2.0 new XElement(pf + "imposto", //---------------ICMS-----------------// new XElement(pf + "ICMS", //-------------ICMS00-------------// (det.belImposto.belIcms.belIcms00 != null ? new XElement(pf + "ICMS00", (det.belImposto.belIcms.belIcms00.Orig != null ? new XElement(pf + "orig", det.belImposto.belIcms.belIcms00.Orig.ToString()) : null), (det.belImposto.belIcms.belIcms00.Cst != null ? new XElement(pf + "CST", det.belImposto.belIcms.belIcms00.Cst.ToString()) : null), (det.belImposto.belIcms.belIcms00.Modbc != null ? new XElement(pf + "modBC", det.belImposto.belIcms.belIcms00.Modbc.ToString()) : null), (det.belImposto.belIcms.belIcms00.Vbc != null ? new XElement(pf + "vBC", det.belImposto.belIcms.belIcms00.Vbc.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms00.Picms != null ? new XElement(pf + "pICMS", det.belImposto.belIcms.belIcms00.Picms.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms00.Vicms != null ? new XElement(pf + "vICMS", det.belImposto.belIcms.belIcms00.Vicms.ToString("#0.00").Replace(",", ".")) : null)) : null), //-------------ICMS10-------------// (det.belImposto.belIcms.belIcms10 != null ? new XElement(pf + "ICMS10", (det.belImposto.belIcms.belIcms10.Orig != null ? new XElement(pf + "orig", det.belImposto.belIcms.belIcms10.Orig.ToString()) : null), (det.belImposto.belIcms.belIcms10.Cst != null ? new XElement(pf + "CST", det.belImposto.belIcms.belIcms10.Cst.ToString()) : null), (det.belImposto.belIcms.belIcms10.Modbc != null ? new XElement(pf + "modBC", det.belImposto.belIcms.belIcms10.Modbc.ToString()) : null), (det.belImposto.belIcms.belIcms10.Vbc != null ? new XElement(pf + "vBC", det.belImposto.belIcms.belIcms10.Vbc.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms10.Picms != null ? new XElement(pf + "pICMS", det.belImposto.belIcms.belIcms10.Picms.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms10.Vicms != null ? new XElement(pf + "vICMS", det.belImposto.belIcms.belIcms10.Vicms.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms10.Modbcst != null ? new XElement(pf + "modBCST", det.belImposto.belIcms.belIcms10.Modbcst.ToString()) : null), (det.belImposto.belIcms.belIcms10.Pmvast != 0 ? new XElement(pf + "pMVAST", det.belImposto.belIcms.belIcms10.Pmvast.ToString("#0.00").Replace(",", ".")) : null), //Claudinei - o.s. sem - 11/03/2010 (det.belImposto.belIcms.belIcms10.Predbcst.ToString() != "0" ? new XElement(pf + "pRedBCST", det.belImposto.belIcms.belIcms10.Predbcst.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms10.Vbcst != null ? new XElement(pf + "vBCST", det.belImposto.belIcms.belIcms10.Vbcst.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms10.Picmsst != null ? new XElement(pf + "pICMSST", det.belImposto.belIcms.belIcms10.Picmsst.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms10.Vicmsst != null ? new XElement(pf + "vICMSST", det.belImposto.belIcms.belIcms10.Vicmsst.ToString("#0.00").Replace(",", ".")) : null)) : null), //-------------ICMS20-------------// (det.belImposto.belIcms.belIcms20 != null ? new XElement(pf + "ICMS20", (det.belImposto.belIcms.belIcms20.Orig != null ? new XElement(pf + "orig", det.belImposto.belIcms.belIcms20.Orig.ToString()) : null), (det.belImposto.belIcms.belIcms20.Cst != null ? new XElement(pf + "CST", det.belImposto.belIcms.belIcms20.Cst.ToString()) : null), (det.belImposto.belIcms.belIcms20.Modbc != null ? new XElement(pf + "modBC", det.belImposto.belIcms.belIcms20.Modbc.ToString()) : null), (det.belImposto.belIcms.belIcms20.Predbc != null ? new XElement(pf + "pRedBC", det.belImposto.belIcms.belIcms20.Predbc.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms20.Vbc != null ? new XElement(pf + "vBC", det.belImposto.belIcms.belIcms20.Vbc.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms20.Picms != null ? new XElement(pf + "pICMS", det.belImposto.belIcms.belIcms20.Picms.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms20.Vicms != null ? new XElement(pf + "vICMS", det.belImposto.belIcms.belIcms20.Vicms.ToString("#0.00").Replace(",", ".")) : null)) : null), //-------------ICMS30-------------// (det.belImposto.belIcms.belIcms30 != null ? new XElement(pf + "ICMS30", (det.belImposto.belIcms.belIcms30.Orig != null ? new XElement(pf + "orig", det.belImposto.belIcms.belIcms30.Orig.ToString()) : null), (det.belImposto.belIcms.belIcms30.Cst != null ? new XElement(pf + "CST", det.belImposto.belIcms.belIcms30.Cst.ToString()) : null), (det.belImposto.belIcms.belIcms30.Modbcst != null ? new XElement(pf + "modBCST", det.belImposto.belIcms.belIcms30.Modbcst.ToString()) : null), (det.belImposto.belIcms.belIcms30.Pmvast != 0 ? new XElement(pf + "pMVAST", det.belImposto.belIcms.belIcms30.Pmvast.ToString("#0.00").Replace(",", ".")) : null), //Claudinei - o.s. sem - 12/03/2010 (det.belImposto.belIcms.belIcms30.Predbcst.ToString() != "0" ? new XElement(pf + "pRedBCST", det.belImposto.belIcms.belIcms30.Predbcst.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms30.Vbcst != null ? new XElement(pf + "vBCST", det.belImposto.belIcms.belIcms30.Vbcst.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms30.Picmsst != null ? new XElement(pf + "pICMSST", det.belImposto.belIcms.belIcms30.Picmsst.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms30.Vicmsst != null ? new XElement(pf + "vICMSST", det.belImposto.belIcms.belIcms30.Vicmsst.ToString("#0.00").Replace(",", ".")) : null)) : null), //-------------ICMS40-------------// (det.belImposto.belIcms.belIcms40 != null ? new XElement(pf + "ICMS40", (det.belImposto.belIcms.belIcms40.Orig != null ? new XElement(pf + "orig", det.belImposto.belIcms.belIcms40.Orig.ToString()) : null), (det.belImposto.belIcms.belIcms40.Cst != null ? new XElement(pf + "CST", det.belImposto.belIcms.belIcms40.Cst.ToString()) : null), (det.belImposto.belIcms.belIcms40.Vicms != null ? new XElement(pf + "vICMS", det.belImposto.belIcms.belIcms40.Vicms.ToString()) : null), //NFe_2.0 (det.belImposto.belIcms.belIcms40.motDesICMS != null ? new XElement(pf + "motDesICMS", det.belImposto.belIcms.belIcms40.motDesICMS.ToString()) : null)) : null),//NFe_2.0 //-------------ICMS41-------------// (det.belImposto.belIcms.belIcms41 != null ? new XElement(pf + "ICMS41", (det.belImposto.belIcms.belIcms41.Orig != null ? new XElement(pf + "orig", det.belImposto.belIcms.belIcms41.Orig.ToString()) : null), (det.belImposto.belIcms.belIcms41.Cst != null ? new XElement(pf + "CST", det.belImposto.belIcms.belIcms41.Cst.ToString()) : null), (det.belImposto.belIcms.belIcms41.Vicms != null ? new XElement(pf + "vICMS", det.belImposto.belIcms.belIcms41.Vicms.ToString()) : null),//NFe_2.0 (det.belImposto.belIcms.belIcms41.motDesICMS != null ? new XElement(pf + "motDesICMS", det.belImposto.belIcms.belIcms41.motDesICMS.ToString()) : null)) : null),//NFe_2.0 //-------------ICMS50-------------// (det.belImposto.belIcms.belIcms50 != null ? new XElement(pf + "ICMS50", (det.belImposto.belIcms.belIcms50.Orig != null ? new XElement(pf + "orig", det.belImposto.belIcms.belIcms50.Orig.ToString()) : null), (det.belImposto.belIcms.belIcms50.Cst != null ? new XElement(pf + "CST", det.belImposto.belIcms.belIcms50.Cst.ToString()) : null), (det.belImposto.belIcms.belIcms50.Vicms != null ? new XElement(pf + "vICMS", det.belImposto.belIcms.belIcms50.Vicms.ToString()) : null),//NFe_2.0 (det.belImposto.belIcms.belIcms50.motDesICMS != null ? new XElement(pf + "motDesICMS", det.belImposto.belIcms.belIcms50.motDesICMS.ToString()) : null)) : null),//NFe_2.0 //-------------ICMS51-------------// (det.belImposto.belIcms.belIcms51 != null ? new XElement(pf + "ICMS51", (det.belImposto.belIcms.belIcms51.Orig != null ? new XElement(pf + "orig", det.belImposto.belIcms.belIcms51.Orig.ToString()) : null), (det.belImposto.belIcms.belIcms51.Cst != null ? new XElement(pf + "CST", det.belImposto.belIcms.belIcms51.Cst.ToString()) : null), (det.belImposto.belIcms.belIcms51.Modbc != null ? new XElement(pf + "modBC", det.belImposto.belIcms.belIcms51.Modbc.ToString()) : null), (det.belImposto.belIcms.belIcms51.Predbc != null ? new XElement(pf + "pRedBC", det.belImposto.belIcms.belIcms51.Predbc.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms51.Vbc != null ? new XElement(pf + "vBC", det.belImposto.belIcms.belIcms51.Vbc.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms51.Picms != null ? new XElement(pf + "pICMS", det.belImposto.belIcms.belIcms51.Picms.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms51.Vicms != null ? new XElement(pf + "vICMS", det.belImposto.belIcms.belIcms51.Vicms.ToString("#0.00").Replace(",", ".")) : null)) : null), //-------------ICMS60-------------// (det.belImposto.belIcms.belIcms60 != null ? new XElement(pf + "ICMS60",//Danner - o.s. sem - 12/03/2010 (det.belImposto.belIcms.belIcms60.Orig != null ? new XElement(pf + "orig", det.belImposto.belIcms.belIcms60.Orig.ToString()) : null), (det.belImposto.belIcms.belIcms60.Cst != null ? new XElement(pf + "CST", det.belImposto.belIcms.belIcms60.Cst.ToString()) : null), (det.belImposto.belIcms.belIcms60.Vbcst != null ? new XElement(pf + "vBCSTRet", det.belImposto.belIcms.belIcms60.Vbcst.ToString("#0.00").Replace(",", ".")) : null),//NFe_2.0 - Mudança de nome de Tag (det.belImposto.belIcms.belIcms60.Vicmsst != null ? new XElement(pf + "vICMSSTRet", det.belImposto.belIcms.belIcms60.Vicmsst.ToString("#0.00").Replace(",", ".")) : null)) : null),//NFe_2.0 Mudança de nome de Tag //-------------ICMS70-------------// (det.belImposto.belIcms.belIcms70 != null ? new XElement(pf + "ICMS70", (det.belImposto.belIcms.belIcms70.Orig != null ? new XElement(pf + "orig", det.belImposto.belIcms.belIcms70.Orig.ToString()) : null), (det.belImposto.belIcms.belIcms70.Cst != null ? new XElement(pf + "CST", det.belImposto.belIcms.belIcms70.Cst.ToString()) : null), (det.belImposto.belIcms.belIcms70.Modbc != null ? new XElement(pf + "modBC", det.belImposto.belIcms.belIcms70.Modbc.ToString()) : null), (det.belImposto.belIcms.belIcms70.Predbc != null ? new XElement(pf + "pRedBC", det.belImposto.belIcms.belIcms70.Predbc.ToString("#0.00").Replace(',', '.')) : null), //Danner - o.s. 24091 - 06/02/2010 (det.belImposto.belIcms.belIcms70.Vbc != null ? new XElement(pf + "vBC", det.belImposto.belIcms.belIcms70.Vbc.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms70.Picms != null ? new XElement(pf + "pICMS", det.belImposto.belIcms.belIcms70.Picms.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms70.Vicms != null ? new XElement(pf + "vICMS", det.belImposto.belIcms.belIcms70.Vicms.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms70.Modbcst != null ? new XElement(pf + "modBCST", det.belImposto.belIcms.belIcms70.Modbcst.ToString()) : null), (det.belImposto.belIcms.belIcms70.Pmvast != 0 ? new XElement(pf + "pMVAST", det.belImposto.belIcms.belIcms70.Pmvast.ToString("#0.00").Replace(",", ".")) : null), //Claudinei - o.s. sem - 12/03/2010 (det.belImposto.belIcms.belIcms70.Predbcst.ToString() != "0" ? new XElement(pf + "pRedBCST", det.belImposto.belIcms.belIcms70.Predbcst.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms70.Vbcst != null ? new XElement(pf + "vBCST", det.belImposto.belIcms.belIcms70.Vbcst.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms70.Picmsst != null ? new XElement(pf + "pICMSST", det.belImposto.belIcms.belIcms70.Picmsst.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms70.Vicmsst != null ? new XElement(pf + "vICMSST", det.belImposto.belIcms.belIcms70.Vicmsst.ToString("#0.00").Replace(",", ".")) : null)) : null), //-------------ICMS90-------------// (det.belImposto.belIcms.belIcms90 != null ? new XElement(pf + "ICMS90", (det.belImposto.belIcms.belIcms90.Orig != null ? new XElement(pf + "orig", det.belImposto.belIcms.belIcms90.Orig.ToString()) : null), (det.belImposto.belIcms.belIcms90.Cst != null ? new XElement(pf + "CST", det.belImposto.belIcms.belIcms90.Cst.ToString()) : null), (det.belImposto.belIcms.belIcms90.Modbc != null ? new XElement(pf + "modBC", det.belImposto.belIcms.belIcms90.Modbc.ToString()) : null), (det.belImposto.belIcms.belIcms90.Vbc != null ? new XElement(pf + "vBC", det.belImposto.belIcms.belIcms90.Vbc.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms90.Predbc != 0 ? new XElement(pf + "pRedBC", det.belImposto.belIcms.belIcms90.Predbc.ToString("#0.00").Replace(',', '.')) : null), //Danner - o.s. 24091 - 06/02/2010 //Claudinei - o.s. sem - 24/02/2010 (det.belImposto.belIcms.belIcms90.Picms != null ? new XElement(pf + "pICMS", det.belImposto.belIcms.belIcms90.Picms.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms90.Vicms != null ? new XElement(pf + "vICMS", det.belImposto.belIcms.belIcms90.Vicms.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms90.Modbcst != null ? new XElement(pf + "modBCST", det.belImposto.belIcms.belIcms90.Modbcst.ToString()) : null), (det.belImposto.belIcms.belIcms90.Pmvast != 0 ? new XElement(pf + "pMVAST", det.belImposto.belIcms.belIcms90.Pmvast.ToString("#0.00").Replace(",", ".")) : null), //Claudinei - o.s. 24076 - 01/02/2010 (det.belImposto.belIcms.belIcms90.Predbcst.ToString() != "0" ? new XElement(pf + "pRedBCST", det.belImposto.belIcms.belIcms90.Predbcst.ToString("#0.00").Replace(",", ".")) : null), //Claudinei - o.s. 24076 - 01/02/2010 (det.belImposto.belIcms.belIcms90.Vbcst != null ? new XElement(pf + "vBCST", det.belImposto.belIcms.belIcms90.Vbcst.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms90.Picmsst != null ? new XElement(pf + "pICMSST", det.belImposto.belIcms.belIcms90.Picmsst.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belIcms90.Vicmsst != null ? new XElement(pf + "vICMSST", det.belImposto.belIcms.belIcms90.Vicmsst.ToString("#0.00").Replace(",", ".")) : null)) : null), //-------------ICMSSN101--------------// (det.belImposto.belIcms.belICMSSN101 != null ? new XElement(pf + "ICMSSN101", (det.belImposto.belIcms.belICMSSN101.orig != null ? new XElement(pf + "orig", det.belImposto.belIcms.belICMSSN101.orig.ToString()) : null), new XElement(pf + "CSOSN", det.belImposto.belIcms.belICMSSN101.CSOSN.ToString()), (det.belImposto.belIcms.belICMSSN101.pCredSN != null ? new XElement(pf + "pCredSN", det.belImposto.belIcms.belICMSSN101.pCredSN.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belICMSSN101.vCredICMSSN != null ? new XElement(pf + "vCredICMSSN", det.belImposto.belIcms.belICMSSN101.vCredICMSSN.ToString("#0.00").Replace(",", ".")) : null)) : null), //-------------ICMSSN102--------------// (det.belImposto.belIcms.belICMSSN102 != null ? new XElement(pf + "ICMSSN102", (det.belImposto.belIcms.belICMSSN102.orig != null ? new XElement(pf + "orig", det.belImposto.belIcms.belICMSSN102.orig.ToString()) : null), new XElement(pf + "CSOSN", det.belImposto.belIcms.belICMSSN102.CSOSN.ToString())) : null), //-------------ICMSSN201--------------// (det.belImposto.belIcms.belICMSSN201 != null ? new XElement(pf + "ICMSSN201", (det.belImposto.belIcms.belICMSSN201.orig != null ? new XElement(pf + "orig", det.belImposto.belIcms.belICMSSN201.orig.ToString()) : null), new XElement(pf + "CSOSN", det.belImposto.belIcms.belICMSSN201.CSOSN.ToString()), (det.belImposto.belIcms.belICMSSN201.modBCST != null ? new XElement(pf + "modBCST", det.belImposto.belIcms.belICMSSN201.modBCST.ToString()) : null), (det.belImposto.belIcms.belICMSSN201.pMVAST != null ? new XElement(pf + "pMVAST", det.belImposto.belIcms.belICMSSN201.pMVAST.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belICMSSN201.pRedBCST != null ? new XElement(pf + "pRedBCST", det.belImposto.belIcms.belICMSSN201.pRedBCST.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belICMSSN201.vBCST != null ? new XElement(pf + "vBCST", det.belImposto.belIcms.belICMSSN201.vBCST.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belICMSSN201.pICMSST != null ? new XElement(pf + "pICMSST", det.belImposto.belIcms.belICMSSN201.pICMSST.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belICMSSN201.vICMSST != null ? new XElement(pf + "vICMSST", det.belImposto.belIcms.belICMSSN201.vICMSST.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belICMSSN201.pCredSN != null ? new XElement(pf + "pCredSN", det.belImposto.belIcms.belICMSSN201.pCredSN.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belICMSSN201.vCredICMSSN != null ? new XElement(pf + "vCredICMSSN", det.belImposto.belIcms.belICMSSN201.vCredICMSSN.ToString("#0.00").Replace(",", ".")) : null)) : null), //-------------ICMSSN500--------------// (det.belImposto.belIcms.belICMSSN500 != null ? new XElement(pf + "ICMSSN500", (det.belImposto.belIcms.belICMSSN500.orig != null ? new XElement(pf + "orig", det.belImposto.belIcms.belICMSSN500.orig.ToString()) : null), new XElement(pf + "CSOSN", det.belImposto.belIcms.belICMSSN500.CSOSN.ToString()), (det.belImposto.belIcms.belICMSSN500.vBCSTRet != null ? new XElement(pf + "vBCSTRet", det.belImposto.belIcms.belICMSSN500.vBCSTRet.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIcms.belICMSSN500.vICMSSTRet != null ? new XElement(pf + "vICMSSTRet", det.belImposto.belIcms.belICMSSN500.vICMSSTRet.ToString("#0.00").Replace(",", ".")) : null)) : null), //-------------ICMSSN900--------------// (det.belImposto.belIcms.belICMSSN900 != null ? new XElement(pf + "ICMSSN900", (det.belImposto.belIcms.belICMSSN900.orig != null ? new XElement(pf + "orig", det.belImposto.belIcms.belICMSSN900.orig.ToString()) : null), new XElement(pf + "CSOSN", det.belImposto.belIcms.belICMSSN900.CSOSN.ToString())) : null)), //(det.belImposto.belIcms.belICMSSN900.modBC != null ? new XElement(pf + "modBC", det.belImposto.belIcms.belICMSSN900.modBC.ToString()) : null), //(det.belImposto.belIcms.belICMSSN900.vBC != null ? new XElement(pf + "vBC", det.belImposto.belIcms.belICMSSN900.vBC.ToString("#0.00").Replace(",", ".")) : null), //(det.belImposto.belIcms.belICMSSN900.pRedBC != null ? new XElement(pf + "pRedBC", det.belImposto.belIcms.belICMSSN900.pRedBC.ToString("#0.00").Replace(",", ".")) : null), //(det.belImposto.belIcms.belICMSSN900.pICMS != null ? new XElement(pf + "pICMS", det.belImposto.belIcms.belICMSSN900.pICMS.ToString("#0.00").Replace(",", ".")) : null), //(det.belImposto.belIcms.belICMSSN900.vICMS != null ? new XElement(pf + "vICMS", det.belImposto.belIcms.belICMSSN900.vICMS.ToString("#0.00").Replace(",", ".")) : null), //(det.belImposto.belIcms.belICMSSN900.modBCST != null ? new XElement(pf + "modBCST", det.belImposto.belIcms.belICMSSN900.modBCST.ToString()) : null), //(det.belImposto.belIcms.belICMSSN900.pMVAST != null ? new XElement(pf + "pMVAST", det.belImposto.belIcms.belICMSSN900.pMVAST.ToString("#0.00").Replace(",", ".")) : null), //(det.belImposto.belIcms.belICMSSN900.pRedBCST != null ? new XElement(pf + "pRedBCST", det.belImposto.belIcms.belICMSSN900.pRedBCST.ToString("#0.00").Replace(",", ".")) : null), //(det.belImposto.belIcms.belICMSSN900.vBCST != null ? new XElement(pf + "vBCST", det.belImposto.belIcms.belICMSSN900.vBCST.ToString("#0.00").Replace(",", ".")) : null), //(det.belImposto.belIcms.belICMSSN900.pICMSST != null ? new XElement(pf + "pICMSST", det.belImposto.belIcms.belICMSSN900.pICMSST.ToString("#0.00").Replace(",", ".")) : null), //(det.belImposto.belIcms.belICMSSN900.vICMSST != null ? new XElement(pf + "vICMSST", det.belImposto.belIcms.belICMSSN900.vICMSST.ToString("#0.00").Replace(",", ".")) : null), //(det.belImposto.belIcms.belICMSSN900.vBCSTRet != null ? new XElement(pf + "vBCSTRet", det.belImposto.belIcms.belICMSSN900.vBCSTRet.ToString("#0.00").Replace(",", ".")) : null), //(det.belImposto.belIcms.belICMSSN900.vICMSSTRet != null ? new XElement(pf + "vICMSSTRet", det.belImposto.belIcms.belICMSSN900.vICMSSTRet.ToString("#0.00").Replace(",", ".")) : null), //(det.belImposto.belIcms.belICMSSN900.pCredSN != null ? new XElement(pf + "pCredSN", det.belImposto.belIcms.belICMSSN900.pCredSN.ToString("#0.00").Replace(",", ".")) : null), //(det.belImposto.belIcms.belICMSSN900.vCredICMSSN != null ? new XElement(pf + "vCredICMSSN", det.belImposto.belIcms.belICMSSN900.vCredICMSSN.ToString("#0.00").Replace(",", ".")) : null)) : null)), //---------------IPI-------------// (det.belImposto.belIpi != null ? new XElement(pf + "IPI", (det.belImposto.belIpi.Clenq != null ? new XElement(pf + "clEnq", det.belImposto.belIpi.Clenq.ToString()) : null), (det.belImposto.belIpi.Cnpjprod != null ? new XElement(pf + "CNPJProd", det.belImposto.belIpi.Cnpjprod.ToString()) : null), (det.belImposto.belIpi.Cselo != null ? new XElement(pf + "cSelo", det.belImposto.belIpi.Cselo.ToString()) : null), (det.belImposto.belIpi.Qselo != null ? new XElement(pf + "qSelo", det.belImposto.belIpi.Qselo.ToString()) : null), (det.belImposto.belIpi.Cenq != null ? new XElement(pf + "cEnq", det.belImposto.belIpi.Cenq.ToString()) : null), //-----------IPITrib-----------// (det.belImposto.belIpi.belIpitrib != null ? new XElement(pf + "IPITrib", (det.belImposto.belIpi.belIpitrib.Cst != null ? new XElement(pf + "CST", det.belImposto.belIpi.belIpitrib.Cst.ToString()) : null), (det.belImposto.belIpi.belIpitrib.Vbc != null ? new XElement(pf + "vBC", det.belImposto.belIpi.belIpitrib.Vbc.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIpi.belIpitrib.Qunid != null ? new XElement(pf + "qUnid", det.belImposto.belIpi.belIpitrib.Qunid.ToString()) : null), (det.belImposto.belIpi.belIpitrib.Vunid != 0 ? new XElement(pf + "vUnid", det.belImposto.belIpi.belIpitrib.Vunid.ToString("#0.0000").Replace(",", ".")) : null), (det.belImposto.belIpi.belIpitrib.Pipi != null ? new XElement(pf + "pIPI", det.belImposto.belIpi.belIpitrib.Pipi.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIpi.belIpitrib.Vipi != null ? new XElement(pf + "vIPI", det.belImposto.belIpi.belIpitrib.Vipi.ToString("#0.00").Replace(",", ".")) : null)) : null), //-----------IPINT-----------// (det.belImposto.belIpi.belIpint != null ? new XElement(pf + "IPINT", (det.belImposto.belIpi.belIpint != null ? new XElement(pf + "CST", det.belImposto.belIpi.belIpint.Cst.ToString()) : null)) : null)) : null), //--------------II--------------// (det.belImposto.belIi != null ? new XElement(pf + "II", (det.belImposto.belIi.Vbc != null ? new XElement(pf + "vBC", det.belImposto.belIi.Vbc.ToString("#0.00").Replace(',', '.')) : null), (det.belImposto.belIi.Vdespadu != null ? new XElement(pf + "vDespAdu", det.belImposto.belIi.Vdespadu.ToString()) : null), (det.belImposto.belIi.Vii != null ? new XElement(pf + "vII", det.belImposto.belIi.Vii.ToString("0.00").Replace(',', '.')) : null), (det.belImposto.belIi.Viof != null ? new XElement(pf + "vIOF", det.belImposto.belIi.Viof.ToString("#0.00").Replace(',', '.')) : null)) : null), //----------------PIS------------// (det.belImposto.belPis != null ? new XElement(pf + "PIS", //-----------PISAliq----------// (det.belImposto.belPis.belPisaliq != null ? new XElement(pf + "PISAliq", (det.belImposto.belPis.belPisaliq.Cst != null ? new XElement(pf + "CST", det.belImposto.belPis.belPisaliq.Cst.ToString()) : null), (det.belImposto.belPis.belPisaliq.Vbc != null ? new XElement(pf + "vBC", det.belImposto.belPis.belPisaliq.Vbc.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belPis.belPisaliq.Ppis != null ? new XElement(pf + "pPIS", det.belImposto.belPis.belPisaliq.Ppis.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belPis.belPisaliq.Vpis != null ? new XElement(pf + "vPIS", det.belImposto.belPis.belPisaliq.Vpis.ToString("#0.00").Replace(",", ".")) : null)) : null), //-----------PISQtde-----------// (det.belImposto.belPis.belPisqtde != null ? new XElement(pf + "PISQtde", (det.belImposto.belPis.belPisqtde.Cst != null ? new XElement(pf + "CST", det.belImposto.belPis.belPisqtde.Cst.ToString()) : null), (det.belImposto.belPis.belPisqtde.Qbcprod != 0 ? new XElement(pf + "qBCProd", det.belImposto.belPis.belPisqtde.Qbcprod.ToString()) : null), (det.belImposto.belPis.belPisqtde.Valiqprod != null ? new XElement(pf + "vAliqProd", det.belImposto.belPis.belPisqtde.Valiqprod.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belPis.belPisqtde.Vpis != null ? new XElement(pf + "vPIS", det.belImposto.belPis.belPisqtde.Vpis.ToString("#0.00").Replace(",", ".")) : null)) : null), //----------PISNT------------// (det.belImposto.belPis.belPisnt != null ? new XElement(pf + "PISNT", (det.belImposto.belPis.belPisnt.Cst != null ? new XElement(pf + "CST", det.belImposto.belPis.belPisnt.Cst.ToString()) : null)) : null), //----------PISOutr-----------// (det.belImposto.belPis.belPisoutr != null ? new XElement(pf + "PISOutr", (det.belImposto.belPis.belPisoutr.Cst != null ? new XElement(pf + "CST", det.belImposto.belPis.belPisoutr.Cst.ToString()) : null), (det.belImposto.belPis.belPisoutr.Vbc != null ? new XElement(pf + "vBC", det.belImposto.belPis.belPisoutr.Vbc.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belPis.belPisoutr.Ppis != null ? new XElement(pf + "pPIS", det.belImposto.belPis.belPisoutr.Ppis.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belPis.belPisoutr.Qbcprod != 0 ? new XElement(pf + "qBCProd", det.belImposto.belPis.belPisoutr.Qbcprod.ToString()) : null), (det.belImposto.belPis.belPisoutr.Valiqprod != 0 ? new XElement(pf + "vAliqProd", det.belImposto.belPis.belPisoutr.Valiqprod.ToString("#0.0000").Replace(",", ".")) : null), (det.belImposto.belPis.belPisoutr.Vpis != null ? new XElement(pf + "vPIS", det.belImposto.belPis.belPisoutr.Vpis.ToString("#0.00").Replace(",", ".")) : null)) : null)) : null), //---------------COFINS---------------// (det.belImposto.belCofins != null ? new XElement(pf + "COFINS", //-----------COFINSAliq------------// (det.belImposto.belCofins.belCofinsaliq != null ? new XElement(pf + "COFINSAliq", new XElement(pf + "CST", det.belImposto.belCofins.belCofinsaliq.Cst.ToString()), new XElement(pf + "vBC", det.belImposto.belCofins.belCofinsaliq.Vbc.ToString("#0.00").Replace(",", ".")), new XElement(pf + "pCOFINS", det.belImposto.belCofins.belCofinsaliq.Pcofins.ToString("#0.00").Replace(",", ".")), new XElement(pf + "vCOFINS", det.belImposto.belCofins.belCofinsaliq.Vcofins.ToString("#0.00").Replace(",", "."))) : null), //------------COFINSQtde------------// (det.belImposto.belCofins.belCofinsqtde != null ? new XElement(pf + "COFINSQtde", new XElement(pf + "CST", det.belImposto.belCofins.belCofinsqtde.Cst.ToString()), new XElement(pf + "pBCProd", det.belImposto.belCofins.belCofinsqtde.Qbcprod.ToString()), new XElement(pf + "vAliqProd", det.belImposto.belCofins.belCofinsqtde.Valiqprod.ToString("#0.00").Replace(",", ".")), new XElement(pf + "vCOFINS", det.belImposto.belCofins.belCofinsqtde.Vcofins.ToString("#0.00").Replace(",", "."))) : null), //------------COFINSNT--------------// (det.belImposto.belCofins.belCofinsnt != null ? new XElement(pf + "COFINSNT", (det.belImposto.belCofins.belCofinsnt.Cst != null ? new XElement(pf + "CST", det.belImposto.belCofins.belCofinsnt.Cst.ToString()) : null)) : null), //------------COFINSOutr--------------// (det.belImposto.belCofins.belCofinsoutr != null ? new XElement(pf + "COFINSOutr", new XElement(pf + "CST", det.belImposto.belCofins.belCofinsoutr.Cst.ToString()), new XElement(pf + "vBC", det.belImposto.belCofins.belCofinsoutr.Vbc.ToString("#0.00").Replace(",", ".")), new XElement(pf + "pCOFINS", det.belImposto.belCofins.belCofinsoutr.Pcofins.ToString("#0.00").Replace(",", ".")), new XElement(pf + "vCOFINS", det.belImposto.belCofins.belCofinsoutr.Vcofins.ToString("#0.00").Replace(",", "."))) : null)) : null), //----------------ISSQN-----------------// (det.belImposto.belIss != null ? new XElement(pf + "ISSQN", (det.belImposto.belIss.Vbc != null ? new XElement(pf + "vBC", det.belImposto.belIss.Vbc.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIss.Valiq != null ? new XElement(pf + "vAliq", det.belImposto.belIss.Valiq.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIss.Vissqn != null ? new XElement(pf + "vISSQN", det.belImposto.belIss.Vissqn.ToString("#0.00").Replace(",", ".")) : null), (det.belImposto.belIss.Cmunfg != null ? new XElement(pf + "cMunFG", det.belImposto.belIss.Cmunfg.ToString()) : null), (det.belImposto.belIss.Clistserv != null ? new XElement(pf + "cListServ", det.belImposto.belIss.Clistserv.ToString()) : null), (det.belImposto.belIss.cSitTrib != null ? new XElement(pf + "cSitTrib", det.belImposto.belIss.cSitTrib.ToString()) : null)) : null)), // NFe_2.0 Tratar item //-----------INFADPROD-------------// (det.belInfadprod != null ? (det.belInfadprod.Infadprid != null ? new XElement(pf + "infAdProd", det.belInfadprod.Infadprid.ToString()) : null) : null))); //Danner - o.s. sem -21/12/2009 lcondet.Add(condet); } #endregion } catch (Exception x) { throw new Exception("Nota de Sequência - " + sNota + "Erro na geração do XML, Regiao XML_Detalhes - " + x.Message); } #endregion //Total XContainer contotal; try { belTotal objtotal = i[5] as belTotal; #region XML_Total contotal = (new XElement(pf + "total", (objtotal.belIcmstot != null ? new XElement(pf + "ICMSTot", new XElement(pf + "vBC", objtotal.belIcmstot.Vbc.ToString("#0.00").Replace(",", ".")),//Danner - o.s. 24271 - 15/03/2010 new XElement(pf + "vICMS", objtotal.belIcmstot.Vicms.ToString("#0.00").Replace(",", ".")), new XElement(pf + "vBCST", objtotal.belIcmstot.Vbcst.ToString("#0.00").Replace(",", ".")), new XElement(pf + "vST", objtotal.belIcmstot.Vst.ToString("#0.00").Replace(",", ".")), new XElement(pf + "vProd", objtotal.belIcmstot.Vprod.ToString("#0.00").Replace(",", ".")), new XElement(pf + "vFrete", objtotal.belIcmstot.Vfrete.ToString("#0.00").Replace(",", ".")), new XElement(pf + "vSeg", objtotal.belIcmstot.Vseg.ToString("#0.00").Replace(",", ".")), new XElement(pf + "vDesc", objtotal.belIcmstot.Vdesc.ToString("#0.00").Replace(",", ".")), new XElement(pf + "vII", objtotal.belIcmstot.Vii.ToString("#0.00").Replace(",", ".")), new XElement(pf + "vIPI", objtotal.belIcmstot.Vipi.ToString("#0.00").Replace(",", ".")), new XElement(pf + "vPIS", objtotal.belIcmstot.Vpis.ToString("#0.00").Replace(",", ".")), new XElement(pf + "vCOFINS", objtotal.belIcmstot.Vcofins.ToString("#0.00").Replace(",", ".")), new XElement(pf + "vOutro", objtotal.belIcmstot.Voutro.ToString("#0.00").Replace(",", ".")), new XElement(pf + "vNF", objtotal.belIcmstot.Vnf.ToString("#0.00").Replace(",", "."))) : null), (objtotal.belIssqntot != null ? new XElement(pf + "ISSQNtot", new XElement(pf + "vServ", objtotal.belIssqntot.Vserv.ToString("#0.00").Replace(",", ".")), new XElement(pf + "vBC", objtotal.belIssqntot.Vbc.ToString("#0.00").Replace(",", ".")), new XElement(pf + "vISS", objtotal.belIssqntot.Viss.ToString("#0.00").Replace(",", ".")), (objtotal.belIssqntot.Vpis != 0 ? new XElement(pf + "vPIS", objtotal.belIssqntot.Vpis.ToString("#0.00").Replace(",", ".")) : null), (objtotal.belIssqntot.Vcofins != 0 ? new XElement(pf + "vCOFINS", objtotal.belIssqntot.Vcofins.ToString("#0.00").Replace(",", ".")) : null)) : null))); //(objtotal.belRetTrib != null ? new XElement(pf + "retTrib", // new XElement(pf + "vRetPIS", objtotal.belRetTrib.Vretpis.ToString("#0.00").Replace(",", ".")), // new XElement(pf + "vRetCOFINS", objtotal.belRetTrib.Vretcofins.ToString("#0.00").Replace(",", ".")), // new XElement(pf + "vRetCSLL", objtotal.belRetTrib.Vretcsll.ToString("#0.00").Replace(",", ".")), // new XElement(pf + "vBCIRRF", objtotal.belRetTrib.Vbcirrf.ToString("#0.00"), // new XElement(pf + "vIRRF", objtotal.belRetTrib.Virrf.ToString("#0.00").Replace(",", ".")), // new XElement(pf + "vBCRetPrev", objtotal.belRetTrib.Vbcretprev.ToString("#0.00").Replace(",", ".")), // new XElement(pf + "vRetPrev", objtotal.belRetTrib.Vretprev.ToString("#0.00").Replace(",", "."))) : null))); #endregion } catch (Exception x) { throw new Exception("Nota de Sequência - " + sNota + "Erro na geração do XML, Regiao XML_Total - " + x.Message); } //Fim - Total //Frete XContainer contransp; belTransp objtransp; try { objtransp = i[6] as belTransp; #region XML_Transporte contransp = (new XElement(pf + "transp", new XElement(pf + "modFrete", objtransp.Modfrete.ToString()), new XElement(pf + "transporta", (objtransp.belTransportadora.Cnpj != null ? new XElement(pf + "CNPJ", objtransp.belTransportadora.Cnpj.ToString()) : (objtransp.belTransportadora.Cpf != null ? new XElement(pf + "CPF", objtransp.belTransportadora.Cpf.ToString()) : null)), (objtransp.belTransportadora.Xnome != null ? new XElement(pf + "xNome", objtransp.belTransportadora.Xnome.ToString()) : null), (objtransp.belTransportadora.Ie != null ? new XElement(pf + "IE", objtransp.belTransportadora.Ie.ToString()) : null), (objtransp.belTransportadora.Xender != null ? new XElement(pf + "xEnder", objtransp.belTransportadora.Xender.ToString()) : null), (objtransp.belTransportadora.Xmun != null ? new XElement(pf + "xMun", objtransp.belTransportadora.Xmun.ToString()) : null), (objtransp.belTransportadora.Uf != null ? new XElement(pf + "UF", objtransp.belTransportadora.Uf.ToString()) : null)), (objtransp.belRetTransp != null ? (new XElement(pf + "retTransp", new XElement(pf + "vServ", objtransp.belRetTransp.Vserv.ToString("#0.00").Replace(',', '.')), new XElement(pf + "vBCRet", objtransp.belRetTransp.Vbvret.ToString("#0.00").Replace(',', '.')), new XElement(pf + "pICMSRet", objtransp.belRetTransp.Picmsret.ToString()), new XElement(pf + "vICMSRet", objtransp.belRetTransp.Vicmsret.ToString("#0.00").Replace(',', '.')), new XElement(pf + "CFOP", objtransp.belRetTransp.Cfop.ToString()), new XElement(pf + "cMunFG", objtransp.belRetTransp.Cmunfg.ToString()))) : null), (objtransp.belVeicTransp != null ? (new XElement(pf + "veicTransp", (objtransp.belVeicTransp.Placa != null ? new XElement(pf + "placa", objtransp.belVeicTransp.Placa.ToString()) : null), (objtransp.belVeicTransp.Uf != null ? new XElement(pf + "UF", objtransp.belVeicTransp.Uf.ToString()) : null), (objtransp.belVeicTransp.Rntc != null ? new XElement(pf + "RNTC", objtransp.belVeicTransp.Rntc.ToString()) : null))) : null), (objtransp.belReboque != null ? new XElement(pf + "reboque", (objtransp.belReboque.Placa != null ? new XElement(pf + "placa", objtransp.belReboque.Placa.ToString()) : null), (objtransp.belReboque.Uf != null ? new XElement(pf + "UF", objtransp.belReboque.Uf.ToString()) : null), (objtransp.belReboque.Rntc != null ? new XElement(pf + "RNTC", objtransp.belReboque.Rntc.ToString()) : null)) : null), (objtransp.belVol != null ? new XElement(pf + "vol", new XElement(pf + "qVol", objtransp.belVol.Qvol.ToString("#")), new XElement(pf + "esp", objtransp.belVol.Esp.ToString()), new XElement(pf + "marca", objtransp.belVol.Marca.ToString()), (objtransp.belVol.Nvol != null ? new XElement(pf + "nVol", objtransp.belVol.Nvol.ToString()) : null),//Danner - o.s. 24385 - 26/04/2010 new XElement(pf + "pesoL", objtransp.belVol.PesoL.ToString("#0.000").Replace(",", ".")), new XElement(pf + "pesoB", objtransp.belVol.PesoB.ToString("#0.000").Replace(",", "."))) : null), (objtransp.belLacres != null ? new XElement(pf + "lacres", new XElement(pf + "nLacre", "")) : null))); #endregion } catch (Exception x) { throw new Exception("Nota de Sequência - " + sNota + "Erro na geração do XML, Regiao XML_Transporte - " + x.Message); } //Fim - Frete //Duplicata XContainer concobr; belCobr objcob; try { objcob = i[7] as belCobr; belGerarXML BuscaConexao = new belGerarXML(); #region XML_Cobrança concobr = (new XElement(pf + "cobr", new XElement(pf + "fat", new XElement(pf + "nFat", objcob.belFat.Nfat.ToString()), (objcob.belFat.Vorig != 0 ? new XElement(pf + "vOrig", objcob.belFat.Vorig.ToString("#0.00").Replace(",", ".")) : null), (objcob.belFat.Vdesc != null && objcob.belFat.Vdesc != 0 ? new XElement(pf + "vDesc", objcob.belFat.Vdesc.ToString("#0.00").Replace(",", ".")) : null), (objcob.belFat.Vliq != 0 ? new XElement(pf + "vLiq", objcob.belFat.Vliq.ToString("#0.00").Replace(",", ".")) : null)), (objcob.belFat.belDup != null ? from dup in objcob.belFat.belDup select new XElement(pf + "dup", new XElement(pf + "nDup", dup.Ndup.ToString()), new XElement(pf + "dVenc", dup.Dvenc.ToString("yyyy-MM-dd")), (BuscaConexao.nm_Cliente != "LORENZON" ? new XElement(pf + "vDup", dup.Vdup.ToString("#0.00").Replace(",", ".")) : null)) : null))); #endregion } catch (Exception x) { throw new Exception("Nota de Sequência - " + sNota + "Erro na geração do XML, Region XML_Cobrança - " + x.Message); } //Fim - Duplicata //Obs XContainer conobs; belInfAdic objobs; try { objobs = i[8] as belInfAdic; #region XML_Obs conobs = new XElement(pf + "infAdic", (objobs.Infcpl != null ? new XElement(pf + "infCpl", objobs.Infcpl.ToString()) : null)); #endregion } catch (Exception x) { throw new Exception("Nota de Sequência - " + sNota + "Erro na geração do XML,Regiao XML_Obs - " + x.Message); } //Fim - Obs //Uniao dos Containers try { concabec.Add(coninfnfe); coninfnfe.Add(conide); conide.AddAfterSelf(conemit); conemit.AddAfterSelf(condest); condest.AddAfterSelf(contotal); contotal.AddAfterSelf(contransp); if (concobr != null) { contransp.AddAfterSelf(concobr); if (objobs.Infcpl != null) concobr.AddAfterSelf(conobs); } else { if (objobs.Infcpl != null) contransp.AddAfterSelf(conobs); } foreach (XElement x in lcondet) { contotal.AddBeforeSelf(x); } } catch (Exception x) { throw new Exception("Nota de Sequência - " + sNota + "Erro na montagem do XML, União dos Containers - " + x.Message); } try { AssinaNFeXml Assinatura = new AssinaNFeXml(); string nfe = Assinatura.ConfigurarArquivo(concabec.ToString(), "infNFe", cert); nfes.Add(nfe); XElement xnfe = XElement.Parse(nfe); XDocument xdocsalvanfesemlot = new XDocument(xnfe); DirectoryInfo dPastaData = new DirectoryInfo(glob.LeRegConfig("PastaXmlEnvio").ToString() + "\\" + sNFe.Substring(5, 4)); if (!dPastaData.Exists) { dPastaData.Create(); } if (sFormaEmiNFe.Equals("2")) { xdocsalvanfesemlot.Save(glob.LeRegConfig("PastaContingencia").ToString() + "\\" + sNFe.Replace("NFe", "") + "-nfe.xml"); } else { xdocsalvanfesemlot.Save(glob.LeRegConfig("PastaXmlEnvio").ToString() + "\\" + sNFe.Substring(5, 4) + "\\" + sNFe.Replace("NFe", "") + "-nfe.xml"); // OS_25024 } //StreamWriter swnfe = new StreamWriter(glob.LeRegWin("PastaXmlEnvio").ToString() + "\\" + sNFe.Replace("NFe", "") + "-nfe.xml"); //swnfe.Write(nfe); //swnfe.Close(); } catch (Exception x) { throw new Exception("Nota de Sequência - " + sNota + "Erro ao assinar a nfe de sequencia " + sNota + x.Message); } iCount++; } //Concatenando as NFes. string sXmlComp = ""; //Junta todos os XML's em texto foreach (var i in nfes) { sXmlComp = sXmlComp + i; } //Estou inserindo o enviNFe pois se eu transformar o arquivo xml assinado em xml e depois em testo usando um toString, //a assinatura se torna invalida. Então depois de assinado do trabalho em forma de testo como xml ateh envia-lo pra fazenda. sXmlfull = "<?xml version=\"1.0\" encoding=\"utf-8\"?><enviNFe xmlns=\"http://www.portalfiscal.inf.br/nfe\" versao=\"2.00\"><idLote>" + sNomeArq.Substring(7, 15) + "</idLote>" + sXmlComp + "</enviNFe>"; //Grava StreamWriter sw = new StreamWriter(sPath); sw.Write(sXmlfull); sw.Close(); #region Valida_Xml Globais getschema = new Globais(); //string sXml = File.OpenText(sPath).ReadToEnd(); XmlSchemaCollection myschema = new XmlSchemaCollection(); XmlValidatingReader reader; //Danner - o.s. 23732 - 06/11/2009 try { XmlParserContext context = new XmlParserContext(null, null, "", XmlSpace.None); reader = new XmlValidatingReader(sXmlfull, XmlNodeType.Element, context); myschema.Add("http://www.portalfiscal.inf.br/nfe", getschema.LeRegConfig("PastaSchema") + "\\enviNFe_v2.00.xsd"); reader.ValidationType = ValidationType.Schema; reader.Schemas.Add(myschema); while (reader.Read()) { } } catch (XmlException x) { File.Delete(sPath); throw new Exception(x.Message); } catch (XmlSchemaException x) { File.Delete(sPath); throw new Exception(x.Message); } //Fim - Danner - o.s. 23732 - 06/11/2009 #endregion } catch (Exception ex) { Conn.Close(); throw ex; } finally { Conn.Close(); } }
/// <summary> /// Popula as Classes da NF-e. /// </summary> /// <param name="sEmp"></param> /// <param name="sNF"></param> /// <param name="sNomeArq"></param> /// <param name="sFormaEmissao"></param> /// <param name="sForDanfe"></param> /// <param name="tp_amb"></param> /// <param name="cd_ufnro"></param> /// <param name="cert"></param> public void NFe(string sEmp, List<string> sNF, string sNomeArq, string sFormaEmissao, string sForDanfe, int tp_amb, string cd_ufnro, X509Certificate2 cert, bool bModoSCAN, int iSerieSCAN, string sFormaEmiNFe, Version versao) { objbelGeraXml = new belGerarXML(); Conn = objbelGeraXml.Conn; Conn.Open(); this.sFormaEmiNFe = sFormaEmiNFe; this.bModoSCAN = bModoSCAN; this.iSerieSCAN = iSerieSCAN; string sPath = ""; sPath = CarregarDadosXml("PastaXmlEnvio").ToString() + @sNomeArq; sTipoIndustrializacao = CarregarDadosXml("Industrializacao")[0].ToString(); if (File.Exists(sPath)) { File.Delete(sPath); } XDocument xdoc = new XDocument(); #region XML_Principal XNamespace pf = "http://www.portalfiscal.inf.br/nfe"; XContainer conenv = new XElement(pf + "enviNFe", new XAttribute("xmlns", "http://www.portalfiscal.inf.br/nfe"), new XAttribute("versao", "1.10"), new XElement(pf + "idLote", sNomeArq.Substring(7, 15))); #endregion Globais glob = new Globais(); int notaindex = 0; try { foreach (string sNota in sNF) { List<object> lObjNotas = new List<object>(); notaindex++; string sNFe = "NFe" + GeraChave(sEmp, sNota, Conn); // infNFE // Começa a Popular as Classes //Ide belIde objide; objide = BuscaIde(sEmp, sNota, sForDanfe, sFormaEmissao, versao); lObjNotas.Add(objide);//Danner - o.s. 24092 - 03/02/2010 //Fim - Ide //Emit belEmit objemit; objemit = BuscaEmit(sEmp, sForDanfe, sForDanfe, sNota); //Claudinei - o.s. 24222 - 08/03/2010 lObjNotas.Add(objemit);//Danner - o.s. 24092 - 03/02/2010 //Fim - Emit //dest belDest objdest; objdest = BuscaDest(sEmp, sNota); lObjNotas.Add(objdest);//Danner - o.s. 24092 - 03/02/2010 //Fim - dest //Endereço de entrega belEndEnt objendent; objendent = BuscaEndEnt(sEmp, sNota); lObjNotas.Add(objendent); //Fim - Endereço de entrega //Itens da NFe List<belDet> objdet = new List<belDet>(); objdet = BuscaItem(sEmp, sNota, objdest); lObjNotas.Add(objdet); //Totais belTotal objtotal; objtotal = BuscaTotais(sEmp, sNota, objdest); lObjNotas.Add(objtotal); //Fim - Totais //Frete belTransp objtransp; objtransp = BuscaFrete(sEmp, sNota); lObjNotas.Add(objtransp); //Fim - Frete //Duplicatas belCobr objcob; objcob = BuscaFat(sEmp, sNota); lObjNotas.Add(objcob); //Fim - Duplicatas //OBS belInfAdic objobs; objobs = BuscaObs(sEmp, sNota, objdest, objdet, objbelGeraXml); lObjNotas.Add(objobs); //Fim - OBS lTotNota.Add(lObjNotas); // Update para Gravar o numero da Chave no banco da nota corrente. for (int i = 0; i < 4; i++) { if (GravaNumeroChaveNota(sEmp, sNota, sNFe)) { break; } } } Conn.Close(); } catch (Exception ex) { Conn.Close(); throw ex; } }
/// <summary> /// Método Responsavel por gravar os campos cd_chavenferet e cd_nprotnfe. Responsavel tambem montar o TAG procNFe no xml e /// grava-lo na pasta de xml enviados. /// </summary> /// <param name="sEmp"></param> /// <param name="sSeq"></param> /// <param name="sNFe"></param> /// <param name="sChNfe"></param> /// <param name="sNProt"></param> /// <param name="xret"></param> /// <param name="glob"></param> /// <param name="pf"></param> public void geraProcNFe(string sEmp, string sSeq, string sNFe, string sChNfe, string sNProt, XmlNode xret, Globais glob, XNamespace pf)//Danner - o.s. 24435 - 05/05/2010 { XDocument retcab = new XDocument(); try { //String sql que dará o update no campos: cd_recibonfe, cd_chavenferet, cd_nprotnfe. StringBuilder sSql = new StringBuilder(); sSql.Append("update nf set cd_chavenferet ='"); sSql.Append(sChNfe); sSql.Append("', "); sSql.Append("cd_nprotnfe ='"); sSql.Append(sNProt); sSql.Append("' "); sSql.Append("Where nf.cd_empresa = '"); sSql.Append(sEmp); sSql.Append("' and "); sSql.Append("nf.cd_nfseq ='"); sSql.Append(sSeq); sSql.Append("'"); belGerarXML BuscaConexao = new belGerarXML(); using (FbConnection Conn = BuscaConexao.Conn) { using (FbCommand cmdUpdate = new FbCommand(sSql.ToString(), Conn)) { Conn.Open(); cmdUpdate.ExecuteNonQuery(); } } //Geração do Xml da nfe Autorizado, incluindo a TAG infProc onde consta as informaçoes de retorno da nfe. XContainer retproc = new XElement(pf + "nfeProc", new XAttribute("versao", "2.00"), new XAttribute("xmlns", "http://www.portalfiscal.inf.br/nfe")); XElement retxml = XElement.Parse(sNFe); string sCodificacao = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; string sRetProc = "<nfeProc versao=\"2.00\" xmlns=\"http://www.portalfiscal.inf.br/nfe\">"; XmlDocument xmldocteste = new XmlDocument(); xmldocteste.LoadXml(sNFe); DirectoryInfo dPastaData = new DirectoryInfo(glob.LeRegConfig("PastaXmlEnviado") + "\\" + sChNfe.Substring(2, 4)); if (!dPastaData.Exists) { dPastaData.Create(); } StreamWriter sw = new StreamWriter(glob.LeRegConfig("PastaXmlEnviado") +"\\"+ sChNfe.Substring(2,4)+ "\\" + sChNfe + "-nfe.xml"); //OS_25024 if (@xmldocteste.FirstChild.Name.Equals("xml")) { sw.Write(@sRetProc + @xmldocteste.OuterXml.Remove(0, 38) + @xret.OuterXml.ToString() + @"</nfeProc>"); } else { sw.Write(@sCodificacao + @sRetProc + @xmldocteste.OuterXml + @xret.OuterXml.ToString() + @"</nfeProc>"); } sw.Close(); //Geração do Xml da nfe Autorizado, incluindo a TAG infProc onde consta as informaçoes de retorno da nfe. } catch (Exception x) { throw new Exception("Erro na geração do XML Protocolado, infProt - " + x.Message); } }
private string retEmailTransportador(string sSeq, string sEmp) { StringBuilder sSql = new StringBuilder(); string email = ""; try { sSql.Append("select "); sSql.Append("transpor.cd_email "); sSql.Append("from "); sSql.Append("transpor inner join nf "); sSql.Append("on transpor.cd_trans = nf.cd_trans "); sSql.Append("where "); sSql.Append("nf.cd_empresa = '"); sSql.Append(sEmp); sSql.Append("' "); sSql.Append("and "); sSql.Append("nf.cd_nfseq = '"); sSql.Append(sSeq); sSql.Append("'"); belGerarXML BuscaConexao = new belGerarXML(); FbConnection Conn = BuscaConexao.Conn; Conn.Open(); FbCommand sqlConsulta = new FbCommand(sSql.ToString(), Conn); sqlConsulta.ExecuteNonQuery(); FbDataReader drDest = sqlConsulta.ExecuteReader(); drDest.Read(); string[] split = drDest["cd_email"].ToString().Split(';'); foreach (var i in split) { email = i; break; } Conn.Close(); } catch (Exception x) { throw new Exception(x.Message); } return email; }
private string geraChaveCanc(string sEmp, string sSeq) { StringBuilder sSql = new StringBuilder(); sSql.Append("Select "); sSql.Append("uf.nr_ufnfe, "); sSql.Append("coalesce(nf.cd_serie, 1) serie, "); sSql.Append("nf.cd_notafis nNF, "); sSql.Append("nf.dt_emi dEmi, "); sSql.Append("empresa.cd_cgc CNPJ, "); sSql.Append("nf.cd_nfseq cNF "); sSql.Append(" From "); sSql.Append("NF "); sSql.Append("inner join empresa on (empresa.cd_empresa = nf.cd_empresa) "); sSql.Append("left join uf on (uf.cd_uf = empresa.cd_ufnor) "); sSql.Append("where "); sSql.Append("(nf.cd_empresa ='"); sSql.Append(sEmp); sSql.Append("')"); sSql.Append(" and "); sSql.Append("(nf.cd_nfseq = '"); sSql.Append(sSeq); sSql.Append("')"); belGerarXML BuscaConexao = new belGerarXML(); FbConnection Conn = BuscaConexao.Conn; Conn.Open(); FbCommand sqlConsulta = new FbCommand(sSql.ToString(), Conn); sqlConsulta.ExecuteNonQuery(); FbDataReader drChave = sqlConsulta.ExecuteReader(); drChave.Read(); GeraXMLExp objgeraxmlexp = new GeraXMLExp(); string scUF, sAAmM, sCNPJ, sMod, sSerie, snNF, scNF; scUF = drChave["nr_ufnfe"].ToString().PadLeft(2, '0'); sAAmM = drChave["demi"].ToString().Replace("/", "").Substring(6, 2).ToString() + drChave["demi"].ToString().Replace("/", "").Substring(2, 2).ToString(); sCNPJ = objgeraxmlexp.TiraSimbolo(drChave["cnpj"].ToString(), ""); sCNPJ = sCNPJ.PadLeft(14, '0'); sMod = "55"; if (IsNumeric(drChave["serie"].ToString())) { sSerie = drChave["serie"].ToString().PadLeft(3, '0'); } else { sSerie = "001"; } snNF = drChave["nNF"].ToString().PadLeft(9, '0'); scNF = drChave["cNF"].ToString().PadLeft(9, '0'); string sChaveantDig = ""; string sChave = ""; string sDig = ""; sChaveantDig = scUF.Trim() + sAAmM.Trim() + sCNPJ.Trim() + sMod.Trim() + sSerie.Trim() + snNF.Trim() + scNF.Trim(); sDig = objgeraxmlexp.CalculaDig11(sChaveantDig).ToString(); sChave = sChaveantDig + sDig; Conn.Close(); return sChave; }
private void NfeDadosMsg() { XmlSchemaCollection myschema = new XmlSchemaCollection(); XmlValidatingReader reader; Globais sPath = new Globais(); try { StringBuilder sSql = new StringBuilder(); sSql.Append("select "); sSql.Append("cd_chavenferet, "); sSql.Append("cd_nprotnfe "); sSql.Append("from nf "); sSql.Append("where "); sSql.Append("(cd_empresa = '"); sSql.Append(_emp); sSql.Append("') "); sSql.Append("and "); sSql.Append("(cd_nfseq = '"); sSql.Append(_seq); sSql.Append("')"); belGerarXML BuscaConexao = new belGerarXML(); FbConnection Conn = BuscaConexao.Conn; Conn.Open(); FbCommand cmdcanc = new FbCommand(sSql.ToString(), Conn); cmdcanc.ExecuteNonQuery(); FbDataReader drCanc = cmdcanc.ExecuteReader(); drCanc.Read(); _chnfe = drCanc["cd_chavenferet"].ToString(); _nprot = drCanc["cd_nprotnfe"].ToString(); _id = "ID" + _chnfe; XNamespace xname = "http://www.portalfiscal.inf.br/nfe"; XDocument xdoc = new XDocument(new XElement(xname + "cancNFe", new XAttribute("versao", _versaodados), new XElement(xname + "infCanc", new XAttribute("Id", _id), new XElement(xname + "tpAmb", _tpamb), new XElement(xname + "xServ", _xserv), new XElement(xname + "chNFe", _chnfe), new XElement(xname + "nProt", _nprot), new XElement(xname + "xJust", _xjust)))); xdoc.Save(_spath + "\\" + _seq + "_ped-can.xml"); AssinaNFeCancXml assinaCanc = new AssinaNFeCancXml(); assinaCanc.ConfigurarArquivo(_spath + "\\" + _seq + "_ped-can.xml", "infCanc", _cert); StreamReader ler; ler = File.OpenText(_spath + "\\" + _seq + "_ped-can.xml"); XmlParserContext context = new XmlParserContext(null, null, "", XmlSpace.None); reader = new XmlValidatingReader(ler.ReadToEnd().ToString(), XmlNodeType.Element, context); myschema.Add("http://www.portalfiscal.inf.br/nfe", _sschema + "\\cancNFe_v2.00.xsd"); reader.ValidationType = ValidationType.Schema; reader.Schemas.Add(myschema); while (reader.Read()) { } } catch (Exception x) { throw new Exception(x.Message); } }
public belTransp BuscaFrete(string sEmp, string sNF) { belGerarXML objbelGeraXml = new belGerarXML(); belTransp objtransp = new belTransp(); string snm_Cliente = objbelGeraXml.nm_Cliente; try { //Conn.Open(); StringBuilder sSql = new StringBuilder(); //Campos do Select sSql.Append("Select "); sSql.Append("coalesce(nf.st_frete, 1) modFrete, "); //Clauidnei - o.s. 23507 - 10-07-2009 sSql.Append("transpor.st_pessoaj, "); sSql.Append("transpor.cd_cpf, "); //Fim - Clauidnei - o.s. 23507 - 10-07-2009 sSql.Append("transpor.cd_cgc CNPJ, "); sSql.Append("transpor.nm_trans xNome, "); sSql.Append("transpor.cd_insest IE, "); sSql.Append("transpor.ds_endnor xEnder, "); sSql.Append("transpor.nm_cidnor xMun, "); sSql.Append("transpor.cd_ufnor UF, "); sSql.Append("coalesce(nf.qt_volumes, 0) qVol, "); sSql.Append((snm_Cliente == "ZINCOBRIL" ? "coalesce(nf.ds_especie, '') esp, " : "coalesce(nf.ds_especie, 'VOLUME') esp, "));//os_25207 sSql.Append("COALESCE(nf.vl_pesoliq, 0) pesoL, "); sSql.Append("COALESCE(nf.vl_pesobru,0) pesoB, "); sSql.Append((snm_Cliente == "ZINCOBRIL" ? "COALESCE(nf.ds_marca, '') marca, " : "COALESCE(nf.ds_marca, 'MARCA') marca, "));//os_25207 //Claudinei - o.s. 23674 - 10/09/2009 //Danner - o.s. 24322 - 31/03/2010 //sSql.Append(", transpor.cd_placa placa, "); sSql.Append("CASE WHEN COALESCE (NF.cd_placa, '') <> '' then NF.cd_placa ELSE TRANSPOR.cd_placa END placa,"); sSql.Append("transpor.cd_ufvei UF, "); sSql.Append("transpor.ds_rntc RNTC "); //Fim - Claudinei - o.s. 23674 - 10/09/2009 //Danner - o.s. 24385 - 26/04/2010 sSql.Append(", coalesce(nf.ds_numero,'') nVol "); //Fim - Danner - o.s. 24385 - 26/04/2010 //Tabela sSql.Append("From NF "); //Relacionamentos sSql.Append("inner join transpor on (transpor.cd_trans = nf.cd_trans) "); //Where sSql.Append("Where "); sSql.Append("(NF.cd_empresa ='"); sSql.Append(sEmp); sSql.Append("')"); sSql.Append(" and "); sSql.Append("(nf.cd_nfseq = '"); sSql.Append(sNF); sSql.Append("') "); //Claudinei - o.s 23507 - 25/05/2009 FbCommand cmdTranspor = new FbCommand(sSql.ToString(), Conn); cmdTranspor.ExecuteNonQuery(); FbDataReader drTranspor = cmdTranspor.ExecuteReader(); if (drTranspor.Read()) //Claudinei - o.s. 24210 - 03/03/2010 { StringBuilder sSql2 = new StringBuilder(); sSql2.Append("Select "); sSql2.Append("transpor.nm_trans xNome "); //Tabela sSql2.Append("From NF "); //Relacionamentos sSql2.Append("inner join transpor on (transpor.cd_trans = nf.cd_trans) "); //Where sSql2.Append("Where "); sSql2.Append("(NF.cd_empresa ='"); sSql2.Append(sEmp); sSql2.Append("')"); sSql2.Append(" and "); sSql2.Append("(nf.cd_nfseq = '"); sSql2.Append(sNF); sSql2.Append("') "); string razao_transp = string.Empty; using (FbCommand cmd = new FbCommand(sSql2.ToString(), Conn)) { razao_transp = Convert.ToString(cmd.ExecuteScalar()).Trim(); } if (drTranspor["modFrete"].ToString() == "1") // Remetnete(Emitente) { objtransp.Modfrete = "0"; } else if (drTranspor["modFrete"].ToString() == "2") // destinatario { objtransp.Modfrete = "1"; } else if (drTranspor["modFrete"].ToString() == "3") { objtransp.Modfrete = "2"; } else { objtransp.Modfrete = "9"; } belTransportadora objtransportadora = new belTransportadora(); if (drTranspor["st_pessoaj"].ToString() == "S") { if (drTranspor["CNPJ"].ToString() != "") { objtransportadora.Cnpj = belUtil.TiraSimbolo(drTranspor["CNPJ"].ToString().PadLeft(14, '0'), ""); } } else { if (drTranspor["CD_CPF"].ToString() != "") { objtransportadora.Cpf = belUtil.TiraSimbolo(drTranspor["CD_CPF"].ToString().PadLeft(11, '0'), ""); } } if (drTranspor["xnome"] != null) { razao_transp = drTranspor["xNome"].ToString(); } if (razao_transp != "") { int iTamanho = razao_transp.Length - 1; if (iTamanho > 59) { iTamanho = 59; // Diego - 0S 24039 - 26-01-10 objtransportadora.Xnome = belUtil.TiraSimbolo(razao_transp.ToString().Substring(0, iTamanho), ""); } else { objtransportadora.Xnome = belUtil.TiraSimbolo(razao_transp.ToString().Substring(0, razao_transp.Length), ""); } // Diego - 0S 24039 - 26-01-10 - FIM } if (drTranspor["IE"].ToString() != "") { objtransportadora.Ie = belUtil.TiraSimbolo(drTranspor["IE"].ToString(), ""); } if (drTranspor["xEnder"].ToString() != "") { objtransportadora.Xender = belUtil.TiraSimbolo(drTranspor["xEnder"].ToString(), ""); } if (drTranspor["xMun"].ToString() != "") { objtransportadora.Xmun = belUtil.TiraSimbolo(drTranspor["xMun"].ToString(), ""); } if (drTranspor["UF"].ToString() != "") { objtransportadora.Uf = drTranspor["UF"].ToString(); } objtransp.belTransportadora = objtransportadora; //Claudinei - o.s. 23674 - 10/09/2009 if ((drTranspor["placa"].ToString() != "") && (drTranspor["placa"].ToString() != null)) { belVeicTransp objveictransp = new belVeicTransp(); objveictransp.Placa = belUtil.TiraSimbolo(drTranspor["placa"].ToString().Replace(" ", "").Trim(), "");//Danner - o.s. sem - 30/03/2010 if (drTranspor["UF"].ToString() != "") { objveictransp.Uf = drTranspor["UF"].ToString().Trim(); } if (drTranspor["RNTC"].ToString() != "")//Tag não Obrigatoria { objveictransp.Rntc = drTranspor["RNTC"].ToString().Trim(); } else { objveictransp.Rntc = "00"; } objtransp.belVeicTransp = objveictransp; } belVol objvol = new belVol(); if (drTranspor["qVol"].ToString() != "") { try { decimal dqVol = Convert.ToDecimal(drTranspor["qVol"].ToString()); //Claudinei - o.s. 24276 - 26/03/2010 if ((drTranspor["qVol"].ToString() == "") || (drTranspor["qVol"].ToString() == "0")) { if (snm_Cliente != "ZINCOBRIL") { dqVol = 1; } else { dqVol = 0; } } //Fim - Claudinei - o.s. 24276 - 26/03/2010 objvol.Qvol = dqVol; } catch (Exception ex) { throw new Exception(string.Format("{0} - Campo de Quantidade de Volumes na tela de Montar NF", ex.Message)); } //Fim - Claudinei - o.s. 23776 - 22/10/2009 } if (drTranspor["nVol"].ToString() != "") { objvol.Nvol = drTranspor["nVol"].ToString();//Danner - o.s. 24432 - 04/05/2010 } if (drTranspor["esp"].ToString() != "") { objvol.Esp = belUtil.TiraSimbolo(drTranspor["esp"].ToString(), ""); } if (drTranspor["marca"].ToString() != "") { objvol.Marca = drTranspor["marca"].ToString(); } if (drTranspor["pesoL"].ToString() != "") { try { decimal dpesoL = Math.Round(Convert.ToDecimal(drTranspor["pesoL"].ToString()), 3); //Claudinei - o.s. 24248 - 26/03/2010 objvol.PesoL = dpesoL; } catch (Exception ex) { throw new Exception(string.Format("{0} - Campo Peso Liquido", ex.Message)); } } if (drTranspor["pesoB"].ToString() != "") { try { decimal dpesoB = Math.Round(Convert.ToDecimal(drTranspor["pesoB"].ToString()), 3); //Claudinei - o.s. 24248 - 26/03/2010 objvol.PesoB = dpesoB; } catch (Exception ex) { throw new Exception(string.Format("{0} - Campo Peso Bruto", ex.Message)); } } objtransp.belVol = objvol; } //Claudinei - o.s. 24210 - 03/03/2010 else { throw new Exception("Transportadora não selecionada na nota!"); } } catch (Exception Ex) { sExecao = " - Problemas no Frete da Nota"; throw new Exception(Ex.Message + sExecao); } finally { //Conn.Close(); } return objtransp; }
/// <summary> /// Popula as Classes da NF-e. /// </summary> /// <param name="sEmp"></param> /// <param name="sNF"></param> /// <param name="sNomeArq"></param> /// <param name="sFormaEmissao"></param> /// <param name="sForDanfe"></param> /// <param name="tp_amb"></param> /// <param name="cd_ufnro"></param> /// <param name="cert"></param> public void NFe(string sEmp, List<string> sNF, string sNomeArq, string sFormaEmissao, string sForDanfe, string cd_ufnro, X509Certificate2 cert, bool bModoSCAN, int iSerieSCAN, string sFormaEmiNFe, Version versao) { objbelGeraXml = new belGerarXML(); Conn = objbelGeraXml.Conn; Conn.Open(); this.sFormaEmiNFe = sFormaEmiNFe; this.bModoSCAN = bModoSCAN; this.iSerieSCAN = iSerieSCAN; string sPath = ""; sPath = belStaticPastas.ENVIO + @sNomeArq; sTipoIndustrializacao = CarregarDadosXml("Industrializacao")[0].ToString(); if (File.Exists(sPath)) { File.Delete(sPath); } XDocument xdoc = new XDocument(); #region XML_Principal XNamespace pf = "http://www.portalfiscal.inf.br/nfe"; //XContainer conenv = new XElement(pf + "enviNFe", new XAttribute("xmlns", "http://www.portalfiscal.inf.br/nfe"), // new XAttribute("versao", "1.10"), // new XElement(pf + "idLote", sNomeArq.Substring(7, 15))); #endregion Globais glob = new Globais(); int notaindex = 0; try { foreach (string sNota in sNF) { List<object> lObjNotas = new List<object>(); notaindex++; string sNFe = "NFe" + GeraChave(sEmp, sNota, Conn); // infNFE // Começa a Popular as Classes //Ide belIde objide; objide = BuscaIde(sEmp, sNota, sForDanfe, sFormaEmissao, versao); lObjNotas.Add(objide);//Danner - o.s. 24092 - 03/02/2010 //Fim - Ide //Emit belEmit objemit; objemit = BuscaEmit(sEmp, sForDanfe, sForDanfe, sNota); //Claudinei - o.s. 24222 - 08/03/2010 lObjNotas.Add(objemit);//Danner - o.s. 24092 - 03/02/2010 //Fim - Emit //dest belDest objdest; objdest = BuscaDest(sEmp, sNota); lObjNotas.Add(objdest);//Danner - o.s. 24092 - 03/02/2010 //Fim - dest //Endereço de entrega belEndEnt objendent; objendent = BuscaEndEnt(sEmp, sNota); lObjNotas.Add(objendent); //Fim - Endereço de entrega //Itens da NFe List<belDet> objdet = new List<belDet>(); objdet = BuscaItem(sEmp, sNota, objdest); //RetiraValorBCICMSret dos Totais; decimal dVbcIcmsRt = objdet.Where(p => p.belImposto.belIcms.belICMSSN500 != null).Select(p => p.belImposto.belIcms.belICMSSN500.vBCSTRet).Sum(); decimal dVIcmsRt = objdet.Where(p => p.belImposto.belIcms.belICMSSN500 != null).Select(p => p.belImposto.belIcms.belICMSSN500.vICMSSTRet).Sum(); lObjNotas.Add(objdet); //Totais belTotal objtotal; objtotal = BuscaTotais(sEmp, sNota, objdest); objtotal.belIcmstot.Vbcst = objtotal.belIcmstot.Vbcst - dVbcIcmsRt; //25695 objtotal.belIcmstot.Vst = objtotal.belIcmstot.Vst - dVIcmsRt;//25695 lObjNotas.Add(objtotal); //Fim - Totais //Frete belTransp objtransp; objtransp = BuscaFrete(sEmp, sNota); lObjNotas.Add(objtransp); //Fim - Frete //Duplicatas belCobr objcob; objcob = BuscaFat(sEmp, sNota); lObjNotas.Add(objcob); //Fim - Duplicatas //OBS belInfAdic objobs; objobs = BuscaObs(sEmp, sNota, objdest, objdet, objbelGeraXml); string sIcmsRet = ""; //25695 if ((dVbcIcmsRt > 0) && (dVIcmsRt > 0)) { sIcmsRet = "VbcIcmsRetido: " + dVbcIcmsRt.ToString("#0.00") + " | VIcmsRetido: " + dVIcmsRt.ToString("#0.00") + " ;"; } string msgInsumos = ""; if (objbelGeraXml.nm_Cliente.Equals("ZINCOBRIL")) // OS_25787 { decimal dmaoObra = objdet.Where(p => p.tp_industrializacao.Equals("M")).Sum(P => P.belProd.Vprod); decimal dinsumos = objdet.Where(p => p.tp_industrializacao.Equals("I")).Sum(P => P.belProd.Vprod); if (dmaoObra > 0) { msgInsumos += "VALOR DA MÃO DE OBRA = R$" + dmaoObra.ToString() + ";"; } if (dinsumos > 0) { msgInsumos += "VALOR DOS INSUMOS = R$" + dinsumos.ToString() + ";"; } } objobs.Infcpl = msgInsumos + sIcmsRet + objobs.Infcpl; lObjNotas.Add(objobs); //Fim - OBS belExporta objExporta = new belExporta(); //objExporta = buscaExporta lObjNotas.Add(objExporta); lTotNota.Add(lObjNotas); //os_25923 Carrega Declaração de Importação // Update para Gravar o numero da Chave no banco da nota corrente. for (int i = 0; i < 4; i++) { if (GravaNumeroChaveNota(sEmp, sNota, sNFe)) { break; } } } Conn.Close(); } catch (Exception ex) { Conn.Close(); throw ex; } }
public void BuscaVencto() { //cLAUDINEI - O.S. SEM - 11/03/2010 //DataGeneric AcessoDados = new DataGeneric(); string ssGravarCdDupli = string.Empty; using (FbCommand cmd = new FbCommand("Select control.cd_conteud from control where cd_nivel = '1355'", Conn)) { if (ConnectionState.Open != Conn.State) { Conn.Open(); } ssGravarCdDupli = cmd.ExecuteScalar().ToString(); Conn.Close(); } string ssGravardteminf = string.Empty; using (FbCommand cmd = new FbCommand("Select control.cd_conteud from control where cd_nivel = '1363'", Conn)) { if (ConnectionState.Open != Conn.State) { Conn.Open(); } ssGravardteminf = cmd.ExecuteScalar().ToString(); Conn.Close(); } //string ssGravarCdDupli = AcessoDados.ExecuteScalar(AcessoDados.GetCommand("Select control.cd_conteud from control where cd_nivel = '1355'", CommandType.Text)); //string ssGravardteminf = AcessoDados.ExecuteScalar(AcessoDados.GetCommand("Select control.cd_conteud from control where cd_nivel = '1363'", CommandType.Text)); //cLAUDINEI - O.S. SEM - 11/03/2010 //Claudinei - o.s. 23801 - 04/11/2009 belGerarXML objGerarXML = new belGerarXML(); string sNMCliente = objGerarXML.nm_Cliente; //Fim - Claudinei - o.s. 23801 - 04/11/2009 if (ssGravarCdDupli == "S") { StringBuilder sSqlTeste = new StringBuilder(); //Campos do Select sSqlTeste.Append("Select "); sSqlTeste.Append("doc_ctr.nr_doc, "); sSqlTeste.Append("doc_ctr.cd_documento, "); sSqlTeste.Append("doc_ctr.cd_dupli, "); sSqlTeste.Append("'S' Nota "); //Tabela sSqlTeste.Append("From Doc_ctr "); //Where sSqlTeste.Append("Where "); sSqlTeste.Append("(doc_ctr.cd_empresa ='"); sSqlTeste.Append(_empresa); sSqlTeste.Append("') "); sSqlTeste.Append("and "); sSqlTeste.Append("(doc_ctr.cd_nfseq = '"); sSqlTeste.Append(_nrseq); sSqlTeste.Append("') "); //Clauidnei - o.s. 23801 - 04/11/2009 if (sNMCliente == "MASTERFEW") { StringBuilder sPedseq = new StringBuilder(); sPedseq.Append("Select "); sPedseq.Append("pedseq.cd_pedido, "); sPedseq.Append("pedseq.cd_seqped "); sPedseq.Append("from pedseq "); sPedseq.Append("where "); sPedseq.Append("(pedseq.cd_empresa = '"); sPedseq.Append(_empresa); sPedseq.Append("') "); sPedseq.Append("and "); sPedseq.Append("(pedseq.cd_nfseq = '"); sPedseq.Append(_nrseq); sPedseq.Append("') "); //Claudinei - o.s. sem - 15/03/2010 if (ConnectionState.Open != Conn.State) { Conn.Open(); } //Fim - Claudinei - o.s. sem - 15/03/2010 FbCommand cmdPedseq = new FbCommand(sPedseq.ToString(), Conn); cmdPedseq.ExecuteNonQuery(); FbDataReader drPedseq = cmdPedseq.ExecuteReader(); drPedseq.Read(); int iSeq = Convert.ToInt16(drPedseq["cd_seqped"]); iSeq++; //União sSqlTeste.Append("Union "); //Campos do Select sSqlTeste.Append("Select "); sSqlTeste.Append("doc_ctr.nr_doc, "); sSqlTeste.Append("doc_ctr.cd_documento, "); sSqlTeste.Append("doc_ctr.cd_dupli, "); sSqlTeste.Append("'N' Nota "); //Tabela sSqlTeste.Append("From Doc_ctr "); //Where sSqlTeste.Append("Where "); sSqlTeste.Append("(doc_ctr.cd_empresa ='"); sSqlTeste.Append(_empresa); sSqlTeste.Append("') "); sSqlTeste.Append("and "); sSqlTeste.Append("(doc_ctr.CD_PEDIDO = '"); sSqlTeste.Append(drPedseq["cd_pedido"].ToString()); sSqlTeste.Append("') "); sSqlTeste.Append("and "); sSqlTeste.Append("(doc_ctr.CD_SEQPED = '"); sSqlTeste.Append(iSeq.ToString().PadLeft(2, '0')); sSqlTeste.Append("') "); } sSqlTeste.Append("order by 1 "); //Clauidnei - o.s. 23801 - 04/11/2009 if (ConnectionState.Open != Conn.State) { Conn.Open(); } FbCommand cmdEmit = new FbCommand(sSqlTeste.ToString(), Conn); cmdEmit.ExecuteNonQuery(); FbDataReader drEmit = cmdEmit.ExecuteReader(); int iParcela = 0; int iSemNota = 0; List<NotasDuplicatas> objListNfs = new List<NotasDuplicatas>(); NotasDuplicatas objNFs = new NotasDuplicatas(); while (drEmit.Read()) { objNFs = new NotasDuplicatas(); if (!(objGerarXML.nm_Cliente.Equals("LORENZON"))) { if (drEmit["NOTA"].ToString() == "S") { iParcela++; objNFs.sNF = string.Format("{0}{1}", _cdnotafis.Trim(), Convert.ToChar((64 + iParcela))); objNFs.sNrDoc = drEmit["NR_DOC"].ToString(); } else { iSemNota++; objNFs.sNF = string.Format("{0}/{1}", Convert.ToInt64(_cdnotafis).ToString().PadLeft(5, '0'), iSemNota.ToString().Trim()); objNFs.sNrDoc = drEmit["NR_DOC"].ToString(); } objListNfs.Add(objNFs); } else { if (drEmit["cd_dupli"].ToString().Equals("S/NUMER")) { if (drEmit["NOTA"].ToString() == "S") { iParcela++; objNFs.sNF = string.Format("{0}{1}", _cdnotafis.Trim(), Convert.ToChar((64 + iParcela))); objNFs.sNrDoc = drEmit["NR_DOC"].ToString(); } else { iSemNota++; objNFs.sNF = string.Format("{0}/{1}", Convert.ToInt64(_cdnotafis).ToString().PadLeft(5, '0'), iSemNota.ToString().Trim()); objNFs.sNrDoc = drEmit["NR_DOC"].ToString(); } objListNfs.Add(objNFs); } } } if (objListNfs.Count == 1) { objNFs = objListNfs[0]; objNFs.sNF = objListNfs[0].sNF.Replace("A", "").PadLeft(7, '0'); //Claudinei - o.s. 24103 - 05/02/2010 objListNfs = new List<NotasDuplicatas>(); objListNfs.Add(objNFs); } for (int i = 0; i < objListNfs.Count; i++) { StringBuilder sSql = new StringBuilder(); sSql.Append("update "); sSql.Append("doc_ctr "); sSql.Append("set cd_dupli = '"); sSql.Append(objListNfs[i].sNF); sSql.Append("' Where "); sSql.Append("(cd_empresa = '"); sSql.Append(_empresa); sSql.Append("')"); sSql.Append(" and "); sSql.Append("(nr_doc = '"); sSql.Append(objListNfs[i].sNrDoc); sSql.Append("')"); using (FbCommand cmd = new FbCommand(sSql.ToString(), Conn)) { if (Conn.State != ConnectionState.Open) { Conn.Open(); } cmd.ExecuteNonQuery(); } } } }
/// <summary> /// Gera o numero do Lote. /// </summary> /// <param name="sEmp"></param> /// <returns></returns> public string NomeArqNFe(string sEmp) { string sNomeArqNfe = ""; belGerarXML BuscaGen = new belGerarXML(); sNomeArqNfe = "Nfe_" + sEmp + BuscaGen.RetornaGenString("SP_CHAVEPRI", 15) + ".xml"; return sNomeArqNfe; }
public void LimpaCampoRecibo(string sEmp, string sSeq) { belGerarXML BuscaConexao = new belGerarXML(); StringBuilder sSql = new StringBuilder(); try { sSql.Append("update nf "); sSql.Append("set cd_recibonfe = null "); sSql.Append("where "); sSql.Append("cd_empresa ='"); sSql.Append(sEmp); sSql.Append("' "); sSql.Append("and "); sSql.Append("cd_nfseq ='"); sSql.Append(sSeq); sSql.Append("'"); //sSql.Append(" and cd_recibonfe is null"); using (FbConnection Conn = BuscaConexao.Conn) { using (FbCommand cmdUpdate = new FbCommand(sSql.ToString(), Conn)) { if (Conn.State != ConnectionState.Open) { Conn.Open(); } cmdUpdate.ExecuteNonQuery(); Conn.Close(); } } } catch (Exception) { throw; } }
public string RetornaBlob(StringBuilder sComando, string sEmp, FbConnection Conn, belGerarXML objbelGeraXml) { string texto = ""; FbCommand comando = new FbCommand(sComando.ToString(), Conn); FbDataReader Reader = comando.ExecuteReader(); Byte[] blob = null; MemoryStream ms = new MemoryStream(); while (Reader.Read()) { blob = new Byte[(Reader.GetBytes(0, 0, null, 0, int.MaxValue))]; try { Reader.GetBytes(0, 0, blob, 0, blob.Length); } catch { texto = ""; //return texto; } ms = new MemoryStream(blob); } StreamReader Ler = new StreamReader(ms); Ler.ReadLine(); while (Ler.Peek() != -1) { texto += Ler.ReadLine(); } //Claudinei - o.s. 24078 - 04/03/2010 if (objbelGeraXml.nm_Cliente == "MACROTEX") { string sVendedor = string.Empty; string sPedidoCliente = string.Empty; if (Conn.State != ConnectionState.Open) { Conn.Open(); } FbCommand cmd = new FbCommand(sComando.ToString().Replace("nf.ds_anota ,", ""), Conn); cmd.ExecuteNonQuery(); FbDataReader dr = cmd.ExecuteReader(); dr.Read(); sVendedor = dr["nm_vend"].ToString(); sPedidoCliente = dr["DS_DOCORIG"].ToString(); if (texto == "") { texto += string.Format("Vendedor.: {0} Pedido N.: {1}", sVendedor, sPedidoCliente); } else { texto += string.Format(" Vendedor.: {0} Pedido N.: {1}", sVendedor, sPedidoCliente); } } if (((objbelGeraXml.nm_Cliente == "MOGPLAST") || (objbelGeraXml.nm_Cliente == "TSA")) && (sEmp == "003")) { string sNFOrigem = string.Empty; string sEmiOrigem = string.Empty; if (Conn.State != ConnectionState.Open) { Conn.Open(); } FbCommand cmd = new FbCommand(sComando.ToString().Replace("nf.ds_anota ,", ""), Conn); cmd.ExecuteNonQuery(); FbDataReader dr = cmd.ExecuteReader(); dr.Read(); //Claudinei - o.s. sem - 02/03/2010 if (dr["cd_nfseq_fat_origem"].ToString() != "") { //Fim - Claudinei - o.s. sem - 02/03/2010 StringBuilder sSqlNFOrigem = new StringBuilder(); sSqlNFOrigem.Append("Select "); sSqlNFOrigem.Append("cd_notafis, "); sSqlNFOrigem.Append("dt_emi "); sSqlNFOrigem.Append("From NF "); sSqlNFOrigem.Append("Where nf.cd_empresa = '"); sSqlNFOrigem.Append("001"); sSqlNFOrigem.Append("'"); sSqlNFOrigem.Append(" and "); sSqlNFOrigem.Append("cd_nfseq = '"); sSqlNFOrigem.Append(dr["cd_nfseq_fat_origem"].ToString()); sSqlNFOrigem.Append("'"); FbCommand cmdNFOrigem = new FbCommand(sSqlNFOrigem.ToString(), Conn); cmdNFOrigem.ExecuteNonQuery(); FbDataReader drNFOrigem = cmdNFOrigem.ExecuteReader(); drNFOrigem.Read(); sNFOrigem = drNFOrigem["cd_notafis"].ToString(); sEmiOrigem = System.DateTime.Parse(drNFOrigem["dt_emi"].ToString()).ToString("dd/MM/yyyy"); if (texto == "") { texto += string.Format("DEV TOTAL REF A NF {0} DE {1}", sNFOrigem, sEmiOrigem); } else { texto += string.Format(" DEV TOTAL REF A NF {0} DE {1}", sNFOrigem, sEmiOrigem); } } } return Util.Util.TiraCaracterEstranho(texto); }
public List<belNumeroNF> GeraNumeroNF(List<string> lsNFSEq, string sProximaNF, string sEmpresa) { StringBuilder sSql = new StringBuilder(); sSql.Append("select "); sSql.Append("nf.cd_nfseq "); sSql.Append("From nf "); sSql.Append("where "); sSql.Append("((nf.cd_notafis is null) or (nf.cd_notafis = '')) and ("); sSql.Append("nf.cd_empresa ='"); sSql.Append(sEmpresa); sSql.Append("') and ("); sSql.Append("nf.cd_nfseq in('"); int iCont = 0; foreach (var sNfseq in lsNFSEq) { iCont++; sSql.Append(sNfseq); if (lsNFSEq.Count > iCont) { sSql.Append("','"); } } sSql.Append("')) "); sSql.Append("Order by nf.cd_empresa, nf.cd_nfseq "); //Claudinei - o.s. sem - 11/03/2010 belGerarXML BuscaConexao = new belGerarXML(); FbConnection Conn = BuscaConexao.Conn; if (Conn.State != ConnectionState.Open) { Conn.Open(); } //Fim - Claudinei - o.s. sem - 11/03/2010 FbCommand cmd = new FbCommand(sSql.ToString(), Conn); cmd.ExecuteNonQuery(); FbDataReader dr = cmd.ExecuteReader(); Int32 iNumeroNF = Convert.ToInt32(sProximaNF); List<belNumeroNF> objNumeroNFs = new List<belNumeroNF>(); //dr = AcessoDados.ExecuteReader(sSql.ToString(), CommandType.Text); while (dr.Read()) { belNumeroNF objNumeroNF = new belNumeroNF(); objNumeroNF._nfseq = dr["cd_nfseq"].ToString(); objNumeroNF.Cdnotafis = iNumeroNF.ToString().PadLeft(6, '0'); objNumeroNFs.Add(objNumeroNF); iNumeroNF++; } return objNumeroNFs; }