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

📄 billsetup.pas

📁 胜天财务进销存2003源代码,SQLSERVER版,目前最完整的财务进销存系统.
💻 PAS
字号:
unit BillSetup;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  BaseForm, StdCtrls, Buttons, ExtCtrls, dxCntner, dxTL, dxDBCtrl,
  dxDBGrid, ComCtrls, ImgList, dbData, Db, ADODB, dxDBTLCl, dxGrClms,
  KsControls, KsButtons, KsSkinButtons, KsHooks, KsForms, KsSkinForms,
  KsLabels, KsSkinLabels, KsPanels, KsSkinPanels, dxExEdtr;

type
  TfrmBillSetup = class(TfrmBaseForm)
    pnlBottom: TSeSkinPanel;
    pnlClient: TSeSkinPanel;
    pnlLeft: TSeSkinPanel;
    bbOk: TSeSkinButton;
    SplLeft: TSplitter;
    gdMain: TdxDBGrid;
    pnlTop: TSeSkinPanel;
    Image1: TImage;
    tvLeft: TdxTreeList;
    tvImg: TImageList;
    dsMain: TDataSource;
    dstMain: TADODataSet;
    bbEdit: TSeSkinButton;
    Label1: TSeSkinLabel;
    bbInit: TSeSkinButton;
    procedure tvLeftGetSelectedIndex(Sender: TObject;
      Node: TdxTreeListNode; var Index: Integer);
    procedure tvLeftChangeNode(Sender: TObject; OldNode,
      Node: TdxTreeListNode);
    procedure bbEditClick(Sender: TObject);
    procedure gdMainDblClick(Sender: TObject);
    procedure bbOkClick(Sender: TObject);
    procedure bbInitClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
    bReturn: Boolean;
    lMode: Integer;
    lTreeMode: Integer;
    procedure LoadTree;
    procedure LoadGrid;
    procedure LoadData;
    procedure ToolShow;
    procedure MainShow;
  public
    { Public declarations }
  end;

function BillTopSetupShow(l1Mode: Integer): Boolean;
implementation

uses SysPublic, BaseBillEdit, BillSetupEdit;

{$R *.DFM}

function BillTopSetupShow(l1Mode: Integer): Boolean;
var
  frmBillSetup: TfrmBillSetup;
begin
  frmBillSetup := TfrmBillSetup.Create(Application);
  with frmBillSetup do
  begin
    lMode := l1Mode;
    MainShow;
    Result := bReturn;
    Free;
  end;
end;

procedure TfrmBillSetup.MainShow;
begin
  bReturn := False;
  LoadTree;
  LoadGrid;
  LoadData;
  ToolShow;
  ShowModal;
end;

procedure TfrmBillSetup.LoadTree;
var
  tvNode: TdxTreeListNode;
begin
  if lMode <> BILL_ALL_SETUP then
  begin
    pnlLeft.Visible := false;
    SplLeft.Visible := false;
    bbInit.Visible := False;
    lTreeMode := lMode;
    exit;
  end;
  lTreeMode := STOCK_ORDER_EDIT;
  tvLeft.CreateColumn(TdxTreeListColumn);
  tvLeft.Columns[0].Name := 'colBillName';
  tvLeft.Columns[0].Caption := '单据名称';
  with tvNode do
  begin
    tvNode := tvLeft.Add;
    Values[0] := '进货订单';
    Data := Pointer(STOCK_ORDER_EDIT);
    tvNode := tvLeft.Add;
    Values[0] := '进货单';
    Data := Pointer(STOCK_FORMAL_EDIT);
    tvNode := tvLeft.Add;
    Values[0] := '进货付款单';
    Data := Pointer(STOCK_MONEY_EDIT);
    tvNode := tvLeft.Add;
    Values[0] := '进货退货单';
    Data := Pointer(STOCK_BACK_EDIT);
    tvNode := tvLeft.Add;
    Values[0] := '销售订单';
    Data := Pointer(SALE_ORDER_EDIT);
    tvNode := tvLeft.Add;
    Values[0] := '销售单';
    Data := Pointer(SALE_FORMAL_EDIT);
    tvNode := tvLeft.Add;
    Values[0] := '销售收款单';
    Data := Pointer(SALE_MONEY_EDIT);
    tvNode := tvLeft.Add;
    Values[0] := '现款销售单';
    Data := Pointer(SALE_READY_EDIT);
    tvNode := tvLeft.Add;
    Values[0] := '销售退货单';
    Data := Pointer(SALE_BACK_EDIT);
    tvNode := tvLeft.Add;
    Values[0] := '零售单(POS)';
    Data := Pointer(SALE_POS_EDIT);
    tvNode := tvLeft.Add;
    Values[0] := '领料单';
    Data := Pointer(EXIST_DRAW);
    tvNode := tvLeft.Add;
    Values[0] := '退料单';
    Data := Pointer(EXIST_RETURN);
    tvNode := tvLeft.Add;
    Values[0] := '报损单';
    Data := Pointer(EXIST_LOSING);
    tvNode := tvLeft.Add;
    Values[0] := '报溢单';
    Data := Pointer(EXIST_INCREASE);
    tvNode := tvLeft.Add;
    Values[0] := '赠送单';
    Data := Pointer(EXIST_PRESENT);
    tvNode := tvLeft.Add;
    Values[0] := '获赠单';
    Data := Pointer(EXIST_GAIN);
    tvNode := tvLeft.Add;
    Values[0] := '产品进仓';
    Data := Pointer(EXIST_ENTER_DEPOT);
    tvNode := tvLeft.Add;
    Values[0] := '库存盘点';
    Data := Pointer(EXIST_CHECK_LIST);
    tvNode := tvLeft.Add;
    Values[0] := '存货调价';
    Data := Pointer(EXIST_CHANGE_PRICE);
    tvNode := tvLeft.Add;
    Values[0] := '仓库调拨';
    Data := Pointer(EXIST_EXCHANGE);
    tvNode := tvLeft.Add;
    Values[0] := '组装与拆卸';
    Data := Pointer(EXIST_ASSEMBLY);
    tvNode := tvLeft.Add;
    Values[0] := '库存变动';
    Data := Pointer(EXIST_OTHER);
    tvNode := tvLeft.Add;
    Values[0] := '其它费用单';
    Data := Pointer(MONEY_EXPENSES);
    tvNode := tvLeft.Add;
    Values[0] := '其它收入单';
    Data := Pointer(MONEY_INCOME);
    tvNode := tvLeft.Add;
    Values[0] := '银行存取款';
    Data := Pointer(MONEY_DEPOSIT);
  end;
end;

procedure TfrmBillSetup.LoadGrid;
begin
  StrToGridField(gdMain, 'ID,UserID,TopName,CustomName,Field,Display',
    'ID,序号,单据列名称,自定义名称,Field,显示',
    '30,50,110,110,30,60');

  ChangColumnType(gdMain, gdMain.ColumnByFieldName('Display'), TdxDBGridCheckColumn);
  TdxDBGridCheckColumn(gdMain.ColumnByFieldName('Display')).ValueChecked := 'True';
  TdxDBGridCheckColumn(gdMain.ColumnByFieldName('Display')).ValueUnChecked := 'False';
  gdMain.ColumnByFieldName('ID').Visible := false;
  gdMain.ColumnByFieldName('Field').Visible := false;
  SetCanWrite(gdMain, 'Display') //设置可写
end;

procedure TfrmBillSetup.LoadData;
var
  sSql: string;
begin
  sSql := ' SELECT * FROM BillSetup WHERE Nodisplay<>true and MODE=';
  if lMode = BILL_ALL_SETUP then
    sSql := sSql + IntToStr(lTreeMode)
  else
    sSql := sSql + IntToStr(lMode);
  sSql := sSql + ' ORDER BY UserID';
  OpenDataSet(dstMain, sSql);
end;

procedure TfrmBillSetup.ToolShow;
begin
end;

procedure TfrmBillSetup.tvLeftGetSelectedIndex(Sender: TObject;
  Node: TdxTreeListNode; var Index: Integer);
const
  ImagesIndex: array[Boolean] of Integer = (0, 1);
begin
  inherited;
  Index := ImagesIndex[Node.Selected];
end;

procedure TfrmBillSetup.tvLeftChangeNode(Sender: TObject; OldNode,
  Node: TdxTreeListNode);
begin
  inherited;
  lTreeMode := Integer(Node.Data);
  LockWindowUpdate(HANDLE);
  InitialBillSetup(lTreeMode);
  SaveDataSet(dstMain, false);
  LoadData;
  LockWindowUpdate(0);
end;

procedure TfrmBillSetup.bbEditClick(Sender: TObject);
begin
  inherited;
  if dstMain.FieldByName('ID').AsString = '' then
    exit;
  if BillSetupEditShow then
  begin
    if (dstMain.State = dsEdit) or (dstMain.State = dsInsert) then
      dstMain.FieldByName('Mode').AsInteger := lTreeMode;
    SaveDataSet(dstMain, false);
    bReturn := True;
  end
  else
    dstMain.Cancel;
end;

procedure TfrmBillSetup.gdMainDblClick(Sender: TObject);
begin
  inherited;
  bbEditClick(Sender);
end;

procedure TfrmBillSetup.bbOkClick(Sender: TObject);
begin
  inherited;
  SaveDataSet(dstMain, false);
  Close;
end;

procedure TfrmBillSetup.bbInitClick(Sender: TObject);
var
  sSql: string;
begin
  inherited;
  sSql := 'DELETE FROM BillSetup ';
  if ExecSql(sSql) then
    ShowMsg('成功初始化单据配置,单据配置已回到系统默认配置!');
end;

procedure TfrmBillSetup.FormShow(Sender: TObject);
begin
  inherited;
  if pnlLeft.Visible then tvLeftChangeNode(nil, nil, tvLeft.FocusedNode);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -