private string geraChaveCanc(string sEmp, string sSeq) { belConnection cx = new belConnection(); try { 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("')"); FbCommand sqlConsulta = new FbCommand(sSql.ToString(), cx.get_Conexao()); cx.Open_Conexao(); 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 = belUtil.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; return sChave; } catch (Exception) { throw; } finally { cx.Close_Conexao(); } }