?? sj_jypfhdfh.pas
字號:
end;
end;
bnEdit:
begin
if qryFHDPP.IsEmpty then
exit;
SetState(dtEdit);
end;
bnSave:
Save;
bnCancel:
if CHQMsgBox('取消編輯, 確定嗎?', 2) = IDYES then
begin
qryFHD.CancelUpdates;
qryFHDPP.CancelUpdates;
qryBD.CancelUpdates;
qryBHBH.CancelUpdates;
SetState(dtBrowse);
end;
bnPrint: {print}
begin
if qryFHD.IsEmpty then
exit;
if pos('W', UpperCase(DBEdit6.Text)) = 2 then
begin
FrmK_JYFHDFHDY0 := TFrmK_JYFHDFHDY0.Create(Application);
with FrmK_JYFHDFHDY0 do
try
QRLabel25.Caption := qryFHD.FieldByName('DWMC').AsString;
QRLabel25.Left := round((ColumnHeaderBand1.Width - QRLabel25.Width) / 2);
jycx := 'select a.zh,a.tmc,''套''as dw,b.xj/100 xj,b.sl,b.xj*b.sl/100 zjje,b.zk,b.SL*(b.xj*nvl(b.zk/100, 0)+nvl(b.jsj,0))/100 jsje,a.fxrq,b.fhdh from tb_yzpptxxb a ,tks_jyckpp b where a.tdm(+)=b.ppdm 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_JYFHDFHDY0.nHeight := FrmK_JYFHDFHDY0.GetTextHeight('宋體', 10) + 3;
QRLabel8.Caption := Qry_ckdayin.fieldbyname('fhdh').asstring;
QRLabel11.Caption := dbedit2.Text;
QRLabel2.Caption := dbedit4.text;
preview;
finally
Destroy;
end;
end;
if Pos('N', UpperCase(DBEdit6.Text)) = 2 then
begin
FrmK_YPFHDFHDY := TFrmK_YPFHDFHDY.Create(Application);
with FrmK_YPFHDFHDY do
try
QRLabel4.Left := round((DetailBand1.Width - QRLabel4.Width) / 2);
if ShowDIYReport(DBGrid2, Qry_ckdayin, IO_JYP, QRLabel4) then
preview;
finally
Destroy;
end;
end;
end;
bnClose:
Close;
end;
end;
procedure Tfrm_JYPFHDFH.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_JYPFHDFH.FormCreate(Sender: TObject);
const
CKJHH_SQL = 'Select YJDH From TKS_JYFHD WHERE CKXZ <> ''11'' Group by yjdh';
begin
inherited;
DWMC.Caption := '使用單位:' + VG_UNITNAME;
InitData;
SetState(dtBrowse);
end;
procedure Tfrm_JYPFHDFH.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_JYPFHDFH.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_JYPFHDFH.BitBtn2Click(Sender: TObject);
begin
inherited;
if qryBHBH.IsEmpty then
exit;
qryBHBH.Delete;
end;
procedure Tfrm_JYPFHDFH.BitBtn4Click(Sender: TObject);
begin
inherited;
qryBD.Delete;
end;
procedure Tfrm_JYPFHDFH.qryBDAfterInsert(DataSet: TDataSet);
begin
inherited;
qryBD.Edit;
qryBD.FieldByName('FHDH').Asstring := qryFHD.FieldByName('FHDH').Asstring;
end;
procedure Tfrm_JYPFHDFH.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_JYPFHDFH.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_jyp, 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 CheckBill(qryFHD.FieldByName('FHDH').Asstring) then
CHQMsgBox('復核記帳成功! ');
end;
function Tfrm_JYPFHDFH.CheckBill(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_JYPFHDFH.BitBtn3Click(Sender: TObject);
begin
inherited;
qryBD.Append;
end;
procedure Tfrm_JYPFHDFH.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_JYPFHDFH.qryFHDPPJJGetText(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
inherited;
nDisplay.GetText(Sender, Text, DisplayText);
end;
procedure Tfrm_JYPFHDFH.qryFHDPPJJSetText(Sender: TField;
const Text: string);
begin
inherited;
nDisplay.SetText(Sender, Text);
end;
procedure Tfrm_JYPFHDFH.DBGrid2DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
inherited;
DrawCheckedGrid(not qryFHD.FieldByName('HDR').IsNull, Sender, Rect, DataCol, Column);
end;
procedure Tfrm_JYPFHDFH.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_jyp, 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 CheckBill(FieldByName('FHDH').Asstring) then
i := i + 1;
end;
Next;
end;
EnableControls;
if i > 0 then
CHQMsgBox('共完成' + inttostr(i) + '筆發貨復核!');
end;
end;
procedure Tfrm_JYPFHDFH.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_JYPFHDFH.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;
end;
procedure Tfrm_JYPFHDFH.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_JYPFHDFH.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_JYPFHDFH.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_JYPFHDFH.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;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -