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

📄 ufzpayment.~pas

📁 在打沙场用的最简单
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit ufzpayment;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BaseInfo, Menus, ActnList, DB, DBClient, Grids, DBGridEh,inifiles,
  StdCtrls, wwdblook, Buttons, ToolWin, ComCtrls, ExtCtrls, FR_DSet,
  comobj, Excel2000,FR_DBSet, FR_Class, FR_Desgn, Mask, wwdbedit,
  wwdbdatetimepicker, ADODB, Spin, PBSpinEdit, te_controls, ksthemebuttons,
  DBTables;

type
  Tfzpayment = class(TfrmBaseinfo)
    paneledit: TPanel;
    Label6: TLabel;
    Label8: TLabel;
    paneltitle: TPanel;
    formTitle: TLabel;
    CDSbaseinfopno3: TStringField;
    CDSbaseinfocno: TStringField;
    CDSbaseinfocompany: TStringField;
    CDSbaseinfogx: TStringField;
    CDSbaseinfofzweight: TBCDField;
    CDSbaseinfospqty: TBCDField;
    CDSbaseinfospweight: TBCDField;
    CDSbaseinfojgf: TBCDField;
    CDSbaseinfohmweight: TBCDField;
    CDSbaseinfosh: TBCDField;
    CDSbaseinfoprice2: TBCDField;
    CDSbaseinfomnsh: TBCDField;
    CDSbaseinfokmnk: TBCDField;
    CDSbaseinfochkk: TBCDField;
    CDSbaseinfoyfk: TBCDField;
    CDSbaseinfomonths: TStringField;
    CDSbaseinfoyears: TStringField;
    CDSbaseinfofzqty: TBCDField;
    CDSbaseinfoprice1: TBCDField;
    con1: TADOConnection;
    ADOQuery1: TADOQuery;
    ADOQuery2: TADOQuery;
    CDSbaseinfofid: TIntegerField;
    CheckBox1: TCheckBox;
    CDSbaseinfoyj: TBooleanField;
    billno: TEdit;
    Label4: TLabel;
    PBSpinEdit1: TPBSpinEdit;
    PBSpinEdit2: TPBSpinEdit;
    TeThemeButton1: TTeThemeButton;
    Query1: TQuery;
    BitBtn1: TBitBtn;
    CDSselectsub: TClientDataSet;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    procedure FormCreate(Sender: TObject);
    procedure comboPrintChange(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure s02Execute(Sender: TObject);
    procedure s05Execute(Sender: TObject);
    procedure s04Execute(Sender: TObject);
    procedure s01Execute(Sender: TObject);
    procedure GridColExit(Sender: TObject);
    procedure TeThemeButton1Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure s03Execute(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure GridKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure BitBtn3Click(Sender: TObject);
    procedure Query1BeforePost(DataSet: TDataSet);
  private
    procedure cojsb; 
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fzpayment:Tfzpayment;

implementation

uses Global, uitem_m,common;

{$R *.dfm}

procedure Tfzpayment.FormCreate(Sender: TObject);
var
yy,mm,dd:word;
begin
  inherited;
  decodedate(date,yy,mm,dd );
  PBSpinEdit1.Value:=yy;
  PBSpinEdit2.Value:=mm;
  Maintable:='jsb';
  Mainview:='vjsb';
  Keyfield:='fid';
  ReportName:=gs_appPath+'\prints\fzpay.frf';
  Modifyform:=Tfrmitem_m;

end;

procedure Tfzpayment.comboPrintChange(Sender: TObject);
var
  excelid, mybook: variant;
  row, col, i, j, colcount, frow: integer;
  excelflg: boolean;
  rpstr: string;
  per_count,  datasum, dsum1, dsum2: integer;
  datas1, datas2, datas3: string;
begin
 // inherited;

  if Trim(comboprint.Text)='电子表格' then
     begin
  CDSbaseinfo.DisableControls;
  try
    excelid := createoleobject('excel.application');
    mybook := createoleobject('excel.sheet');
    mybook := excelid.workbooks.add;
    row := 1;
    col := 1;
    excelflg := true;
  except
    excelflg := false;
    application.MessageBox('请确定EXCEL是否正确安装!', '提示信息', mb_ok);
  end;
  if excelflg then
  begin
      colcount := CDSbaseinfo.fieldcount-4;
      excelid.range['A' + inttostr(row), chr(64 + colcount) +
        inttostr(row)].merge();
      mybook.worksheets[1].cells.item[row, col] :=  '基本报表';
      mybook.worksheets[1].cells.item[row, col].font.size := 18;
      mybook.worksheets[1].cells.item[row, col].font.bold := true;
      mybook.worksheets[1].cells.item[row, col].HorizontalAlignment := xlcenter;
      row := row + 1;
      excelid.range['A' + inttostr(row), chr(64 + colcount) +
        inttostr(row)].merge();
      mybook.worksheets[1].cells.item[row, col] := '报表日期:' +
        datetostr(date);
      row := row + 1;
      frow := row;
      CDSbaseinfo.First;
      for i := 1 to colcount do
      begin
        excelid.columns[i].ColumnWidth := Grid.Columns[i - 1].Width /
          8;
        excelid.columns[i].NumberFormatLocal := '@';
        mybook.worksheets[1].cells.item[row, i] := grid.Columns[i -
          1].Title.Caption;
        mybook.worksheets[1].cells.item[row, i].HorizontalAlignment := xlcenter;
      end;
      row := row + 1;
      while not CDSbaseinfo.Eof do
      begin
        for i := 1 to colcount do
          mybook.worksheets[1].cells.item[row, i] := CDSbaseinfo.Fields[i -
            1].AsString;
        row := row + 1;
        CDSbaseinfo.Next;
      end;
      excelid.range['A' + inttostr(row), chr(64 + colcount) +
        inttostr(row)].merge();
      mybook.worksheets[1].cells.item[row, col].font.size := 12;
      mybook.worksheets[1].cells.item[row, col].font.bold := true;
      mybook.worksheets[1].cells.item[row, col].HorizontalAlignment := xlcenter;
      mybook.worksheets[1].cells.item[row, col] := '总记录数:' +
       inttostr(CDSbaseinfo.RecordCount) + '条';
      row := row + 1;
      rpstr := '报表条件:';
     { if grid.Cells[0, 0] <> '' then
        for i := 0 to grid.RowCount - 1 do
          for j := 0 to 3 do
            rpstr := rpstr + ' ' + grid.Cells[j, i];    }
      excelid.range['A' + inttostr(row), chr(64 + colcount) +
        inttostr(row)].merge();
      mybook.worksheets[1].cells.item[row, col] := rpstr;
      row := row + 1;
      excelid.range[chr(65) + inttostr(frow), chr(64 + colcount) + inttostr(row
        - 1)].Borders[1].LineStyle := xlContinuous;
      excelid.range[chr(65) + inttostr(frow), chr(64 + colcount) + inttostr(row
        - 1)].Borders[2].LineStyle := xlContinuous;
      excelid.range[chr(65) + inttostr(frow), chr(64 + colcount) + inttostr(row
        - 1)].Borders[3].LineStyle := xlContinuous;
      excelid.range[chr(65) + inttostr(frow), chr(64 + colcount) + inttostr(row
        - 1)].Borders[4].LineStyle := xlContinuous;

//    end;

    excelid.visible := true;
  end;
  CDSbaseinfo.EnableControls;
     end;
end;

procedure Tfzpayment.FormShow(Sender: TObject);
var
  s:string;
  ini:Tinifile;
  usercode:string;
  serverIP:string;
begin
  inherited;

  s:=Extractfilepath(application.ExeName);
  if s[length(s)]<>'\' then
    s:=s+'\'+'Default.ini'
    else
    s:=s+'Default.ini';
  try
    ini:=Tinifile.Create(s);
    serverIP:=ini.ReadString('ADO','FILE NAME','');
  finally
    ini.Free;
  end;

  if Serverip<>'' then
    con1.ConnectionString:='FILE NAME='+serverip
    else
    con1.ConnectionString:='FILE NAME=\kc.udl';
    con1.Connected:=true;
    CDSbaseinfo.First;
     while  not CDSbaseinfo.Eof do
     begin
      CDSbaseinfo.Edit;
      GetsqlData(CDSselectsub,'vfz','pno','pno='+vartosql(cdsbaseinfo['pno3']),1);
      if CDSselectsub.RecordCount > 0 then
      CDSbaseinfo['company']:=CDSselectsub['fprovider'];
      CDSbaseinfo.Next;
    end;
end;

procedure Tfzpayment.s02Execute(Sender: TObject);
begin
//  inherited;
      cdsbaseinfo.Post;
  if CDSbaseinfo.ChangeCount > 0  then
    begin
      applyupdata(CDSbaseinfo,Maintable,Keyfield);
      Cdsbaseinfo.MergeChangeLog;
    end;

//      cdsbaseinfo.ApplyUpdates(-1);
//      Applyupdata(CDSbaseinfo,Maintable,keyfield);

end;

procedure Tfzpayment.s05Execute(Sender: TObject);
var
str1:string;
begin
//  inherited;
if checkbox1.Checked then
str1:='(company='+QuotedStr(billno.Text)+' )  and (yj<>0)'+' and (years='+QuotedStr(pbspinedit1.Text)+') and (months='+quotedstr(pbspinedit2.Text)+')' else
str1:='(company='+QuotedStr(billno.Text)+' )  and (yj=0)' +' and (years='+QuotedStr(pbspinedit1.Text)+') and (months='+quotedstr(pbspinedit2.Text)+')'  ;

//showmessage(str1);
cdsbaseinfo.Filter:=str1 ;
cdsbaseinfo.Filtered:=true;
{DSbaseinfo.DataSet:=adoquery1;
   with adoquery1 do
   begin
     sql.clear;
     sql.add('select * from jsb where company =:company and years=:years and months=:months');
     open;
   end;   }
end;

procedure Tfzpayment.s04Execute(Sender: TObject);
begin
//  inherited;

end;

procedure Tfzpayment.s01Execute(Sender: TObject);
begin
//  inherited;

end;

procedure Tfzpayment.GridColExit(Sender: TObject);
begin
  inherited;
   if query1.State in [dsedit,dsinsert] then
   begin
    query1.FieldByName('jgf').AsFloat  := query1.FieldByName('price1').AsFloat *   query1.FieldByName('spqty').AsFloat/12; //加工费
    query1.FieldByName('kmnk').AsFloat := query1.FieldByName('price2').AsFloat * (query1.FieldByName('fzweight').AsFloat-query1.FieldByName('spweight').AsFloat-query1.FieldByName('hmweight').AsFloat-
    query1.FieldByName('spweight').AsFloat*query1.FieldByName('sh').AsFloat/100); //扣毛款
    query1.FieldByName('yfk').AsFloat :=  query1.FieldByName('jgf').AsFloat - query1.FieldByName('kmnk').AsFloat -query1.FieldByName('chkk').AsFloat ;
   end;
end;

procedure Tfzpayment.TeThemeButton1Click(Sender: TObject);
begin

⌨️ 快捷键说明

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