📄 sj_txpfhdck.pas
字号:
end;
bnPrint: {print}
begin
if qryFHD.RecordCount > 1 then
begin
FrmK_YPFHDDY := TFrmK_YPFHDDY.Create(Application);
with FrmK_YPFHDDY do
try
if ShowDIYReport(DBGrid2, Qry_ckdayin, IO_TXP, QRLabel4) then
Preview;
finally
Destroy;
end;
end
else
begin
FrmK_TXFHDDY := TFrmK_TXFHDDY.Create(Application);
with FrmK_TXFHDDY do
try
QRLabel1.Caption := '零枚票发货通知单';
QRLabel25.Caption := qryFHD.FieldByName('DWMC').AsString;
jycx := 'select a.zh,a.tmc,''套''as dw,b.sj/100 xj,b.sl,b.sj*b.sl/100 zjje,b.zk,round(b.sj*b.sl*b.zk/10000,2) jsje,a.fxrq from tb_yzppxxb a ,tks_txckpp b where a.tdm=b.tudm and b.fhdh=''' + DBEdit6.Text + '''';
Qry_ckdayin.close;
Qry_ckdayin.sql.clear;
Qry_ckdayin.sql.add(jycx);
Qry_ckdayin.open;
sumzj := 0;
sumjsj := 0;
FrmK_TXFHDDY.nHeight := FrmK_TXFHDDY.GetTextHeight('宋体', 10) + 3;
QRLabel8.Caption := DBEdit6.Text;
QRLabel11.Caption := dbedit2.Text;
QRLabel2.Caption := dbedit4.text;
preview;
finally
Destroy;
end;
end;
end;
bnClose:
Close;
end;
end;
procedure Tfrm_TXPFHDCK.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
if (FDtstate in [dtInsert, dtEdit]) then
case CHQMsgBox(MSG_EXITSAVE, 3) of
IDYES:
if not Save then Action := caNone;
IDCANCEL: Action := caNone;
end;
end;
procedure Tfrm_TXPFHDCK.FormCreate(Sender: TObject);
const
CKJHH_SQL = 'Select YJDH From TKS_TXFHD WHERE CKXZ <> ''11'' Group by yjdh';
begin
inherited;
DWMC.Caption := '使用单位:' + VG_UNITNAME;
InitData;
SetState(dtBrowse);
end;
procedure Tfrm_TXPFHDCK.InitData;
begin
qryFHD.AfterScroll := nil;
qryFHD.Close;
qryFHD.MacroByName('CON').AsString := 'HDR is null';
qryFHD.MacroByName('YGDM').AsString := '''' + VG_USERID + '''';
qryFHD.Open;
qryFHD.AfterScroll := qryFHDAfterScroll;
qryFHDAfterScroll(nil);
end;
procedure Tfrm_TXPFHDCK.BitBtn1Click(Sender: TObject);
begin
inherited;
if qryFHDPP.IsEmpty then
exit;
Qry_ban1.Close;
Qry_ban1.Params[0].AsString := qryFHDPP.FieldByName('PPDM').AsString;
Qry_ban1.Open;
SetBHBHCtls(Panel5, dtEdit);
end;
procedure Tfrm_TXPFHDCK.BitBtn2Click(Sender: TObject);
begin
inherited;
if qryBHBH.IsEmpty then
exit;
qryBHBH.Delete;
end;
procedure Tfrm_TXPFHDCK.BitBtn4Click(Sender: TObject);
begin
inherited;
qryBD.Delete;
end;
procedure Tfrm_TXPFHDCK.qryBDAfterInsert(DataSet: TDataSet);
begin
inherited;
qryBD.Edit;
qryBD.FieldByName('FHDH').Asstring := qryFHD.FieldByName('FHDH').Asstring;
end;
procedure Tfrm_TXPFHDCK.qryBHBHAfterInsert(DataSet: TDataSet);
begin
inherited;
with qryBHBH do
begin
Edit;
FieldByName('FHDH').Asstring := qryFHD.FieldByName('FHDH').Asstring;
FieldByName('PPDM').Asstring := qryFHDPP.FieldByName('PPDM').Asstring;
FieldByName('ZH').Asstring := qryFHDPP.FieldByName('ZH').Asstring;
FieldByName('TJC').Asstring := qryFHDPP.FieldByName('TJC').Asstring;
FieldByName('BLSH').Value := DBLB_ban.KeyValue;
FieldByName('QSBH').AsString := Edt_qsban.Text;
FieldByName('ZZBH').AsString := Edt_zzban.Text;
end;
end;
{
1 集邮票总帐表
2 *集邮票总分户帐表
3/*集邮票明细分类帐*/
4/*集邮票进发存明细帐表*/
5/*集邮票明细分类帐(库管员)*/
}
procedure Tfrm_TXPFHDCK.BitBtn5Click(Sender: TObject);
var
v_s_yjr: string;
begin
if qryFHD.IsEmpty then
exit;
if qryFHD.FieldByName('CKRQ').AsDateTime = 0 then
begin
CHQMsgBox('请先确定出库日期!');
exit;
end;
if not CheckINYJRQ(io_txp, qryFHD.FieldByName('FHDH').AsString, v_s_yjr) then
begin
CHQMsgBox('该入库单不在月结范围(' + format('%s年%s月', [copy(v_s_yjr, 1, 4), copy(v_s_yjr, 5, 2)]) + ')内,不能复核!');
exit;
end;
if check(qryFHD.FieldByName('FHDH').Asstring) then
CHQMsgBox('复核记帐成功!');
qryFHDAfterScroll(nil);
end;
function Tfrm_TXPFHDCK.check(id: string): boolean;
begin
Result := false;
data.dm.StartTransaction;
try
with StoredProc1 do
begin
ParamByName('PC_FHDH').Asstring := id;
ParamByName('PC_USERID').Asstring := VG_USERName;
ExecProc;
result := Params[0].asInteger = 0;
if Params[0].asInteger = 0 then
begin
qryFHD.Edit;
qryFHD.FieldByName('HDR').Asstring := VG_UserName;
qryFHD.FieldByName('ZTZT').Asstring := '1';
qryFHD.ApplyUpdates;
end;
end;
data.dm.commit;
except
if data.dm.inTransaction then data.dm.rollback;
raise;
end;
qryFHD.CommitUpdates;
case StoredProc1.Params[0].asInteger of
0: ;
1: CHQMsgBox('复核记帐失败! 没有初始化或结转 [零枚票总帐表] 数据.');
2: CHQMsgBox('复核记帐失败! 没有初始化或结转 [零枚票总分户帐表] 数据.');
3: CHQMsgBox('复核记帐失败! 没有初始化或结转 [零枚票明细分类帐] 数据.');
4: CHQMsgBox('复核记帐失败! 没有初始化或结转 [零枚票进发存明细帐表] 数据.');
5: CHQMsgBox('复核记帐失败! 没有初始化或结转 [零枚票明细分类帐(库管员)] 数据.');
10: CHQMsgBox('复核记帐失败! 没有初始化或结转 [零枚票待销存总帐表] 数据.');
11: CHQMsgBox('复核记帐失败! 没有初始化或结转 [零枚票待销存明细分类帐] 数据.');
12: CHQMsgBox('复核记帐失败! 没有初始化或结转 [零枚票待销存明细分类帐(库管员)] 数据] 数据.');
- 1: CHQMsgBox('找不到相应的发货单!');
- 2: CHQMsgBox('错误:此发货单已复核过!');
- 3: CHQMsgBox('错误:此发货单的出库性质没找到或不需记帐!');
else
CHQMsgBox('复核记帐失败! ');
end;
end;
procedure Tfrm_TXPFHDCK.BitBtn3Click(Sender: TObject);
begin
inherited;
qryBD.append;
end;
procedure Tfrm_TXPFHDCK.qryFHDUpdateError(DataSet: TDataSet;
E: EDatabaseError; UpdateKind: TUpdateKind;
var UpdateAction: TUpdateAction);
begin
inherited;
case GetErrCode(DataSet, E, ErrMsg) of
Err_NoMasterRec: errMsg := errMsg + '&_&' + Format(MST_NOREC, ['', '', '']);
Err_HasDetailRec: errMsg := errMsg + '&_&' + Format(DTL_EXSTREC, ['']);
Err_RecDouble: errMsg := errMsg + '&_&' + Format(DBL_REC, ['']);
Err_NotNull: errMsg := errMsg + '&_&' + Format(NOTNULL, ['']);
else
errMsg := errMsg + '&_&' + OTHERERROR;
end;
end;
procedure Tfrm_TXPFHDCK.qryFHDPPMZGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
inherited;
nDisplay.GetText(Sender, Text, DisplayText);
end;
procedure Tfrm_TXPFHDCK.qryFHDPPMZSetText(Sender: TField;
const Text: string);
begin
inherited;
nDisplay.SetText(Sender, Text);
end;
procedure Tfrm_TXPFHDCK.DBGrid2DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
inherited;
DrawCheckedGrid(not qryFHD.FieldByName('HDR').IsNull, Sender, Rect, DataCol, Column);
{ if not qryFHD.FieldByName('HDR').IsNull then
DBGrid2.Canvas.Font.Color := clred;
DBGrid2.DefaultDrawColumnCell(Rect, DataCol, Column, State); }
end;
procedure Tfrm_TXPFHDCK.BitBtn7Click(Sender: TObject);
begin
inherited;
qryFHD.AfterScroll := nil;
qryFHD.Close;
qryFHD.MacroByName('CON').AsString := ' TO_CHAR(KDRQ, ''YYYYMMDD'') >= ''' + FormatDateTime('YYYYMMDD', DateEdit1.Date) + '''';
qryFHD.MacroByName('YGDM').AsString := '''' + VG_USERID + '''';
qryFHD.Open;
qryFHD.AfterScroll := qryFHDAfterScroll;
qryFHDAfterScroll(nil);
end;
procedure Tfrm_TXPFHDCK.BitBtn6Click(Sender: TObject);
var
i: integer;
v_b_skip: boolean;
v_s_yjr: string;
begin
inherited;
if qryFHD.IsEmpty then
exit;
i := 0;
with qryFHD do
begin
DisableControls;
First;
while not Eof do
begin
v_b_skip := false;
if qryFHD.FieldByName('HDR').IsNull and (not qryFHD.FieldByName('CKRQ').IsNull) then
begin
if not CheckINYJRQ(io_txp, qryFHD.FieldByName('FHDH').AsString, v_s_yjr) then
begin
v_b_skip := true;
// CHQMsgBox('该入库单不在月结范围(' + format('%s年%s月', [copy(v_s_yjr, 1, 4), copy(v_s_yjr, 5, 2)]) + ')内,不能复核!');
end;
if not v_b_skip then
if Check(FieldByName('FHDH').Asstring) then
i := i + 1;
end;
Next;
end;
EnableControls;
if i > 0 then
CHQMsgBox('共完成' + inttostr(i) + '笔发货复核!');
end;
qryFHDAfterScroll(nil);
end;
procedure Tfrm_TXPFHDCK.qryFHDAfterScroll(DataSet: TDataSet);
begin
inherited;
if qryFHD.IsEmpty then
exit;
Qryban.Close;
Qryban.ParamByName('FHDH').AsString := qryFHD.FieldByName('FHDH').AsString;
Qryban.Open;
qryFHDPP.Close;
qryFHDPP.ParamByName('FHDH').AsString := qryFHD.FieldByName('FHDH').AsString;
qryFHDPP.Open;
qryBD.Close;
qryBD.ParamByName('FHDH').AsString := qryFHD.FieldByName('FHDH').AsString;
qryBD.Open;
qryBHBH.Close;
qryBHBH.ParamByName('FHDH').AsString := qryFHD.FieldByName('FHDH').AsString;
qryBHBH.Open;
BitBtn5.Enabled := qryFHD.FieldByName('HDR').IsNull;
BBt_send.Enabled := not BitBtn5.Enabled;
end;
procedure Tfrm_TXPFHDCK.DBLB_banCloseUp(Sender: TObject);
begin
inherited;
if DBLB_ban.Text = '' then exit;
Qrybao.Close;
Qrybao.Params[0].Value := DBLB_ban.keyValue;
Qrybao.Open;
end;
procedure Tfrm_TXPFHDCK.BitBtn8Click(Sender: TObject);
begin
inherited;
if (trim(Edt_qsban.Text) = '') or (trim(Edt_qsban.Text) = '') then
begin
CHQMsgBox('请确定起始版号和终止版号!');
exit;
end;
qryBHBH.Append;
Edt_qsbao.Text := '';
Edt_zzbao.Text := '';
Edt_qsban.Text := '';
Edt_zzban.Text := '';
end;
procedure Tfrm_TXPFHDCK.Edt_zzbaoExit(Sender: TObject);
var
v_s: pchar;
v_i: double;
begin
inherited;
try
if length(Edt_qsbao.Text) = 0 then
exit;
v_s := pchar(copy(Edt_zzbao.Text, 1, 1));
if v_s > '9' then //字母开头
begin
v_i := strtoint(copy(Edt_zzbao.Text, 2, 7));
Edt_zzban.Text := v_s + formatfloat('0000000', v_i * Qrybao.FieldByName('BS').AsInteger);
end
else
begin
v_i := strtoint(Edt_zzbao.Text);
Edt_zzban.Text := formatfloat('00000000', v_i * Qrybao.FieldByName('BS').AsInteger);
end;
except
end;
end;
procedure Tfrm_TXPFHDCK.Edt_qsbaoExit(Sender: TObject);
var
v_s: pchar;
v_i: double;
begin
inherited;
try
// if length(Edt_qsban.Text) > 0 then
// exit;
v_s := pchar(copy(Edt_qsbao.Text, 1, 1));
if v_s > '9' then //字母开头
begin
v_i := strtoint(copy(Edt_qsbao.Text, 2, 7));
Edt_qsban.Text := v_s + formatfloat('0000000', (v_i - 1) * Qrybao.FieldByName('BS').AsInteger + 1);
Edt_zzban.Text := v_s + formatfloat('0000000', v_i * Qrybao.FieldByName('BS').AsInteger);
end
else
begin
v_i := strtoint(Edt_qsbao.Text);
Edt_qsban.Text := formatfloat('00000000', (v_i - 1) * Qrybao.FieldByName('BS').AsInteger + 1);
Edt_zzban.Text := formatfloat('00000000', v_i * Qrybao.FieldByName('BS').AsInteger);
end;
except
end;
end;
procedure Tfrm_TXPFHDCK.BBt_SendClick(Sender: TObject);
var
vs_fhdh: string;
begin
vs_fhdh := SelFHD(io_txp, DBEdit6.Text);
if vs_fhdh <> '' then
begin
data.dm.StartTransaction;
try
with data.qrytmp do
begin
Close;
SQL.Clear;
SQL.Add('update TKS_TXFHD set SDATE=sysdate where FHDH in (' + vs_fhdh + ')');
ExecSQL;
Close;
SQL.Clear;
SQL.Add('insert into TKS_TXFHD_CACO(FHDH, YJDH, CKXZ, FHDW, QXDW, KDRQ, ZTZT, GHRQ, JSZT, ZPRQ, FZDS, CKRQ, DJRQ, ZGR, KGY, HDR, ZBR, BZ, SDATE, COMM_DEPT) ');
SQL.Add('select FHDH, YJDH, CKXZ, FHDW, QXDW, KDRQ, ZTZT, GHRQ, JSZT, ZPRQ, FZDS, CKRQ, DJRQ, ZGR, KGY, HDR, ZBR, BZ, SDATE, QXDW from TKS_TXFHD where FHDH in (' + vs_fhdh + ')');
ExecSQL;
Close;
SQL.Clear;
SQL.Add('insert into TKS_TXCKPP_CACO(FHDH, TUDM, KFDM, KWH, JJ, SL, XJ, ZK, JSJ, COMM_DEPT) ');
SQL.Add('select a.FHDH, a.TUDM, a.KFDM, a.KWH, a.JJ, a.SL, a.XJ, a.ZK, a.JSJ, b.QXDW from TKS_TXCKPP a, TKS_TXFHD b where a.FHDH=b.FHDH and a.FHDH in (' + vs_fhdh + ')');
ExecSQL;
end;
data.dm.Commit;
except
data.dm.Rollback;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -