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

📄 unit1.pas

📁 本程序是在实施用友ERP时根据客户要求专门为用友U8开发的生产标准生产成本的二次开发程序。
💻 PAS
📖 第 1 页 / 共 5 页
字号:
      Table_ProductID.Edit;
      Table_ProductID.FieldByName('iProutCost1').AsFloat := iSCost1;
      Table_ProductID.FieldByName('iProutCost2').AsFloat := iSCost2;
      Table_ProductID.FieldByName('isProuting').AsFloat := 1;
      Table_ProductID.Post;
      Table_ProductID.Next;
    End;
    Table_ProductID.Filtered := false;
    ADOQuery4.Next;
  End;
  Table_ProductID.Close;
  ADOQuery4.Prepared := false;
  ADOQuery4.Close;
  RzProgressBar1.Visible := false;
End;

Procedure TForm1.RzTreeView1Change(Sender: TObject; Node: TTreeNode);
Var
  ii: integer;
Begin
  isLastNode := false;
  ii := node.Count;
  If ii <> 0 Then
    treechange(ADOQuery5, node)
  Else
  Begin
    ADOQuery5.GotoBookmark(node.Data);
    cPCost1 := '';
    cPCost2 := '';
    cPBinvRCost1 := '';
    cPBinvRCost2 := '';
    cPBInvSprice1 := '';
    cPBInvSprice2 := '';
    cPBinvNCost1 := '';
    cPBinvNCost2 := '';
    Table_ProductID.DisableControls;
    Table_Prouting.DisableControls;
    Table_ProductID.Close;
    Table_Prouting.Close;
    Table_ProductID.Filtered := false;
    Table_ProductID.Filter := 'NewID=' + ADOQuery5.FieldByName('NewID').AsString;
    Table_ProductID.Filtered := true;
    Table_Prouting.Filtered := false;
    Table_Prouting.Filter := 'Partid=' + ADOQuery5.FieldByName('Partid').AsString;
    Table_Prouting.Filtered := true;
    Table_ProductID.Open;
    Table_Prouting.Open;
    Table_ProductID.EnableControls;
    Table_Prouting.EnableControls;
    isLastNode := true;
    DisplaySumData;
  End;
End;

Procedure TForm1.Treechange(Query: TAdoQuery; node: TTreenode);
Begin
  If FChanged = true Then
  Begin
    query.GotoBookmark(node.Data);
    cPCost1 := FloatToStrF(Query.fieldbyname('iBProutCost1').AsFloat, ffFixed, 10, 2);
    cPCost2 := FloatToStrF(Query.fieldbyname('iBProutCost2').AsFloat, ffFixed, 10, 2);
    cPBinvRCost1 := FloatToStrF(Query.fieldbyname('iBInvRCost1').AsFloat, ffFixed, 10, 2);
    cPBInvSprice1 := FloatToStrF(Query.fieldbyname('iBInvSprice1').AsFloat, ffFixed, 10, 2);
    cPBinvNCost1 := FloatToStrF(Query.fieldbyname('iBInvNCost1').AsFloat, ffFixed, 10, 2);
    cPBinvRCost2 := FloatToStrF(Query.fieldbyname('iBInvRCost2').AsFloat, ffFixed, 10, 2);
    cPBinvSprice2 := FloatToStrF(Query.fieldbyname('iBInvSprice2').AsFloat, ffFixed, 10, 2);
    cPBinvNCost2 := FloatToStrF(Query.fieldbyname('iBInvNCost2').AsFloat, ffFixed, 10, 2);
    Table_ProductID.DisableControls;
    Table_Prouting.DisableControls;
    Table_ProductID.Close;
    Table_Prouting.Close;
    Table_ProductID.Filtered := false;
    Table_ProductID.Filter := 'NewPID=' + Query.FieldByName('NewID').AsString;
    Table_ProductID.Filtered := true;
    Table_Prouting.Filtered := false;
    Table_Prouting.Filter := 'Partid=' + Query.FieldByName('Partid').AsString;
    Table_Prouting.Filtered := true;
    Table_ProductID.Open;
    Table_Prouting.Open;
    Table_ProductID.EnableControls;
    Table_Prouting.EnableControls;
    DisplaySumData;
  End;
End;

Procedure TForm1.DisplaySumData;
Begin
  If isLastNode = true Then
    RzLabel16.Caption := ''
  Else
  Begin
    If RzPageControl1.ActivePageIndex = 0 Then
    Begin
      If WorkHours1 = true Then
      Begin
        RzLabel16.Caption := '【单位合计成本】:' + cPBinvRCost1;
      End
      Else
      Begin
        RzLabel16.Caption := '【单位合计成本】:' + cPBinvRCost2;
      End;
    End;
    If RzPageControl1.ActivePageIndex = 1 Then
    Begin
      If WorkHours1 = true Then
      Begin
        RzLabel16.Caption := '【单位合计成本】:' + cPBinvSprice1;
      End
      Else
      Begin
        RzLabel16.Caption := '【单位合计成本】:' + cPBinvSprice2;
      End;
    End;
    If RzPageControl1.ActivePageIndex = 2 Then
    Begin
      If WorkHours1 = true Then
      Begin
        RzLabel16.Caption := '【单位合计成本】:' + cPBinvNCost1;
      End
      Else
      Begin
        RzLabel16.Caption := '【单位合计成本】:' + cPBinvNCost2;
      End;
    End;
  End;
End;

Function TForm1.TreeFind(TreeView: TRzTreeView; text: String): boolean;
Var
  i: integer;
Begin
  Result := false;
  For i := 0 To treeview.Items.Count - 1 Do
  Begin
    If treeview.Items.Item[i].Text = text Then
    Begin
      treeview.Select(treeview.Items.Item[i]);
      treeview.SetFocus;
      Result := true;
      exit;
    End;
  End;
End;

Procedure TForm1.RzToolButton13Click(Sender: TObject);
Var
  ss, ss1, sTitle: String;
Begin
  ss1 := '';
  ss := Trim(RzEdit2.Text);
  If StrLen(PChar(ss)) > 0 Then
    ss1 := ss1 + ' WHERE (cInvAddCode like "%' + ss + '%")';
  ss := Trim(RzEdit3.Text);
  If StrLen(PChar(ss)) > 0 Then
    If StrLen(PChar(ss1)) > 10 Then
      ss1 := ss1 + '  AND (cInvCode like "%' + ss + '%")'
    Else
      ss1 := ss1 + ' WHERE (cInvCode like "%' + ss + '%")';
  ss := Trim(RzEdit4.Text);
  If StrLen(PChar(ss)) > 0 Then
    If StrLen(PChar(ss1)) > 10 Then
      ss1 := ss1 + ' AND (cInvName like "%' + ss + '%")'
    Else
      ss1 := ss1 + '  WHERE (cInvName like "%' + ss + '%")';
  ss := Trim(RzEdit5.Text);
  If StrLen(PChar(ss)) > 0 Then
    If StrLen(PChar(ss1)) > 10 Then
      ss1 := ss1 + '  AND (cInvStd like "%' + ss + '%")'
    Else
      ss1 := ss1 + '  WHERE (cInvStd like "%' + ss + '%")';
  sTitle := '过滤内容一览表';
  ADOQueryLooksomething.Close;
  ADOQueryLooksomething.Prepared := false;
  ADOQueryLooksomething.SQL.Clear;
  ADOQueryLooksomething.SQL.Add('SELECT * from ProductID ');
  ADOQueryLooksomething.SQL.Add(ss1);
  ADOQueryLooksomething.Prepared := true;
  ADOQueryLooksomething.Open;
  If ADOQueryLooksomething.RecordCount >= 1 Then
  Begin
    TabSheet4.TabVisible := true;
    TabSheet4.Caption := sTitle;
    RzPageControl1.ActivePageIndex := 3;
    DBGridEh5.Visible := true;
    DBGridEh5.SetFocus;
    FFilter := true;
  End
  Else
  Begin
    ADOQueryLooksomething.Prepared := false;
    ADOQueryLooksomething.Close;
    showmessage('没有您所要过滤的 !');
    DBGridEh5.Visible := false;
    TabSheet4.TabVisible := false;
    RzPageControl1.ActivePageIndex := 0;
    DBGridEh2.SetFocus;
  End;
  RzToolButton6.Visible := true;
  RzGroupBox2.Visible := false;
  //RzEdit1.Visible := false;
  //RzComboBox1.Visible := true;
End;

Procedure TForm1.RzToolButton1Click(Sender: TObject);
Begin
  Application.Terminate;
End;

Procedure TForm1.RzToolButton2Click(Sender: TObject);
Var
  F1: TextFile;
  ss, ttss: String;
  ConnectedOk: Boolean;
