📄 wm_tk.pas
字号:
unit wm_tk;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, Buttons, Grids, DBGrids, Printers, Db, DBTables, Mask;
type
Tfrm_wm_tk = class(TForm)
pe_bh: TPanel;
Label1: TLabel;
Label8: TLabel;
combo_p: TComboBox;
txt_zj: TStaticText;
pe_info: TPanel;
DBGrid1: TDBGrid;
Panel1: TPanel;
cmd_edit: TBitBtn;
cmd_save: TBitBtn;
cmd_cancel: TBitBtn;
cmd_print: TBitBtn;
pe_edit: TPanel;
Label2: TLabel;
txt_sum: TEdit;
Label3: TLabel;
txt_jj: TEdit;
qe_wm: TQuery;
ds_wm: TDataSource;
txt_bh: TMaskEdit;
qe_sum: TQuery;
qe_sum1: TQuery;
sp_update_wm_gl: TStoredProc;
Label7: TLabel;
sp_up_pj_ck: TStoredProc;
qe_jy: TQuery;
sp_insert_into_day: TStoredProc;
lst_kind: TListBox;
lst_gg: TListBox;
lst_name: TListBox;
lst_sum: TListBox;
sp_insert_into_sj: TStoredProc;
txt_dw: TEdit;
qe_sum1wm_id: TIntegerField;
qe_sum1wm_bh: TStringField;
qe_sum1wm_year: TSmallintField;
qe_sum1wm_month: TSmallintField;
qe_sum1wm_day: TSmallintField;
qe_sum1wm_date: TStringField;
qe_sum1pj_kind_id: TStringField;
qe_sum1pj_kind: TStringField;
qe_sum1pj_gg_id: TStringField;
qe_sum1pj_gg: TStringField;
qe_sum1pj_id: TStringField;
qe_sum1pj_name: TStringField;
qe_sum1pj_ck_sum: TFloatField;
qe_sum1pj_fk_sum: TFloatField;
qe_sum1pj_unit: TStringField;
qe_sum1pj_dj: TFloatField;
qe_sum1pj_jj: TFloatField;
qe_sum1pj_ghdw: TStringField;
qe_sum1pj_czr: TStringField;
qe_sum1pj_other: TFloatField;
qe_sum1pj_other1: TFloatField;
qe_sum1edit_type: TSmallintField;
qe_sum1pj_print: TSmallintField;
qe_sum1wm_zf_bs: TSmallintField;
qe_sum1pj_fk: TFloatField;
procedure controlKeyPress2(Sender: TObject; var Key: Char);
procedure controlKeyPress1(Sender: TObject; var Key: Char);
procedure ControlChange(Sender: TObject);
procedure cmd_saveClick(Sender: TObject);
procedure cmd_cancelClick(Sender: TObject);
procedure cmd_printClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormShow(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure cmd_editClick(Sender: TObject);
procedure qe_sum1CalcFields(DataSet: TDataSet);
private
{ Private declarations }
cur_dj: Double;
cur_ck_sum: Double;
cur_fk_sum: Double;
cur_dw: string;
WM_BH: string;
//
procedure EnabledComponent(intState: TDataSetState);
procedure controlSetFocus(intpos: integer);
procedure EditInit;
procedure SaveInit;
procedure CancelInit;
function RuleCheck: integer;
procedure ExportInit;
//
function SetNewBH1(intKind: integer): string;
public
{ Public declarations }
cur_bh: string;
end;
var
frm_wm_tk: Tfrm_wm_tk;
implementation
{$R *.DFM}
uses
log, main, print;
function Tfrm_wm_tk.SetNewBH1(intKind: integer): string;
var
intR_m, intR_d: integer;
stryear, strmonth, strday: string;
year1, month1, day1: Word;
strm, strd: string;
strResult: string;
begin
DecodeDate(Now, year1, month1, day1);
stryear := IntToStr(year1);
strmonth := Format('%2.2d', [month1]);
strday := Format('%2.2d', [day1]);
//
qe_jy.Close;
qe_jy.SQL.Clear;
qe_jy.SQL.Add('SELECT * FROM SJ_SUM WHERE SJ_YEAR = ' + IntToStr(year1) + ' AND SJ_MONTH = ' + IntToStr(month1) + ' AND SJ_DAY = ' + IntToStr(day1) + ' AND SJ_KIND = ' + IntToStr(intKind) + ' ');
qe_jy.Open;
qe_jy.Last;
intR_d := qe_jy.RecordCount;
//
qe_jy.Close;
qe_jy.SQL.Clear;
qe_jy.SQL.Add('SELECT * FROM SJ_SUM WHERE SJ_YEAR = ' + IntToStr(year1) + ' AND SJ_MONTH = ' + IntToStr(month1) + ' AND SJ_KIND = ' + IntToStr(intKind) + ' ');
qe_jy.Open;
qe_jy.Last;
intR_m := qe_jy.RecordCount;
qe_jy.Close;
//
if (intR_m = 0) and (intR_d = 0) then begin
strResult := stryear + strmonth + strday + '-' + '001' + '-' + '001';
end else if intR_m = 0 then begin
strResult := stryear + strmonth + strday + '-' + '001' + '-' + '001';
end else if intR_d = 0 then begin
intR_m := intR_m + 1;
strm := Format('%3.3d', [intR_m]);
strResult := stryear + strmonth + strday + '-' + strm + '-' + '001';
end else begin
intR_m := intR_m + 1;
intR_d := intR_d + 1;
strm := Format('%3.3d', [intR_m]);
strd := Format('%3.3d', [intR_d]);
strResult := stryear + strmonth + strday + '-' + strm + '-' + strd;
end;
//
sp_insert_into_sj.ParamByName('@iyear').Value := year1;
sp_insert_into_sj.ParamByName('@imonth').Value := month1;
sp_insert_into_sj.ParamByName('@iday').Value := day1;
sp_insert_into_sj.ParamByName('@ikind').Value := intKind;
sp_insert_into_sj.ExecProc;
//
Result := strResult;
end;
procedure Tfrm_wm_tk.ExportInit;
var
intXSum: Double;
strKind, strGg, strName: string;
i: integer;
begin
qe_sum1.Close;
qe_sum1.ParamByName('ibh').Value := cur_bh;
qe_sum1.Open;
qe_sum1.First;
if (qe_sum1.Bof) and (qe_sum1.Eof) then begin
MessageBox(Handle, '没有退货配件,不能进行结算', '沈阳信德', MB_ICONQUESTION or MB_OK);
qe_sum1.Close;
Exit;
end else begin
lst_kind.Clear;
lst_gg.Clear;
lst_name.Clear;
lst_sum.Clear;
//
while not qe_sum1.Eof do begin
intXSum := qe_sum1.FieldByName('pj_fk_sum').Value;
strKind := Trim(qe_sum1.FieldByName('pj_kind_id').AsString);
strGg := Trim(qe_sum1.FieldByName('pj_gg_id').AsString);
strName := Trim(qe_sum1.FieldByName('pj_id').AsString);
//
lst_kind.Items.Add(strKind);
lst_gg.Items.Add(strGg);
lst_name.Items.Add(strName);
lst_sum.Items.Add(FloatToStr(intXSum));
//
qe_sum1.Next;
end;
//
for i := 0 to lst_kind.Items.Count - 1 do begin
sp_up_pj_ck.ParamByName('@ipos').Value := 2;
sp_up_pj_ck.ParamByName('@ipj_kind_id').Value := lst_kind.Items[i];
sp_up_pj_ck.ParamByName('@ipj_gg_id').Value := lst_gg.Items[i];
sp_up_pj_ck.ParamByName('@ipj_id').Value := lst_name.Items[i];
sp_up_pj_ck.ParamByName('@ipj_sum').Value := StrToFloat(lst_sum.Items[i]);
sp_up_pj_ck.ExecProc;
end;
//
sp_insert_into_day.ParamByName('@idate').Value := frm_log.controlDate(DateToStr(Date()));
sp_insert_into_day.ParamByName('@izy').Value := '(配件销售)-' + cur_dw + '付款';
sp_insert_into_day.ParamByName('@ikm').Value := '现金';
sp_insert_into_day.ParamByName('@ijf').Value := 0;
sp_insert_into_day.ParamByName('@izy_id').Value := 10;
sp_insert_into_day.ParamByName('@idj_bh').Value := '';
sp_insert_into_day.ParamByName('@idf').Value := StrToFloat(Trim(txt_zj.Caption));
sp_insert_into_day.ExecProc;
//
WM_BH := SetNewBH1(3);
frm_print.pc_main.ActivePageIndex := 10;
frm_print.lbl_cap10.Caption := frm_log.cur_gs_name;
frm_print.lbl_dw0.Caption := cur_dw;
frm_print.lbl_zj0.Caption := Trim(txt_zj.Caption);
frm_print.lbl_date0.Caption := frm_log.controlDate(DateToStr(Date()));
frm_print.lbl_bh0.Caption := 'HK' + WM_BH;
frm_print.lbl_zcr0.Caption := frm_main.user_name;
frm_print.qr_wm_tk.DataSet := qe_sum1;
frm_print.txt_kind0.DataSet := qe_sum1;
frm_print.txt_gg0.DataSet := qe_sum1;
frm_print.txt_name0.DataSet := qe_sum1;
frm_print.txt_sum0.DataSet := qe_sum1;
frm_print.txt_unit0.DataSet := qe_sum1;
frm_print.txt_dj0.DataSet := qe_sum1;
frm_print.txt_id0.DataSet := qe_sum1;
frm_print.qr_wm_tk.Print;
qe_sum1.Close;
//
sp_update_wm_gl.ParamByName('@ibh').Value := cur_bh;
sp_update_wm_gl.ExecProc;
//
qe_wm.Close;
qe_wm.Open;
qe_wm.First;
//
txt_zj.Caption := '0';
end;
end;
procedure Tfrm_wm_tk.CancelInit;
begin
qe_wm.Cancel;
//
txt_sum.Text := '';
txt_jj.Text := '';
//
pe_edit.Enabled := False;
//
pe_info.Enabled := True;
pe_bh.Enabled := True;
//
EnabledComponent(dsBrowse);
end;
procedure Tfrm_wm_tk.SaveInit;
var
v: Double;
begin
txt_sum.Text := '';
txt_jj.Text := '';
//
pe_edit.Enabled := False;
//
pe_info.Enabled := True;
pe_bh.Enabled := True;
//
EnabledComponent(dsBrowse);
//
qe_sum.Close;
qe_sum.ParamByName('ibh').Value := cur_bh;
qe_sum.Open;
qe_sum.First;
//
if (qe_sum.Eof) and (qe_sum.Bof) then
txt_zj.Caption := '0'
else begin
v := qe_sum.FieldByName('pj_zj').Value;
v:= Int(v) + Round((Frac(v)*100))/100;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -