CODE NÚT CHỨC NĂNG GÁN DỮ LIỆU XUỐNG LƯỚI
Yêu cầu
Hướng dẫn thao tác
Ví dụ 1: code nút nhập số tiền CIF rồi phân bổ xuống lưới
/*
- phân bổ giá cif: bản chất là phí vận chuyển + bảo hiểm do người bán cung cấp. nên cần phân bổ để tính thuế nhập khẩu.
- bấm vào nút, hiển thị ô nhập tiền (format kiểu vnd)
- bấm chấp nhận, thì phân bổ xuống cột cif ở dưới lưới. Theo tỷ lệ: cif_tong * psno / sum(psno) ở dưới lưới.
+ lưu ý làm tròn số tiền lần cuối cùng.
- tính lại psnoTinhthueHQ
+ sau khi soluong*dongia*tygiaHQ
+ kiểm tra xem hình như còn chi phí phân bổ trước hải quan. nếu có thì cif sau cả đoạn này
+ cộng thêm cif vừa được phân bổ vào.
- tính lại các cột liên quan
+ các loại thuế phía sau thuexnk
*/
try
{
bool confirm = false;
decimal cif = 0;
//tính tổng lại giá trị cif đã bổ nếu có
// DataRow dr = _Func.GetFormValues(new Size(300, 400), _Func.DichNN("Nhập số dòng thêm"), 1, out confirm, "N", "Số dòng:#3#0#10");
if(myform.DTG0001.dvSource.Table.Columns.Contains("CIF"))
{
cif = Convert.ToDecimal(myform.DTG0001.dvSource.Table.Compute("Sum(CIF)",""));
DataRow dr1 = _Func.GetFormValues(new Size(300, 400), "Phân bổ giá CIF", 1, out confirm , "N"
, "Tiền cif bổ: #18#0#"+ cif.ToString().Trim());
if(confirm)
{
decimal cifbo = Convert.ToDecimal(dr1[0]);
_Func.EditTable(myform.DTG0001.dvSource.Table,"CIF",0,"");
if(cifbo >0)
{
decimal tongtieuthuc = 0;
object resul = myform.DTG0001.dvSource.Table.Compute("Sum(PsNo)","PsNo>0");
if(resul != DBNull.Value)
tongtieuthuc = Convert.ToDecimal(resul);
if(tongtieuthuc<=0)
{
_Func.ThongBaoLoi("Phí cif bổ theo tiền nên vui lòng nhập tiền của các dòng chi tiết trước khi bổ.");
return;
}
DataRow[] drbo = myform.DTG0001.dvSource.Table.Select("PsNo>0");
decimal conlai = cifbo;
for(int i =0 ;i< drbo.Length; i++)
{
if(i== drbo.Length-1)
drbo[i]["CIF"] = conlai;
else
{
decimal gtbo = Math.Round(cifbo* Convert.ToDecimal(drbo[i]["PsNo"])/tongtieuthuc, 0, MidpointRounding.AwayFromZero);
drbo[i]["CIF"] = gtbo;
conlai -= gtbo;
}
}
}
//Chạy lại tính thuexnk cộng thêm phí CIf
myform.CodeChungNL("ptthuexnk",true);
}
}
}catch(Exception ex){MessageBox.Show(ex.Message);}Ví dụ 2: code nút Xuất vật tư theo báo cáo
Last updated