Begin
  ADOQueryCKProuting.Prepared := false;
  ADOQueryCKProuting.Close;
  ADOQueryCostData.Prepared := false;
  ADOQueryCostData.Close;
  FChanged := false;
  If FileExists('datalink.ini') Then
  Begin
    If SPC_DATA.Connected = false Then
    Begin
      ttss := 'Provider=SQLOLEDB.1;Persist Security Info=True;Use Encryption for Data=False;Use Procedure for Prepare=1;';
      ttss := ttss + 'Tag with column collation when possible=False;Auto Translate=True;Packet Size=4096;';
      ss := '';
      AssignFile(F1, 'datalink.ini');
      Reset(F1);
      Repeat
        Readln(F1, ss);
        ttss := ttss + ss + ';';
      Until (Eoln(F1));
      CloseFile(F1);
      SPC_DATA.Connected := false;
      SPC_DATA.ConnectionString := ttss;
      SPC_DATA.Connected := true;
    End;
    ConnectedOk := SPC_DATA.Connected;
    If ConnectedOk = true Then
      If ADOConnectionMDB.Connected = false Then
        ADOConnectionMDB.Connected := true;
    ConnectedOk := ADOConnectionMDB.Connected;
    If ConnectedOk = true Then
    Begin
      RzGroupBox1.Visible := true;
      RzLabel1.Visible := true;
      ADOQuery5.Prepared := false;
      ADOQuery5.Close;
      RzPanel4.Visible := false;
      RzPanel5.Visible := false;
      ADOQueryCostData.Active := false;
      ADOQueryCKProuting.Active := false;
      RzSizePanel2.Visible := true;
      RzSizePanel1.Visible := true;
      RzPanel3.Visible := false;
      GetFromServer;
      RzGroupBox1.Visible := false;
      Table_ProductID.DisableControls;
      Table_Prouting.DisableControls;
      MakeTree(ADOQuery5, 'ProductID', RzTreeView1); // 建立TREE
      Table_ProductID.Open;
      Table_ProductID.EnableControls;
      Table_Prouting.EnableControls;
      DBGridEh2.Visible := true;
      Table_Prouting.Open;
      DBGridEh4.Visible := true;
      RzToolButton6.Visible := true;
      //RzComboBox1.Visible := true;
    End
    Else
      ShowMessage('连接数据服务器失败!');
  End
  Else
    ShowMessage('datalink.ini文件不存在,请先建立该文件!');
End;

Procedure TForm1.RzToolButton7Click(Sender: TObject);
Var
  fss, pss, ss: String;
Begin
  RzSaveDialog1.FileName := '标准生产成本检查数据.xls';
  If RzSaveDialog1.Execute Then
    fss := RzSaveDialog1.FileName;
  If strlen(PChar(fss)) > 0 Then
  Begin
    Table_ProductID.Filtered := false;
    DataSetExportExcel.ExportExcelFile(fss, True, RzDBGrid1);
    Table_ProductID.Filtered := true;
    ss := '导出完毕!' + #13#10#13#10 + '数据存放在【' + fss + '】文件中!';
    showmessage(ss);
  End;
End;

Procedure TForm1.RzToolButton8Click(Sender: TObject);
Begin
  ADOQueryCostData.Prepared := false;
  ADOQueryCostData.Close;
  RzPanel4.Visible := false;
  RzPanel3.Visible := true;
End;

Procedure TForm1.RzToolButton9Click(Sender: TObject);
Var
  fss, pss, ss: String;
Begin
  RzSaveDialog1.FileName := '标准生产成本工艺路线检查数据.xls';
  If RzSaveDialog1.Execute Then
    fss := RzSaveDialog1.FileName;
  If strlen(PChar(fss)) > 0 Then
  Begin
    Table_ProductID.Filtered := false;
    DataSetExportExcel.ExportExcelFile(fss, True, RzDBGrid3);
    Table_ProductID.Filtered := true;
    ss := '导出完毕!' + #13#10#13#10 + '数据存放在【' + fss + '】文件中!';
    showmessage(ss);
  End;
End;

Procedure TForm1.RzToolButton5Click(Sender: TObject);
Begin
  RzPanel3.Visible := false;
  RzPanel4.Visible := false;
  RzPanel5.Visible := false;
  RzSizePanel2.Visible := false;
  RzSizePanel1.Visible := false;
  FChanged := false;
  ADOQuery5.Prepared := false;
  ADOQuery5.Close;
  //RzComboBox1.Visible := false;
  RzToolButton6.Visible := false;
  //RzEdit1.Visible := false;
  ADOQueryCostData.Prepared := false;
  ADOQueryCostData.Close;
  ADOQueryCKProuting.Prepared := true;
  ADOQueryCKProuting.Open;
  RzPanel5.Visible := true;
  RzPanel5.Align := alClient;
End;

Procedure TForm1.RzToolButton10Click(Sender: TObject);
Begin
  ADOQueryCKProuting.Prepared := false;

⌨️ 快捷键说明

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