⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 invaccount.pas

📁 文件包含程序源原文件
💻 PAS
📖 第 1 页 / 共 2 页
字号:
         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 + -