📄 invaccount.pas
字号:
Item.SubItems[04] := dm_inventory.Get_EmpName(floattostr(lcp^.account_empid));
Item.SubItems[05] := formatDatetime('yy/mm/dd',lcp^.input_date);
end;
end;
end;
procedure TfrmInvAccount.SetListView(iAcc: Byte);
var i,j: Integer;
lcP: PYMAccInfo;
Item: TListItem;
begin
Screen.Cursor := crHourGlass;
/////////////////////////////////////////
case iAcc of
0: begin
with ListViewClose.Items do begin
BeginUpdate;
Clear;
EndUpdate;
end;
//--
ListViewClose.Items.BeginUpdate;
FOnMakeItemCaption := True;
try
//ListSortKey := 1;
FAccountDateList.Sort(TListSortCompare(@ListSortCompare));
for i := 0 to FAccountDateList.Count-1 do begin
lcP := FAccountDateList.Items[i];
if not Set_QryCondition(lcp,0) then continue;
Item := ListViewClose.Items.Add;
for j := 0 to FColumnCnt-1 do Item.Subitems.Add('');
lcP^.ITEM := Item;
Item.Data := lcP;
MakeItemCaption(Item, 0);
end;
finally
FOnMakeItemCaption := False;
ListViewClose.Items.EndUpdate;
if ListViewClose.Items.Count > 0 then ListViewClose.TopItem.Selected := True;
Screen.Cursor := crDefault;
end;
end; ///////////
1: begin
with ListViewCancel.Items do begin
BeginUpdate;
Clear;
EndUpdate;
end;
//--
ListViewCancel.Items.BeginUpdate;
FOnMakeItemCaption := True;
try
//ListSortKey := 1;
FAccountDateList.Sort(TListSortCompare(@ListSortCompare));
for i := 0 to FAccountDateList.Count-1 do begin
lcP := FAccountDateList.Items[i];
if not Set_QryCondition(lcp,1) then continue;
Item := ListViewCancel.Items.Add;
for j := 0 to FColumnCnt-1 do Item.Subitems.Add('');
lcP^.ITEM := Item;
Item.Data := lcP;
MakeItemCaption(Item, 1);
end;
finally
FOnMakeItemCaption := False;
ListViewCancel.Items.EndUpdate;
if ListViewCancel.Items.Count > 0 then ListViewCancel.TopItem.Selected := True;
Screen.Cursor := crDefault;
end;
end;
else begin
Screen.Cursor := crDefault;
exit;
end;
end;
end;
////////////////////////////////////////////////////////////////////
function TfrmInvAccount.Set_QryCondition(lcP: PYMAccInfo; iKind: Byte): Boolean;
begin
Result := True;
//////////////////////
if not(lcp^.Kind=iKind) then begin
result := false;
exit;
end;
//////////////////////
if not(lcp^.visible=0) then begin
result := false;
exit;
end;
end;
////////////////////////////////////////////////////////////////////
procedure TfrmInvAccount.pageAccDateChange(Sender: TObject);
begin
edtCloseStkID.Text := '';
edtCloseStkName.Text := '';
cbxCloseStk.Text := '';
cbxCloseYear.Text := '';
cbxCloseMonth.Text := '';
chkCloseMonth.Checked := true;
edtCancelStkID.Text := '';
edtCancelStkName.Text := '';
cbxCancelStk.Text := '';
cbxCancelYear.Text := '';
cbxCancelMonth.Text := '';
chkCancelMonth.Checked := true;
edtYStkID.Text := '';
edtYStkName.Text := '';
cbxYStk.Text := '';
cbxYear.Text := '';
chkYearExp.Checked := true;
Read_sCondAccDateList(pageAccDate.ActivePageIndex);
SetListViewColumn(pageAccDate.ActivePageIndex);
SetListView(pageAccDate.ActivePageIndex);
end;
procedure TfrmInvAccount.cbxCancelStkChange(Sender: TObject);
var syear,smonth: string;
begin
edtCancelStkID.Text := Get_PosBeforeStr(cbxCancelStk.Text,'_');
edtCancelStkName.Text := Get_PosAfterStr(cbxCancelStk.Text,'_');
edtCancelStkID.SetFocus;
dm_inventory.Get_DefaultYearandMonth(pageAccDate.ActivePageIndex,trim(edtCancelStkID.Text),syear,smonth);
case pageAccDate.ActivePageIndex of
0: begin
cbxCloseYear.Text := syear;
cbxCloseMonth.Text := smonth;
end;
1: begin
cbxCancelYear.Text := syear;
cbxCancelMonth.Text := smonth;
end;
2: begin
end;
end;
end;
procedure TfrmInvAccount.cbxCloseStkChange(Sender: TObject);
var syear,smonth: string;
begin
edtCloseStkID.Text := Get_PosBeforeStr(cbxCloseStk.Text,'_');
edtCloseStkName.Text := Get_PosAfterStr(cbxCloseStk.Text,'_');
edtCloseStkID.SetFocus;
dm_inventory.Get_DefaultYearandMonth(pageAccDate.ActivePageIndex,trim(edtCloseStkID.Text),syear,smonth);
case pageAccDate.ActivePageIndex of
0: begin
cbxCloseYear.Text := syear;
cbxCloseMonth.Text := smonth;
end;
1: begin
cbxCancelYear.Text := syear;
cbxCancelMonth.Text := smonth;
end;
2: begin
end;
end;
end;
procedure TfrmInvAccount.edtCancelStkIDChange(Sender: TObject);
var syear,smonth: string;
begin
case pageAccDate.ActivePageIndex of
0: begin
edtCloseStkName.Text := dm_inventory.GetStockName(edtCloseStkID.Text);
edtCloseStkID.SetFocus;
dm_inventory.Get_DefaultYearandMonth(pageAccDate.ActivePageIndex,trim(edtCloseStkID.Text),syear,smonth);
cbxCloseYear.Text := syear;
cbxCloseMonth.Text := smonth;
end;
1: begin
edtCancelStkName.Text := dm_inventory.GetStockName(edtCancelStkID.Text);
edtCancelStkID.SetFocus;
dm_inventory.Get_DefaultYearandMonth(pageAccDate.ActivePageIndex,trim(edtCancelStkID.Text),syear,smonth);
cbxCancelYear.Text := syear;
cbxCancelMonth.Text := smonth;
end;
2: begin
end;
end;
end;
procedure TfrmInvAccount.edtCloseStkIDChange(Sender: TObject);
var syear,smonth: string;
begin
case pageAccDate.ActivePageIndex of
0: begin
edtCloseStkName.Text := dm_inventory.GetStockName(edtCloseStkID.Text);
edtCloseStkID.SetFocus;
dm_inventory.Get_DefaultYearandMonth(pageAccDate.ActivePageIndex,trim(edtCloseStkID.Text),syear,smonth);
cbxCloseYear.Text := syear;
cbxCloseMonth.Text := smonth;
end;
1: begin
edtCancelStkName.Text := dm_inventory.GetStockName(edtCancelStkID.Text);
edtCancelStkID.SetFocus;
dm_inventory.Get_DefaultYearandMonth(pageAccDate.ActivePageIndex,trim(edtCancelStkID.Text),syear,smonth);
cbxCancelYear.Text := syear;
cbxCancelMonth.Text := smonth;
end;
2: begin
end;
end;
end;
procedure TfrmInvAccount.cbxCloseYearDropDown(Sender: TObject);
var i: integer;
begin
cbxCloseYear.Items.Clear;
for i := 2000 to 2099 do
begin
cbxCloseYear.Items.Add(inttoStr(i));
end;
end;
procedure TfrmInvAccount.cbxCloseMonthDropDown(Sender: TObject);
var i: integer;
begin
cbxCloseMonth.Items.Clear;
for i := 1 to 12 do
begin
cbxCloseMonth.Items.Add(inttoStr(i));
end;
end;
procedure TfrmInvAccount.cbxCancelYearDropDown(Sender: TObject);
var i: integer;
begin
cbxCancelYear.Items.Clear;
for i := 2000 to 2099 do
begin
cbxCancelYear.Items.Add(inttoStr(i));
end;
end;
procedure TfrmInvAccount.cbxCancelMonthDropDown(Sender: TObject);
var i: integer;
begin
cbxCancelMonth.Items.Clear;
for i := 1 to 12 do
begin
cbxCancelMonth.Items.Add(inttoStr(i));
end;
end;
procedure TfrmInvAccount.btnConfirmExitClick(Sender: TObject);
begin
Modalresult := mrCancel;
CLOSE;
end;
procedure TfrmInvAccount.btnCancelExitClick(Sender: TObject);
begin
Modalresult := mrCancel;
CLOSE;
end;
procedure TfrmInvAccount.btnConfirmAccClick(Sender: TObject);
var ikind: integer;
stk_id,sYear,sMonth: String;
userid: double;
errorno: Integer;
ErrMsg: string;
begin
ikind := 0;
stk_id := trim(edtCloseStkID.Text);
sYear := trim(cbxCloseYear.Text);
sMonth := trim(cbxCloseMonth.Text);
userid := frmMain.FUserID;
errorno := 0;
if stk_id='' then errorno := -1;
if sYear='' then errorno := -2;
if sMonth='' then errorno := -3;
if errorno<>0 then begin
case errorno of
-1: ErrMsg := '请输入仓库名称!';
-2: ErrMsg := '请输入月结年度!';
-3: ErrMsg := '请输入月份!';
end;
MessageDlg(ErrMsg, mtWarning, [mbOK], 0);
exit;
end;
dm_Inventory.Run_CloseAccountJob(ikind, stk_id, sYear, sMonth, userid);
showMessage(stk_id+'仓库'+sYear+'年'+sMonth+'月'+'关帐成功!');
/////////////////////
Read_sCondAccDateList(pageAccDate.ActivePageIndex);
SetListViewColumn(pageAccDate.ActivePageIndex);
SetListView(pageAccDate.ActivePageIndex);
end;
procedure TfrmInvAccount.btnCancelAccClick(Sender: TObject);
var ikind: integer;
stk_id,sYear,sMonth: String;
userid: double;
errorno: Integer;
ErrMsg: string;
begin
ikind := 1;
stk_id := trim(edtCancelStkID.Text);
sYear := trim(cbxCancelYear.Text);
sMonth := trim(cbxCancelMonth.Text);
userid := frmMain.FUserID;
errorno := 0;
if stk_id='' then errorno := -1;
if sYear='' then errorno := -2;
if sMonth='' then errorno := -3;
if errorno<>0 then begin
case errorno of
-1: ErrMsg := '请输入取消月结的仓库名称!';
-2: ErrMsg := '请输入取消月结的月结年度!';
-3: ErrMsg := '请输入取消月结的月份!';
end;
MessageDlg(ErrMsg, mtWarning, [mbOK], 0);
exit;
end;
dm_Inventory.Run_CancelAccountJob(ikind, stk_id, sYear, sMonth, userid);
showMessage(stk_id+'仓库'+sYear+'年'+sMonth+'月'+'月结关帐取消成功!');
////////////////////////
Read_sCondAccDateList(pageAccDate.ActivePageIndex);
SetListViewColumn(pageAccDate.ActivePageIndex);
SetListView(pageAccDate.ActivePageIndex);
end;
procedure TfrmInvAccount.cbxYStkChange(Sender: TObject);
begin
//
end;
procedure TfrmInvAccount.edtYStkIDChange(Sender: TObject);
begin
//
end;
procedure TfrmInvAccount.cbxYearChange(Sender: TObject);
begin
//
end;
procedure TfrmInvAccount.cbxYearDropDown(Sender: TObject);
var i: integer;
begin
dm_inventory.is_DateInAccountedMonth('A',now);
cbxYear.Items.Clear;
for i := 2000 to 2099 do
begin
cbxYear.Items.Add(inttoStr(i));
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -