BÁO CÁO DYNAMIC ĐỘNG

1. TIỀN XỬ LÝ

// Some code

public DataTable DMain(DataTable dtColumns, DataRow drReport, FOR0025 formBaoCao)
	{
		//Viết code dưới dòng này(chỉnh sửa cấu trúc hiển thị báo cáo)
		/*
		- xử lý vấn đề bên nợ 154: đối ứng với 62,154 trong kỳ
		- 01 tkdoiung, có 2 nhóm chính: đích danh và phân bổ
		*/
		string nhomcot = "";
		nhomcot = drReport["nhomcot"].ToString(); // lấy nhóm cột gõ tay nếu có
		// nhomcot(col1,col2)0#
		try {			
			#region: xử lý bên có 154

			if(dtTaocot != null && dtTaocot.Rows.Count != 0)
			{
				for (int i = 0; i < dtTaocot.Rows.Count; i++)
				{
					dr = _Vari.FormChinh.dtDynamicReportColumn.NewRow();
					dr["ten"] = dtTaocot.Rows[i]["tkco"].ToString().Trim();
					dr["giatri"] = "case when vr.benno=0 then vr.psco else 0 end as TKC_"+ dtTaocot.Rows[i]["tkco"].ToString();
					dr["dieukien"] = "vr.tkco like '" + dtTaocot.Rows[i]["tkco"].ToString()+"' and trongky()";
					_Vari.FormChinh.dtDynamicReportColumn.Rows.Add(dr);
				}
			}
			#endregion: xử lý bên có 154
		}
		
		catch(Exception ex) { MessageBox.Show(ex.Message); }
		drReport["nhomcot"] = nhomcot; // gán lại nhóm cột mới
		return dtColumns;
	}
	
public string dynamicTen(string strTen)
	{
		// strTen = "Tháng " + strTen;
		return strTen;
	}

	// hàm tính giá trị
	public string dynamicGiaTri(string strGiaTri)
	{
		// strGiaTri = "case when KhoanmucTien.tinhchat=1 or vr.khoanmucTien=0 then VR.PSNO - VR.PSCO else VR.PSCO - VR.PSNO end as TH_"+ strGiaTri.Trim();
		return strGiaTri;
	}

	// hàm tính điều kiện
	public string dynamicDieuKien(string strDieuKien)
	{
		// int thang = Convert.ToInt32(strDieuKien.Split('_')[0].ToString());
		// int nam = Convert.ToInt32(strDieuKien.Split('_')[1].ToString());
		// strDieuKien = "ngay>='"+ new DateTime(nam, thang , 01).ToString("MM/dd/yyyy")+"'";
		// strDieuKien += " and ngay<='"+ new DateTime(nam, thang , 01).AddMonths(1).AddDays(-1).ToString("MM/dd/yyyy")+"'";
		return strDieuKien;
	}
	
	public string dynamicTen1(string strTen)
	{
		strTen = "Tháng 1" ;
		return strTen;
	}

	// hàm tính giá trị
	public string dynamicGiaTri1(string strGiaTri)
	{
		strGiaTri = "0";
		return strGiaTri;
	}

	// hàm tính điều kiện
	public string dynamicDieuKien1(string strDieuKien)
	{
		strDieuKien = "1=1";
		return strDieuKien;
	}

2. XỬ LÝ CÁC CỘT TRONG CÔNG THỨC - ẨN HIỆN, THỨ TỰ...

3. TRƯỚC TẤT CẢ - KQKD KHOẢN MỤC + PHÒNG BAN

4. HẬU XỬ LÝ - KQKD KHOẢN MỤC + PHÒNG BAN

Last updated