ENTER CHI TIẾT

1. Proc enter chi tiết

  • Trường hợp, không đặt được enter chi tiết, thì viết lệnh proc để enter

  • proc lấy điều kiện + enter ra 1 báo cáo chi tiết

public void DMain(DataRow drDuLieuBaoCao, int rowindex, int columnindex, _DataGridView dtgDLReport, FOR0025 formBaoCao)
	{
		try
		{
			string wherethem = "", dkreport = "";
			DataView dvrp = dtgDLReport.DataSource as DataView;
			if(dvrp == null || dvrp.Count == 0)
				return;

			#region: Lấy báo cáo enter và điều kiện enter
			DataRow drReport = formBaoCao.txtReport.CurrentRow;
			wherethem = drReport["DieuKienEnterBC"].ToString();
			int ReportEnter = 0;
			ReportEnter = Convert.ToInt32(drReport["reportEnter"].ToString());
			#endregion: Lấy báo cáo enter và điều kiện enter
			dkreport = formBaoCao.CreateWhereCondition(true);
			//_Func.TextEditer("1:"+wherethem);
			if(!string.IsNullOrWhiteSpace(wherethem))
			{
				wherethem = _Func.FormatStringValue(wherethem, drDuLieuBaoCao, true);
				if(!string.IsNullOrWhiteSpace(dkreport))
					dkreport += " and ("+ wherethem+")";
			}
			//_Func.TextEditer("2:"+wherethem);
			if(dtgDLReport.gridView1.Columns[columnindex].Name.Contains("thang_"))
			{
				dkreport +=  (!string.IsNullOrWhiteSpace(dkreport)?" and ": "") + (string.IsNullOrWhiteSpace(dkreport)?"": " month(vr.ngay)="+ dtgDLReport.gridView1.Columns[columnindex].Name.ToString().Split('_')[1].ToString()+" and year(vr.ngay)=" + dtgDLReport.gridView1.Columns[columnindex].Name.ToString().Split('_')[2].ToString());
				wherethem +=  (!string.IsNullOrWhiteSpace(wherethem)?" and ": "") + (string.IsNullOrWhiteSpace(dkreport)?"": " month(vr.ngay)="+ dtgDLReport.gridView1.Columns[columnindex].Name.ToString().Split('_')[1].ToString()+" and year(vr.ngay)=" + dtgDLReport.gridView1.Columns[columnindex].Name.ToString().Split('_')[2].ToString());
			}
			//_Func.TextEditer("3:"+wherethem);
			if(!formBaoCao.cheKhongHien.Checked)
				_Func.TextEditer(wherethem);
			if(ReportEnter>0)//chi tiêt ra báo cáo
			{
				dynamic fbc = formBaoCao.OpenForm("FOR0026");
				fbc.dkEnterChiTiet = dkreport;
				if(!formBaoCao.cheKhongHien.Checked)
					_Func.TextEditer(fbc.dkEnterChiTiet);
				((dynamic)fbc).LoadReportAll(formBaoCao, false, ReportEnter, wherethem);
				fbc.form25 = formBaoCao;
				fbc.Text = "[BC enter] "+ _Func.DBEXEC("select " + _Vari.Language +" from report where report="+ReportEnter, true).ToString();
				fbc.ShowDialog();
			}
		}
		catch(Exception ex)
		{
			MessageBox.Show(ex.Message);
		}
	}

Last updated