TEMP NOTE PHÂN TÍCH
Ý nghĩa chức năng
temp dùng để lưu vết cấu trúc, nguyên tắc tạo báo cáo
khi sửa đổi bổ sung thì nên chèn dòng và mô tả lý do tại sao
Cấu trúc
I. Mô tả nội dung báo cáo
- Lập tờ khai thuế dự án đầu tư mẫu 02/GTGT
- Báo cáo chỉ lấy nhomvat =3
+ nhomvat =3 sẽ đi kèm với duan<>0 ( dự án đầu tư)
+ bổ sung code kiểm tra: nhomvat=3 => duan<>0. "Với nhóm thuế suất là 3, thì không được trống thông tin dự án đầu tư"
- Chỉ tiêu 28 trên mẫu 02/GTGT có liên quan chỉ tiêu 40 trên mẫu 01/GTGT: Chưa xử lý
- Số dư 133, hiện đang tính theo từng dự án
- Bút toán kết chuyển 333/133 chưa tính toán đến vấn đề chi tiết theo duan. nên số dư 133 có thể sai.
II. Công thức báo cáo
1. Điều kiện lọc
2. Điều kiện tài khoản
3. Code tiền xử lý, hậu xử lý
3.1 Hậu xử lý
- tạo dtMuavao: Bảng kê mua vào
+ xoá dòng: nhomvat<>3
- code hàm xử lý
+ đều phải gắn thêm điều kiện lọc bên ngoài giao diện vào =>lấy được điều kiện where duan=xx
4. check kiểm khác: phát sinh, hình cây...
5. Công thức cột
6. Gộp thêm
7. Sắp xếp
8. code chữ C
- xử lý lấy thông tin của dự án, vào trong báo cáo fix.
+ ma,ten,mstChuduan, tenChuduan....
+ phục vụ đẩy vào htkk hoặc dự trù về sau
+ hiện htkk sau khi đẩy xong, người dùng vào htkk và bấm ghi, thì sẽ ghi lại hết thông tin dự án theo htkk khai báo. nên việc dtech đẩy thông tin dự án sẵn vào tờ khai là không cần thiết. (bị ghi đè lại)
9. Điều kiện cuối
10. Enter chi tiết
11. View in
12. Điều kiện lọc
II. Nội dung liên quan
- Thêm danh mục duan
- Thêm cột dulieuketoan.duan
- Sửa brow:
+ dulieuketoan.duan
+ nhaplieuct.duan
- Sửa hiển thị nhập liệu
+ các bút toán liên quan 133 thì add thêm cột duan vào lưới nhập liệu, cuối cùng
- Sửa báo cáo tờ khai thuế 01/GTGT
+ xoá dòng của dtMuavao: nhomvat<>1 and nhomvat<>2
- Htkk
+ maping: đã tạo maping. xong
+ Vướng mắc tên file. làm thế nào để có biến mã dự án ở tên file
+ giao diện kết nối: chưa làm. chuyển lập trình
+ htkk giao diện làm tuần tự từng dự án
+ dtech làm thế nào để chạy all dự án.
+ chuyển dạng fromlist của htkk thành dạng lưới dự án. hiển thị tất cả dự án và chọn. có thể tính toán dự án đang còn số dư 133 hoặc tạm thời cứ bật all dự án
+ nhiệm vụ của dtech: Sinh ra file tờ khai
+ nhiệm vụ của htkk: Chọn mã dự án và đồng ý. nếu file đã được sinh thì sẽ là dữ liệu do dtech tạo. Còn nếu không có thì ra bảng dữ liệu trống
- xml của htkk
+ File mẫu xml : 02_GTGT_TT80_251
+ Tên file dạng tháng: 02_GTGT_TT80_CQTQL10100_123456789_102023_251
+ [02_GTGT_TT80_]: tên file mẫu
+ [CQTQL10100]: Cơ quan quản lý thuế
+ [123456789]: Mã dự án đầu tư (chưa xử lý được tự động)
+ [102023]: thời gian
+ [251]: tên file mẫu
Code tạo temp Phân tích
declare @report int = 1000006
select N'.I. Mô tả nội dung báo cáo'+ char(13)
+ char(13) + N'.II. Công thức báo cáo'+ char(13)
from report where report=@report
union
select N'1. Tên báo cáo'
+ char(13) + space(5) + N'1.1 ID+Tên: ' + convert(nvarchar(10),report) +' - '+ vietnam
+ char(13) + space(5) + N'1.2 Báo cáo FIX: ' + convert(nvarchar(10),fix)
+ char(13) + space(5) + N'1.3 Báo cáo Dynamic: ' + convert(nvarchar(10),theopar)
from report where report= @report
union
select N'2. Điều kiện lọc báo cáo: '
+ char(13) + space(5) + N'2.1 Điều kiện lọc: ' + char(13) + space(10) + case when dieukien<>'' then dieukien else '-null' end
+ char(13) + space(5) + N'2.2 Điều kiện Tài khoản: ' + char(13) + space(10) + case when tutaikhoan<>'' then tutaikhoan else '-null' end
+ char(13) + space(5) + N'2.3 Điều kiện Loại dữ liệu: ' + convert(nvarchar(10),loaidl)
+ char(13) + space(5) + N'2.4 Mặc định tài khoản giao diện xem báo cáo: ' + tkno
+ char(13) + space(5) + N'2.5 Giới hạn tài khoản lọc giao diện xem báo cáo: ' + filterTkno
+ char(13) + space(5) + N'2.6 Điều kiện lọc giao diện xem báo cáo: ' + char(13) + space(10) + FieldFilterShow
from report where report= @report
union
select N'3. Code Trước, Tiền, Hậu xử lý'
+ char(13) + space(5) + N'3.1 Trước tất cả: '+ case when truoctatca<>'' then '1' else '0' end
+ char(13) + space(5) + N'3.2 Tiền xử lý: '+ case when tienxuly<>'' then '1' else '0' end
+ char(13) + space(5) + N'3.3 Hậu xử lý: '+ case when hauxuly<>'' then '1' else '0' end
from report where report= @report
union
select N'4. Check kiểm khác'
+ char(13) + space(5) + N'4.1 Hình cây: '+ convert(nvarchar(1),hinhcay)
+ char(13) + space(5) + N'4.2 Hình cây sau end: '+ convert(nvarchar(1),hinhcaysauEndcode)
+ char(13) + space(5) + N'4.3 Chỉ số phát sinh: '+ convert(nvarchar(1),ChisoPhatsinh)
+ char(13) + space(5) + N'4.4 Tài khoản ngoài bảng: '+ convert(nvarchar(1),tkNgoaibang)
from report where report= @report
union
select N'5. Công thức tính sau - Điều kiện cuối'
+ char(13) + space(5) + N'5.1 Tính sau: ' + char(13) + space(10) + case when tinhsau<>'' then tinhsau else '-null' end
+ char(13) + space(5) + N'5.2 Điều kiện cuối: ' + char(13) + space(10) + case when dieukiencuoi<>'' then dieukiencuoi else '-null' end
from report where report= @report
union
select N'6. Các cột gộp'
+ char(13) + space(5) +
(
SELECT STUFF((SELECT '| ' + vietnam FROM
(
select vietnam, gopden,gopthem
from reportcolumn
where report =@report and (gopden<>0 or gopthem<>0) and daubc=0
)T
FOR XML PATH ('')),1,1,'')
)
from report where report= @report
union
select N'7. Các cột sắp xếp'
+ char(13) + space(5) +
(
SELECT STUFF((SELECT '| ' + vietnam FROM
(
select vietnam
+ ': ' + case when sapxep=1 then N'Tăng' else N'Giảm' end as vietnam, sttsapxep
from reportcolumn
where report =@report and sapxep<>0 and daubc=0
)T
order by sttsapxep
FOR XML PATH ('')),1,1,'')
)
from report where report= @report
union
select N'8. Enter chi tiết'
+ char(13) + space(5) + N'8.1 Báo cáo enter chi tiết: ' + convert(nvarchar(10),reportEnter)
+ char(13) + space(5) + N'8.1.1 Điều kiện enter báo cáo chi tiết: ' + char(13) + space(10) + case when dieukienEnterBc<>'' then + space(5) + dieukienEnterBc else '-null' end
+ char(13) + space(5) + N'8.2 Check hiển thị theo điều kiện tìm kiếm VR: ' + convert(nvarchar(1),enterTimkiem)
+ char(13) + space(5) + N'8.2.1 Điều kiện tìm kiếm theo VR: ' + char(13) + space(10) + dieukienEnterTK
+ char(13) + space(5) + N'8.2.2 Cấu trúc hiển thị tìm kiếm theo VR: ' + char(13) + space(10) + case when ShowColumnEnterTK<>'' then + space(5) + ShowColumnEnterTK else '-null' end
+ char(13) + space(5) + N'8.3 Báo cáo enter theo code Proc: ' + case when codeEnterChitiet<>'' then '1' else '0' end
from report where report= @report
Code SQL lấy cấu trúc cột báo cáo
declare @report int = 707
select
report
,daubc -- cột thuộc đầu báo cáo không. nếu daubc=1 thì là column thuộc đầu báo cáo
,stt -- số thứ tự cột
,vietnam -- tên cột
,kieu -- kiểu cột
,giatri -- giá trị cột
,DieuKien -- điều kiện cột
,gopden -- gộp đến cột
,gopthem -- gộp thêm cột
,KieuCong -- kiểu cộng của cột sum (cột)
,sotrencot --- tổng cuối của cột total(cot)
,NDecimal -- số ký tự thập phân
,SoAm -- hiển thị số âm hay không
,sttsapxep --sttSapxep - thứ tự sắp xếp của các trường.
,sapxep -- sapxep=1: sắp xếp tăng;
,khonghien,khongin -- không hiện, không in
from reportcolumn
where report=@report
order by report,daubc desc,stt
Code SQL lấy thông tin chính của báo cáo
select report,vietnam
,truoctatca -- code trước tất cả
,tienxuly -- code tiền xử lý
,hauxuly -- code hậu xử lý
,tinhsau -- code chữ C
,tutaikhoan -- Điều kiện lọc tài khoản của báo cáo
,dieukien -- Điều kiện where mặc định của báo cáo
,tinhsau -- công thức tính toán sau khi đã tải báo cáo từ sql xuống
,dieukiencuoi -- điều kiện ẩn/hiện dòng sau khi đã tải báo cáo từ sql xuống
,loaidl -- điều kiện loaidl của báo cáo
,hinhcay -- check hình cây
,hinhcaysauEndcode -- check hình cây sau khi chạy code chữ C
,chisoPhatsinh -- chỉ số phát sinh
,tkNgoaibang -- điều kiện lọc cả tài khoản ngoài bảng
,theopar -- báo cáo theo par : dynamic column
,Fix -- báo cáo fix column (bsc)
,reportEnter -- báo cáo enter chi tiết
,dieukienEnterBc -- điều kiện enter theo báo cáo chi tiết (reportEnter)
,codeEnterChitiet -- code enter chi tiết. viết độc lập với các điều kiện enter chi tiết khác
,enterTimkiem -- check - Hiển bảng tìm kiếm dữ liệu theo điều kiện Vr ( dieukienEnterTK)
,dieukienEnterTK -- Điều kiện tìm kiếm theo điều kiện VR (viết dạng vr.chungtu=chungtu /*pm tự chuyển thành dulieuketoan*/)
,[ShowColumnEnterTK] -- cột hiển thị khi tìm kiếm theo điều kiện vr
,tkno -- mặc định lọc tài khoản: danhmuc/taikhoan/taikhoan ngầm định báo cáo/mặc định lọc tài khoản
,filterTkno -- giới hạn tài khoản lọc: danhmuc/taikhoan/taikhoan ngầm định báo cáo/ giới hạn tài khoản lọc
,FieldFilterShow -- điều kiện lọc báo cáo bên ngoài ( soure,key,fieldShow,0=hiện/1=ẩn \r soure,key,fieldShow,0=hiện/1=ẩn)
from report where report=453
Last updated