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

📄 ustockopt.pas

📁 DELPHI做的制衣厂管理系统,功能完善,可能马上使用,SQL2000数据库
💻 PAS
📖 第 1 页 / 共 2 页
字号:
   end;
end;

procedure TfrmStockOpt.cxDBTextEdit2KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  inherited;
   case key of
      vk_return: cxDBTextEdit1.SetFocus;
   end;
end;

procedure TfrmStockOpt.cxDBTextEdit1KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  inherited;
   case key of
      vk_return: cxDBDateEdit1.SetFocus;
   end;
end;

procedure TfrmStockOpt.cxDBDateEdit1KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  inherited;
   case key of
      vk_return: cxGrid4.SetFocus;
   end;
end;

procedure TfrmStockOpt.cxComboBox1KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  inherited;
   case key of
      vk_return : if not cxComboBox1.DroppedDown then
                     cxDBButtonEdit2.SetFocus;
   end;
end;

procedure TfrmStockOpt.cxDBCalcEdit1KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  inherited;
   case key of
      vk_return : IF cxDBTextEdit2.CanFocus then cxDBTextEdit2.SetFocus
                  Else IF cxDBDateEdit2.CanFocus then cxDBDateEdit2.SetFocus
   end;
end;

function TfrmStockOpt.CheckOperation(sender: Tobject): integer;
begin
   Result := 0;
   IF (TcomboBox(sender).Text = '21') OR
      (TcomboBox(sender).Text = '材料进仓') THEN Begin
      TcomboBox(sender).Text := '材料进仓';
      Label1.Caption := '收货人:';
      cxDBTextEdit2.Visible := true;
      cxDBDateEdit2.Visible := FALSE;
      Label4.Caption := '客商编号:';
      Label5.Caption := '客商名称:';
      Label8.Caption := '材料进仓单';
      result := 21;
   End;
   IF (TcomboBox(sender).Text = '22') OR
      (TcomboBox(sender).Text = '染料收货') THEN Begin
      TcomboBox(sender).Text := '染料收货';
      Label1.Caption := '收货人:';
      cxDBTextEdit2.Visible := true;
      cxDBDateEdit2.Visible := FALSE;
      Label4.Caption := '染料厂号:';
      Label5.Caption := '染料厂名:';
      Label8.Caption := '染料收货单';
      result := 22;
   End;
   IF (TcomboBox(sender).Text = '-21') OR
      (TcomboBox(sender).Text = '材料出仓') THEN Begin
      TcomboBox(sender).Text := '材料出仓';
      Label1.Caption := '领料人:';
      cxDBTextEdit2.Visible := TRUE;
      cxDBDateEdit2.Visible := FALSE;
      Label4.Caption := '部门编号:';
      Label5.Caption := '部门名称:';
      Label8.Caption := '材料出仓单';
      result := -21;
   End;
   IF (TcomboBox(sender).Text = '-22') OR
      (TcomboBox(sender).Text = '发外染料') THEN Begin
      TcomboBox(sender).Text := '发外染料';
      Label1.Caption := '交货日期:';
      cxDBTextEdit2.Visible := FALSE;
      cxDBDateEdit2.Visible := TRUE;
      Label4.Caption := '染料厂号:';
      Label5.Caption := '染料厂名:';
      Label8.Caption := '外发染料单';
      result := -22;
   End;
   //lbLittle.Caption := TcomboBox(sender).Text;

   IF Result = 0 then BEGIN
      TcomboBox(sender).SetFocus;
      Label8.Caption := '';
      infoWnd('提示:请确定业务类别!');
   END;
end;

procedure TfrmStockOpt.cxComboBox1Exit(Sender: TObject);
begin
  inherited;
   IF CheckOperation(sender) = 21 THEN
      ToolButton1.Enabled := true
   Else
      ToolButton1.Enabled := false;   
end;

procedure TfrmStockOpt.FormShow(Sender: TObject);
begin
  inherited;
   cxComboBox1.Text := intTostr(tag);
   CheckOperation(cxComboBox1);
end;

procedure TfrmStockOpt.colCodePropertiesButtonClick(Sender: TObject;
  AButtonIndex: Integer);
begin
  inherited;
   SetGritItemFocused(GetCpData);
end;

procedure TfrmStockOpt.cdMasterNewRecord(DataSet: TDataSet);
begin
  inherited;
   cdMaster.FieldByName('ddatePZ').AsDateTime := date;
   cdMaster.FieldByName('ddateJh').AsDateTime := date + 1;
   cdMaster.FieldByName('cuser').AsString := user;
end;

function TfrmStockOpt.CheckBeforePost(iOpt: integer): boolean;
var fsl: real;
begin
   result := false;
   if iOpt = 0 then exit;
   with frmMain.cdPub do begin
      close;
      commandText := 'execute CheckBfrPostStock @ccode ='+#13+
                     quotedStr(trim(cdItem.fieldByname('ccode').AsString))+
                     ',@fhd = ' + quotedStr(cdItem.fieldByname('fhd').AsString)+
                     ',@fkd = ' + quotedStr(cdItem.fieldByname('fkd').AsString)+
                     ',@ccolor = ' + quotedStr(trim(cdItem.fieldByname('ccolor').AsString));
      open;
      fsl := fieldbyname('fsl').AsFloat;
      statusBar1.Panels[1].Text := '数量 ['+fieldbyname('fsl').AsString + ']  '+
                                   '重量 ['+fieldbyname('fzl').AsString + ']';
      //fzl := fieldbyname('fzl').AsFloat;
      if fsl = -1 then begin
         colCode.Focused := true;
         result := true;
         infoWnd('提示:没有该编码的材料,请检查!');
         abort;
      end;
      if (fsl < cdItem.fieldbyname('fsl').AsFloat) and (iOpt < 0) then begin
         colSl.Focused := true;
         result := true;
         infoWnd('提示:库存量不足,请检查!');
         abort;
      end;
      statusBar1.Panels[1].Text := '';
   end;
