📄 sy_gryprkdsc.pas
字号:
try
data.DM.StartTransaction;
Qry_RKD.ApplyUpdates;
Qry_RKDPP.ApplyUpdates;
data.DM.Commit;
except
data.DM.Rollback;
exit;
end;
Qry_RKD.CommitUpdates;
Qry_RKDPP.CommitUpdates;
if Qry_RKDPP.DataSource = nil then
Qry_RKDPP.DataSource := DS_RKD;
SetState(dtBrowse);
end;
procedure Tfrm_GRYPRKDSC.ModiPanel1BtnClick(Index: TBtnVisible);
var
i: integer;
begin
inherited;
case index of
bnAdd:
begin
queding := false;
ExeSY_SCGRP(io_type);
if queding then
begin
Qry_RKD.Append;
Qry_RKD.fieldbyname('rkxz').asstring := '22';
Qry_RKD.fieldbyname('ZBR').asstring := VG_USERNAME;
Qry_RKD.fieldbyname('KDRQ').AsDateTime := GetSysDate;
insertmode := true;
for i := 0 to recordcount - 1 do
begin
Qry_RKDPP.Append;
Qry_RKDPP.FieldByName('RKDH').asstring := #9;
Qry_RKDPP.FieldByName('PPDM').asstring := tdm[i];
Qry_RKDPP.FieldByName('TMC').asstring := tmc[i];
Qry_RKDPP.FieldByName('ZH').asstring := zh[i];
Qry_RKDPP.FieldByName('JJ').AsFloat := sj[i];
Qry_RKDPP.FieldByName('YXJ').AsFloat := xj[i];
if xj[i] <> 0 then
Qry_RKDPP.FieldByName('XJ').AsFloat := xj[i]
else
Qry_RKDPP.FieldByName('XJ').AsFloat := sj[i];
Qry_RKDPP.post;
end;
insertmode := false;
SetState(dtEdit);
Qry_RKDPP.DataSource := nil;
end
else
SetState(dtBrowse);
end;
bnDelete:
begin
if Qry_RKD.IsEmpty then
begin
CHQMsgBox('没有可删除的数据!');
exit;
end;
if qry_RKD.FieldByName('JZY').AsString <> '' then
begin
CHQMsgBox('该入库单已被复核,不能删除!');
exit;
end;
if CHQMsgBox('确定要删除记录吗?', 2) = IDYES then
begin
DoDelFHD;
end;
end;
bnEdit:
begin
if Qry_RKD.IsEmpty then
begin
CHQMsgBox('没有可修改的数据!');
exit;
end;
if qry_RKD.FieldByName('JZY').AsString <> '' then
begin
CHQMsgBox('该入库单已被复核,不能修改!');
exit;
end;
SetState(dtEdit);
RG_yf.Enabled := false;
Qry_RKDPP.DataSource := nil;
Qry_RKD.Edit;
Qry_RKDPP.Edit;
end;
bnSave:
Save;
bnCancel:
if CHQMsgBox('取消编辑, 确定吗?', 2) = IDYES then
try
Qry_RKD.CancelUpdates;
Qry_RKDPP.CancelUpdates;
Qry_RKDPP.EnableControls;
Qry_RKDPP.DataSource := DS_RKD;
finally
SetState(dtBrowse);
end;
bnPrint: Print_RKD;
bnClose:
Close;
end;
end;
procedure Tfrm_GRYPRKDSC.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
if (FDtstate in [dtInsert, dtEdit]) then
case CHQMsgBox('数据已经编辑,需要保存吗?', 3) of
IDYES:
if not Save then Action := caNone;
IDCANCEL: Action := caNone;
end;
end;
procedure Tfrm_GRYPRKDSC.FormCreate(Sender: TObject);
begin
inherited;
XttxTitle.Caption := '入库单生成';
DWMC.Caption := '使用单位:' + VG_UnitName;
Qry_KFB.close;
Qry_KFB.sql.clear;
Qry_KFB.SQL.add('SELECT A.KFMC,A.KFDM FROM TGS_KFB A,TGS_KFRYDZB B where A.KFDM=B.KFDM AND not A.kfdm in(''-1'',''-2'') and YGDM=''' + VG_USERID + '''');
Qry_KFB.Open;
Qry_dw.Open;
SetState(dtBrowse);
end;
procedure Tfrm_GRYPRKDSC.SEd_YChange(Sender: TObject);
function Get2Mon(const AMon: string): string;
begin
result := AMon;
if Length(result) = 1 then
result := '0' + result;
end;
begin
inherited;
with qry_RKD do
begin
AfterScroll := nil;
Close;
ParamByName('KDRQ').AsString := SEd_Y.Text + Get2Mon(SEd_M.Text);
ParamByName('YGDM').AsString := VG_UserID;
Open;
end;
end;
procedure Tfrm_GRYPRKDSC.qry_RKDPPJJGetText(Sender: TField;
var Text: string; DisplayText: Boolean);
begin
inherited;
CurrGetText(Sender, Text, DisplayText);
end;
procedure Tfrm_GRYPRKDSC.qry_RKDPPJJSetText(Sender: TField;
const Text: string);
begin
inherited;
CurrSetText(Sender, Text);
end;
procedure Tfrm_GRYPRKDSC.qry_RKDPPZKChange(Sender: TField);
begin
inherited;
with Qry_RKDPP do
begin
if Sender.FieldName = 'JSJ' then
begin
if Sender.AsFloat <> 0 then
FieldByName('ZK').AsFloat := 0;
end;
if Sender.FieldName = 'ZK' then
begin
if Sender.AsFloat <> 0 then
FieldByName('JSJ').AsFloat := 0;
end;
if Sender.FieldName = 'XJ' then
begin
if FieldByName('YXJ').AsFloat <> 0 then
begin
Sender.OnChange := nil;
Sender.AsFloat := FieldByName('YXJ').AsFloat;
Sender.OnChange := Qry_RKDPPZKChange;
end;
end;
FieldByName('JJ').AsFloat := FieldByName('XJ').AsFloat * FieldByName('ZK').AsFloat / 100 + FieldByName('JSJ').AsFloat;
FieldByName('JSJE').AsFloat := FieldByName('SL').AsFloat * FieldByName('JJ').AsFloat;
end;
end;
procedure Tfrm_GRYPRKDSC.qry_RKDPPAfterInsert(DataSet: TDataSet);
begin
inherited;
if not insertmode then Qry_RKDPP.Cancel;
end;
procedure Tfrm_GRYPRKDSC.Print_RKD;
var
jycx: string;
begin
case io_Type of
io_jyp:
begin
if Qry_rkd.IsEmpty then exit;
Frm_RichEdit := TFrm_richedit.Create(nil);
FrmK_JYRKDDY := TFrmK_JYRKDDY.Create(nil);
with FrmK_JYRKDDY, Frm_RichEdit do
try
QRLabel1.Caption := '集邮票 入库通知单';
QRLabel1.Left := round((ColumnHeaderBand1.Width - QRLabel1.Width) / 2);
QRLabel25.Caption := DBLCBo_dw.text;
QRLabel8.Caption := '';
jycx := 'select a.zh,a.tmc,''套''as dw,c.kfmc,b.xj/100 xj,b.sl,b.xj*b.sl/100 zjje,Decode(b.zk,0,b.jsj/100,b.zk) zk,b.SL*(b.xj*nvl(b.zk/100, 0)+nvl(b.jsj,0))/100 jsje from tb_yzpptxxb a ,tks_jyrkpp b,tgs_kfb c where b.kfdm= c.kfdm and a.tdm(+)=b.ppdm and b.rkdh=''' + Qry_rkd.fieldbyName('rkdh').AsString + '''';
Qry_ckdayin.close;
Qry_ckdayin.sql.clear;
Qry_ckdayin.sql.add(jycx);
Qry_ckdayin.open;
QRLabel11.Caption := FormatDateTime('yyyy"年"mm"月"d"日" ', StrToDateTime(dbde_kdrq.Text));
sumzj := 0;
sumjsj := 0;
DetailLines := 0;
if CHQMsgBox('是否采用套打?', 2) = IDYES then
Tao_Print_Flag := True
else
Tao_Print_Flag := False;
Prepare;
try
QRLabel29.Caption := IntToStr(QRPrinter.PageCount);
finally
QRPrinter.Free;
end;
QRPrinter := nil;
preview;
finally
FrmK_JYRKDDY.Free;
Frm_RichEdit.Free;
FrmK_JYRKDDY := nil;
Frm_RichEdit := nil;
end;
end;
io_yp:
begin
if qry_RKD.RecordCount = 0 then exit;
Frm_RichEdit := TFrm_richedit.Create(nil);
FrmK_JYRKDDY := TFrmK_JYRKDDY.Create(nil);
with FrmK_JYRKDDY, Frm_RichEdit do
try
QRLabel1.Caption := '邮品 入库通知单';
QRLabel1.Left := round((ColumnHeaderBand1.Width - QRLabel1.Width) / 2);
QRLabel25.Caption := DBLCBo_dw.Text; //edit1.text;
QRLabel8.Caption := qry_rkd.FieldByName('rkdh').AsString; //edit3.text;
jycx := 'select a.zh,a.mc tmc,''套''as dw, c.kfmc,b.xj/100 xj,b.sl,b.xj*b.sl/100 zjje,';
jycx := jycx + 'decode(b.zk,0,b.jsj/100,b.zk) zk, b.JSJ/100 JSJ, b.SL * (b.xj * nvl(b.zk, 0) / 100 + nvl(b.jsj, 0))/100 jsje from TB_JYPTXXB a ,tks_yprkpp b,tgs_kfb c where a.tdm(+)=b.ppdm and b.kfdm=c.kfdm and b.rkdh=''' + qry_rkd.FieldByName('rkdh').AsString + '''';
Qry_ckdayin.close;
Qry_ckdayin.sql.clear;
Qry_ckdayin.sql.add(jycx);
Qry_ckdayin.open;
QRLabel11.Caption := FormatDateTime('yyyy"年"mm"月"d"日" ', dbde_kdrq.Date);
sumzj := 0;
sumjsj := 0;
DetailLines := 0;
if CHQMsgBox('是否采用套打?', 2) = IDYES then
Tao_Print_Flag := True
else
Tao_Print_Flag := False;
Prepare;
try
QRLabel29.Caption := IntToStr(QRPrinter.PageCount);
finally
QRPrinter.Free;
end;
QRPrinter := nil;
preview;
finally
FrmK_JYRKDDY.Free;
Frm_RichEdit.Free;
FrmK_JYRKDDY := nil;
Frm_RichEdit := nil;
end;
end;
io_grp:
begin
if qry_RKD.RecordCount = 0 then exit;
Frm_RichEdit := TFrm_richedit.Create(nil);
FrmK_JYRKDDY := TFrmK_JYRKDDY.Create(nil);
with FrmK_JYRKDDY, Frm_RichEdit do
try
QRLabel1.Caption := '购入票 入库通知单';
QRLabel1.Left := round((ColumnHeaderBand1.Width - QRLabel1.Width) / 2);
QRLabel25.Caption := DBLCBo_dw.Text; //edit1.text;
QRLabel8.Caption := qry_rkd.FieldByName('rkdh').AsString; //edit3.text;
// jycx := 'select a.zh,a.tmc,b.dw,b.xj/100 xj,b.sl,b.xj*b.sl/100 zjje,b.zk,b.SL*(b.xj*nvl(b.zk,0)/100+nvl(b.jsj,0))/100 jsje, b.BZ from tb_yzppxxb a ,tks_grprkpp b where a.tdm(+)=b.ppdm and b.rkdh=''' + qryRKDRK.fieldbyname('rkdh').asstring + '''';
jycx := 'select a.zh,a.tmc,b.dw,c.kfmc,b.xj/100 xj,b.sl,b.xj*b.sl/100 zjje,decode(b.zk,0,b.jsj/100,b.zk) zk,b.SL*(b.xj*nvl(b.zk,0)/100+nvl(b.jsj,0))/100 jsje, b.BZ from tb_yzppxxb a ,tks_grprkpp b,tgs_kfb c where a.tdm(+)=b.ppdm and b.kfdm=c.kfdm and b.rkdh=''' + qry_RKD.fieldbyname('rkdh').asstring + '''';
Qry_ckdayin.close;
Qry_ckdayin.sql.clear;
Qry_ckdayin.sql.add(jycx);
Qry_ckdayin.open;
QRLabel11.Caption := FormatDateTime('yyyy"年"mm"月"d"日" ', dbde_kdrq.Date);
sumzj := 0;
sumjsj := 0;
DetailLines := 0;
if CHQMsgBox('是否采用套打?', 2) = IDYES then
Tao_Print_Flag := True
else
Tao_Print_Flag := False;
Prepare;
try
QRLabel29.Caption := IntToStr(QRPrinter.PageCount);
finally
QRPrinter.Free;
end;
QRPrinter := nil;
preview;
finally
FrmK_JYRKDDY.Free;
Frm_RichEdit.Free;
FrmK_JYRKDDY := nil;
Frm_RichEdit := nil;
end;
end;
io_txp:
begin
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -