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

📄 sy_ckjhdzd.pas

📁 省级集邮品管理ERP
💻 PAS
📖 第 1 页 / 共 3 页
字号:
    TextValue := Trunc(StrToInt(Text) * 100);
  except
    CHQMsgBox('输入有误,可能输入数值过大,请重新输入!');
    Exit;
  end;
  if TextValue < 0 then
  begin
    CHQMsgBox('输入有误,输入数值为负值,请重新输入!');
    Exit;
  end;
  if TextValue > 99999 then
  begin
    CHQMsgBox('输入有误,输入数值过大,请重新输入!');
    Exit;
  end;
  with Qry_Main do
    FieldByName('JSJ').AsFloat := FieldByName('ZK').AsFloat * TextValue / 100;

  Sender.AsInteger := TextValue;
end;

procedure TFrmY_CKJHDZD.Qry_MainZKSetText(Sender: TField;
  const Text: string);
var
  TextValue: Double;
begin
  try
    TextValue := StrToFloat(Text);
  except
    CHQMsgBox('输入有误,可能输入数值过大,请重新输入!');
    Exit;
  end;
  if TextValue < 0 then
  begin
    CHQMsgBox('输入有误,输入数值为负值,请重新输入!');
    Exit;
  end;
  if TextValue > 100 then
  begin
    CHQMsgBox('输入有误,输入数值过大,请重新输入!');
    Exit;
  end;
  Sender.AsFloat := TextValue;
end;

procedure TFrmY_CKJHDZD.Qry_MainFPSLSetText(Sender: TField;
  const Text: string);
var
  TextValue, old_Value: Integer;
begin
  try
    TextValue := StrToInt(Text);
    Old_Value := Sender.AsInteger;
  except
    CHQMsgBox('输入有误,可能输入数值过大,请重新输入!');
    Exit;
  end;
  if TextValue < 0 then
  begin
    CHQMsgBox('输入有误,输入数值为负值,请重新输入!');
    Exit;
  end;
  if TextValue > 99999999 then
  begin
    CHQMsgBox('输入有误,输入数值过大,请重新输入!');
    Exit;
  end;
  Sender.AsInteger := TextValue;

  //刷新库存
  CE_KC.Value := CE_KC.Value + Old_Value - TextValue;
  if CE_KC.Value < 0 then
    CE_KC.Font.Color := ClRed
  else
    CE_KC.Font.Color := ClBlue;
end;

procedure TFrmY_CKJHDZD.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  if BBt_Save.Enabled then
  begin
    case CHQMsgBox('数据已修改,是否保存?', 3) of
      IDYES:
        begin
          BBt_SaveClick(nil);
          Action := caFree;
        end;
      IDNO:
        begin
          BBt_CancelClick(nil);
          Action := caFree;
        end;
      IDCANCEL:
        begin
          Action := caNone;
        end;
    end;
  end
  else
    Action := caFree;
  SaveAllColWidth(self);
end;

procedure TFrmY_CKJHDZD.Qry_MainJSJSetText(Sender: TField;
  const Text: string);
var
  TextValue: Double;
begin
  try
    TextValue := Round(StrToFloat(Text) * 100);
  except
    CHQMsgBox('输入有误,可能输入数值过大,请重新输入!');
    Exit;
  end;
  if TextValue < 0 then
  begin
    CHQMsgBox('输入有误,输入数值为负值,请重新输入!');
    Exit;
  end;
  if TextValue > 9999999 then
  begin
    CHQMsgBox('输入有误,输入数值过大,请重新输入!');
    Exit;
  end;
  Sender.AsFloat := TextValue;
end;

procedure TFrmY_CKJHDZD.L_CKJHDHDblClick(Sender: TObject);
begin
  if Qry_Third.IsEmpty then Exit;
  if Qry_Third.FieldByName('ZT').Asstring <> CG_DG then Exit;
  if CHQMsgBox('确实要取消签批吗?', 2) = IDNO then Exit;
  //签批数据
  with Qry_Static do
  begin
    Close;
    SQL.Text := 'update TYS_YPCKJHDB set ZT = ''0'' ,PZR= '''' '
      + ' where CKJHDH=''' + V_CKJHDH + '''';
    ExecSQL;
  end;
  CB_CKJHDHChange(nil);
end;

procedure TFrmY_CKJHDZD.BBt_PrintClick(Sender: TObject);
var
  StrSQL: string;
  Qry_SumDw: TQuery;
  Count_DW, Count_PP: Integer;
begin
  if CB_CKJHDH.Text = '' then
  begin
    CHQMsgBox('请选择分配单号!');
    Exit;
  end;
  if Qry_Main.IsEmpty then Exit;
  Qry_SumDw := TQuery.Create(nil);
  try
    with Qry_SumDw do
    begin
      Close;
      DatabaseName := 'yzpp';
      SQL.Clear;
      SQl.Add('select sum(fpsl),dwmc from tys_ypckjhdppb where CKJHDH =''' + CB_CKJHDH.Text + ''' group by dwmc');
      Open;
    end;
    Count_DW := Qry_SumDw.RecordCount;
    with Qry_SumDw do
    begin
      Close;
      DatabaseName := 'yzpp';
      SQL.Clear;
      SQl.Add('select sum(fpsl),ppdm from tys_ypckjhdppb where CKJHDH =''' + CB_CKJHDH.Text + ''' group by ppdm');
      Open;
    end;
    Count_PP := Qry_SumDw.RecordCount;
  finally
    Qry_SumDw.Free;
    Qry_SumDw := nil;
  end;
  if (Count_DW >= 1) and (Count_PP = 1) then //单品种多去向
  begin
    Frm_One_More_RPT := TFrm_One_More_RPT.Create(nil);
    with Frm_One_More_RPT do
    try
      Qry_Print.Close;
      StrSQL := 'select ROWNUM, A.CKJHDH, A.CKXZ, A.ZBR, A.PZR, A.ZDRQ, A.BZ, B.DWMC, B.PPMC, B.XJ/100 XJ,B.JJ/100 JJ, B.ZK, B.JSJ/100 JSJ, ';
      StrSQL := StrSQL + ' B.FPSL, decode(JSJ,0,B.ZK*B.XJ*B.FPSL/10000, B.JSJ*B.FPSL/100) JE,C.ZH FROM TYS_YPCKJHDB A,TYS_YPCKJHDPPB B,TB_YZPPXXB C where A.CKJHDH = B.CKJHDH AND B.PPDM=C.TDM and A.CKJHDH =' + '''' + CB_CKJHDH.Text + '''';
      Qry_Print.SQL.Text := StrSQL;
      Qry_Print.Open;

      QRLabel2.Caption := '集邮品';
      QRLabel4.Caption := Qry_Print.fieldByName('ckjhdh').AsString;
      QRlabel14.Caption := FormatDateTime('YYYY"年"MM"月"DD"日"', StrToDate(Qry_Print.FieldByName('zdrq').AsString));
      QRLabel6.Caption := Qry_Print.fieldbyname('zh').AsString;
      QRLabel8.Caption := Qry_Print.FieldByName('ppmc').AsString;
{修改,进价和销价显示小数点后3位 原来的#,##0.00替换为#,##0.000 jhshao 2003.05.08}
      QRLabel12.Caption := FormatFloat('#,##0.000', QRy_Print.FieldByName('xj').AsFloat);
      QRLabel10.Caption := FormatFloat('#,##0.000', Qry_Print.fieldbyName('jj').AsFloat);

      Prepare;
      QRLabel24.Caption := IntToStr(QRPrinter.PageCount);
      if CHQMsgBox('是否采用套打?', 2) = IDYES then
        Tao_Print_Flag := True
      else
        Tao_Print_Flag := False;

      DetailLines := 0;
      Qry_Print.First;
      Preview;
      Destroy;
    except
      Free;
    end;
  end;
  if (Count_Dw >= 1) and (Count_PP > 1) then
  begin //多品种多去向
    Frm_More_More_RPT := TFrm_More_More_RPT.Create(nil);
    with Frm_More_More_RPT do
    try
      Qry_Print.Close;
      StrSQL := 'select ROWNUM, A.CKJHDH, A.CKXZ, A.ZBR, A.PZR, A.ZDRQ, A.BZ, B.DWMC, B.PPMC, B.XJ/100 XJ,B.JJ/100 JJ, B.ZK, Decode(B.JSJ,0,b.zk,B.JSJ/100) JSJ, ';
      StrSQL := StrSQL + ' B.FPSL, decode(JSJ,0,B.ZK*B.XJ*B.FPSL/10000, B.JSJ*B.FPSL/100) JE,C.ZH FROM TYS_YpCKJHDB A,TYS_YpCKJHDPPB B,TB_YZPPXXB C where A.CKJHDH = B.CKJHDH AND B.PPDM=C.TDM and A.CKJHDH =' + '''' + CB_CKJHDH.Text + ''' order by dwmc';
      Qry_Print.SQL.Text := StrSQL;
      Qry_Print.Open;
      QRLabel1.Caption := '集邮品';
      QRLabel4.Caption := Qry_Print.fieldByName('ckjhdh').AsString;
      QRlabel5.Caption := FormatDateTime('YYYY"年"MM"月"DD"日"', StrToDate(Qry_Print.FieldByName('zdrq').AsString));
    {QRLabel6.Caption :=Qry_Print.fieldbyname('zh').AsString;
    QRLabel8.Caption :=Qry_Print.FieldByName('ppmc').AsString;
    QRLabel12.Caption :=FormatFloat('#,##0.00',QRy_Print.FieldByName('xj').AsFloat);
    QRLabel10.Caption :=FormatFloat('#,##0.00',Qry_Print.fieldbyName('jj').AsFloat);}

      Prepare;
      QRLabel21.Caption := IntToStr(QRPrinter.PageCount);
      if CHQMsgBox('是否采用套打?', 2) = IDYES then
        Tao_Print_Flag := True
      else
        Tao_Print_Flag := False;

      DetailLines := 0;
      Qry_Print.First;
      Preview;
      Destroy;
    except
      Free;
    end;
  end;

end;


procedure TFrmY_CKJHDZD.Qry_MainJJGetText(Sender: TField; var Text: string;
  DisplayText: Boolean);
begin
{修改,销价进价结算价显示小数点后3位 原来调用的CurrGetText替换为CurrGetText3 jhshao 2003.05.08}
  CurrGetText3(Sender, Text, DisplayText);
end;

procedure TFrmY_CKJHDZD.DBG_MainKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  DBGridAutoChangeCursor(Sender, key);
end;

function TFrmY_CKJHDZD.SumField(Dataset: TDataSet; Field: TField): Double;
var
  vBookmark: TBookmark;
begin
  Result := 0;
  with Dataset do
    if (not IsEmpty) and Active then
    begin
      vBookmark := GetBookmark;
      try
        DisableControls;
        First;
        while not eof do
        begin
          Result := Result + Field.AsFloat;
          Next;
        end;
        GotoBookmark(vBookmark);
      finally
        FreeBookmark(vBookmark);
        EnableControls;
      end;
    end;
end;

procedure TFrmY_CKJHDZD.Qry_MainBeforeInsert(DataSet: TDataSet);
begin
  //不插入
  Abort;
end;

function TFrmY_CKJHDZD.GetExistField(FQuery: TQuery; FieldName,
  SnapStr: string): string;
var
  FBookMark: TBookMark;
begin
  Result := 'ZRJM';
  if not FQuery.Active then Exit;
  if FQuery.FindField(FieldName) = nil then Exit;
  if FQuery.IsEmpty then Exit;
  try
    with FQuery do
    begin
      FBookMark := GetBookmark;
      DisableControls;
      First;
      while not Eof do
      begin
        Result := Result + SnapStr + FindField(FieldName).AsString;
        Next;
      end;
      EnableControls;
      GotoBookMark(FBookMark);
    end;
  except
    FQuery.EnableControls;
  end;
end;

procedure TFrmY_CKJHDZD.Qry_MainJSJChange(Sender: TField);
begin
  //折扣和结算价互斥
  if Sender.FieldName = 'JSJ' then
  begin
    if Sender.AsFloat <> 0 then
      Sender.DataSet.FieldByName('ZK').AsFloat := 0;
  end;
  if Sender.FieldName = 'ZK' then
  begin
    if Sender.AsFloat <> 0 then
      Sender.DataSet.FieldByName('JSJ').AsFloat := 0;
  end;

end;

procedure TFrmY_CKJHDZD.CE_KCEnter(Sender: TObject);
begin
  DBG_Main.SetFocus;
end;

procedure TFrmY_CKJHDZD.CE_KCDblClick(Sender: TObject);
begin
  if Qry_Main.IsEmpty then Exit;
  //显示当前选定票品的库存情况
  FrmY_KC := TFrmY_KC.Create(nil);
  FrmY_KC.E_PPMC.Text := Qry_MainPPMC.AsString;
  FrmY_KC.E_JJ.Text := Qry_MainJJ.AsString;
  with Qry_Main do
  begin
    FrmY_KC.E_KCTS.Value := PS_GetKC(FieldByName('KFDM').AsString, FieldByName('PPDM').AsString, FieldByName('JJ').AsFloat);
    FrmY_KC.E_SYTS.Value := PS_GetSYTS(FieldByName('KFDM').AsString, FieldByName('PPDM').AsString, FieldByName('JJ').AsFloat, FieldByName('CKJHDH').AsString) - SumField(Qry_Main, Qry_Main.FieldByName('FPSL'));
  end;
  FrmY_KC.E_FPTS.Value := FrmY_KC.E_KCTS.Value - FrmY_KC.E_SYTS.Value;
  FrmY_KC.ShowModal;
  FrmY_KC.Free;

end;
procedure TFrmY_CKJHDZD.N_SDLClick(Sender: TObject);
var
  FFiexedCols: Integer;
begin
  Sender := PM_Main.PopupComponent;
  if Sender is TDBGrid then
  begin
    FFiexedCols := TRxDBGrid(Sender).FixedCols + 1;
    if FFiexedCols > TRxDBGrid(Sender).Col then Exit;
    TRxDBGrid(Sender).FixedCols := FFiexedCols;
  end;
end;

procedure TFrmY_CKJHDZD.N_JSLClick(Sender: TObject);
var
  FFiexedCols: Integer;
begin
  Sender := PM_Main.PopupComponent;
  if Sender is TDBGrid then
  begin
    FFiexedCols := TRxDBGrid(Sender).FixedCols - 1;
    if FFiexedCols < 0 then Exit;
    TRxDBGrid(Sender).FixedCols := FFiexedCols;
  end;
end;

end.

⌨️ 快捷键说明

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