end;

procedure TfrmStockOpt.cdItemBeforePost(DataSet: TDataSet);
begin
  inherited;
  CheckBeforePost(CheckOperation(cxComboBox1));
end;

procedure TfrmStockOpt.documentPrint;
var fje: real;
    iOpt: integer;
begin
   iOpt := CheckOperation(cxComboBox1);
   if iOpt >= 0 then exit;
   IF not queryWnd('保存成功,打印单据吗?') Then exit;
   fje := cdMaster.fieldbyname('Fje').asfloat;
   UpperCasePrint(fje);
   frVariables['VcodeClient'] := cdMaster.fieldbyname('ccodeClient').asstring;
   frVariables['VnameClient'] := cdMaster.fieldbyname('cNameClient').asstring;
   frVariables['VdateJH'] := cdMaster.fieldbyname('DDateJh').asdateTime;
   frVariables['Vdh'] := cdMaster.fieldbyname('cdh').asstring;
   frVariables['VdatePZ'] := cdMaster.fieldbyname('DDatePz').asdatetime;
   frVariables['Vje'] := fje;
   frVariables['Vdress'] := cdMaster.fieldbyname('cPostDz').asstring;
   frVariables['Vtel'] := cdMaster.fieldbyname('cTel').asstring;
   if iOpt = -21 then
      frmReport.ReportS(28, 0, '', cdItem.Data);
   if iOpt = -22 then
      frmReport.ReportS(29, 0, '', cdItem.Data);
end;

procedure TfrmStockOpt.ToolButton1Click(Sender: TObject);
begin
  inherited;
   frmGetStockPlan := TfrmGetStockPlan.Create(nil);
   try
      IF frmGetStockPlan.ShowModal = mrOk Then Begin
         GetFromStockPlan(frmGetStockPlan.cdStockPlan.fieldbyname('cdh').AsString);
         cxDBTextEdit1.SetFocus;
      end;
   finally
      frmGetStockPlan.free;
      frmGetStockPlan := nil;
   end;
end;

procedure TfrmStockOpt.GetFromStockPlan(cdh: string);
var iKey: integer;
begin
   with frmMain.cdPub do begin
      close;
      commandText := 'SELECT m.iKey,k.iKey iKeyClient,k.ccode,k.cName,k.cPost_dz,k.cTel, m.fje '+
                    'FROM T_StockPlanMasterZB m'+#13+
                    'left join T_PubClient k on(m.iKeyClient = K.iKEY)'+#13+
                    'WHERE m.cdh = '''+cdh+'''';
      open;
      cdTem.Data := data;
      iKey := cdTem.fieldbyname('Ikey').AsInteger;
      cdMaster.Edit;
      cdMaster.FieldByName('iKeyClient').AsInteger := cdTem.fieldbyname('iKeyClient').AsInteger;
      cdMaster.FieldByName('cCodeClient').AsString := cdTem.fieldbyname('cCode').AsString;
      cdMaster.FieldByName('cNameClient').AsString := cdTem.fieldbyname('cName').AsString;
      cdMaster.FieldByName('iKeyForm').AsInteger := iKey;
      cdMaster.FieldByName('cPostdz').AsString := cdTem.fieldbyname('cPost_Dz').AsString;
      cdMaster.FieldByName('cTel').AsString := cdTem.fieldbyname('cTel').AsString;
      close;
      commandText := 'SELECT I.FSL,I.FZL,G.iKey,G.ccode,g.cName,g.fhd,g.fkd,g.ccolor,g.cdw '+#13+
                     'FROM T_StockPlanItemZB I INNER JOIN T_Stock g on(I.IKeySTK = G.IKey)'+#13+
                     'WHERE I.IKeyM = '''+intTOstr(iKey)+'''';
      open;
      cdTem.Data := data;
      close;
      cdItem.EmptyDataSet;
      While not cdTem.Eof do Begin
         cdItem.Append;
         cdItem.FieldByName('IkeyCp').Value := cdTem.fieldbyname('IKey').Value;
         cdItem.FieldByName('CCode').Value := cdTem.fieldbyname('CCODE').Value;
         cdItem.FieldByName('CName').Value := cdTem.fieldbyname('CName').Value;
         cdItem.FieldByName('Fhd').Value := cdTem.fieldbyname('FHD').Value;
         cdItem.FieldByName('FKD').Value := cdTem.fieldbyname('FKD').Value;
         cdItem.FieldByName('Ccolor').Value := cdTem.fieldbyname('Ccolor').Value;
         cdItem.FieldByName('Cdw').Value := cdTem.fieldbyname('cdw').Value;
         cdItem.FieldByName('fsl').Value := cdTem.fieldbyname('fsl').Value;
         cdItem.FieldByName('fzl').Value := cdTem.fieldbyname('fzl').Value;
         cdItem.Post;
         cdTem.Next;
      end;
   end;
end;

end.

⌨️ 快捷键说明

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