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

📄 lmp_rkfh.pas

📁 省级集邮品管理ERP
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  SetState(dtBrowse);
end;

procedure TFrm_LMP_RKFH.ModiPanel1BtnClick(Index: TBtnVisible);
var
  jycx: string;
begin
  inherited;
  case index of
    bnAdd: SetState(dtInsert);
    bnDelete:
      if CHQMsgBox(MSG_DELETE, 2) = IDYES then
        with qryRKD do
        begin
          Database.StartTransaction;
          try
            Delete;
            Database.Commit;
          except
            if Database.InTransaction then
              Database.RollBack;
            if errMsg = '' then
              raise
            else
              raise exception.Create(errMsg);
          end;
        end;
    bnEdit:
      begin
        if qryRKDPP.IsEmpty then
        begin
          CHQMsgBox('无效的入库单!');
          exit;
        end;
        SetState(dtEdit);
      end;
    bnSave:
      Save;
    bnCancel:
      if CHQMsgBox('取消编辑, 确定吗?', 2) = IDYES then
      begin
        qryRKD.CancelUpdates;
        qryRKDPP.CancelUpdates;
        qryBHBH.CancelUpdates;
        SetState(dtBrowse);
      end;
    bnPrint:                                                {print}
      begin
        Frm_LMP_RKFH_Print := TFrm_LMP_RKFH_Print.Create(Application);
        with Frm_LMP_RKFH_Print do
        try
          QRLabel1.Caption := '零枚票入库通知单';
          QRLabel1.Left := Round((ColumnHeaderBand1.Width - QRLabel1.Width) / 2);
          QRShape1.Width := QRLabel1.Width;
          QrShape1.Left := QRLabel1.Left;

          QRLabel25.Caption := qryRKD.FieldByName('DWMC').AsString;
          QRLabel8.Caption := DBEdit6.Text;
          QRLabel2.Caption := DBEdit4.Text;
          //round(b.mz*b.sl*b.zk/10000,2)
          jycx := 'select a.zh, a.tmc, ''套''as dw,b.mz/100 xj,b.sl,b.mz*b.sl/100 zjje,b.zk,b.JSJ, B.SL*(nvl(B.JSJ,0)+B.SJ*nvl(B.ZK,0)/100) jsje from tb_yzppxxb a ,tks_txrkpp b where a.tdm=b.tudm and b.rkdh=''' + QRLabel8.Caption + '''';

          Qry_ckdayin.close;
          Qry_ckdayin.sql.clear;
          Qry_ckdayin.sql.add(jycx);
          Qry_ckdayin.open;
          sumzj := 0;
          sumjsj := 0;
          Frm_LMP_RKFH_Print.nHeight := Frm_LMP_RKFH_Print.GetTextHeight('宋体', 10) + 3;
          QRLabel11.Caption := dbedit2.Text;
          preview;
        finally
          Destroy;
        end;
      end;
    bnClose: Close;
  end;
end;

procedure TFrm_LMP_RKFH.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
  if (FDtstate in [dtInsert, dtEdit]) then
    case CHQMsgBox(MSG_EXITSAVE, 3) of
      IDYES:
        if not Save then
          Action := caNone;
      IDCANCEL: Action := caNone;
    end;
  SaveAllColWidth(Self);
end;

procedure TFrm_LMP_RKFH.FormCreate(Sender: TObject);
const
  CKJHH_SQL = 'SELECT YJDH FROM TKS_TXRKD WHERE RKXZ <> ''22'' GROUP BY YJDH';
begin
  inherited;
  DWMC.Caption := '使用单位:' + VG_UNITNAME;
  InitData;
  SetState(dtBrowse);
  GetAllColWidth(Self);
end;

procedure TFrm_LMP_RKFH.InitData;
begin
  qryRKD.AfterScroll := nil;
  qryRKD.Close;
  qryRKD.MacroByName('CON').AsString := 'JZY is null';
  qryRKD.MacroByName('YGDM').AsString := '''' + VG_USERID + '''';
  qryRKD.Open;
  qryRKD.AfterScroll := qryRKDAfterScroll;
  qryRKDAfterScroll(nil);
end;

procedure TFrm_LMP_RKFH.BitBtn1Click(Sender: TObject);
begin
  inherited;
  if qryRKDPP.IsEmpty then
    exit;
  qryBHBH.Append;
end;

procedure TFrm_LMP_RKFH.BitBtn2Click(Sender: TObject);
begin
  inherited;
  qryBHBH.Delete;
end;

procedure TFrm_LMP_RKFH.qryBHBHAfterInsert(DataSet: TDataSet);
begin
  inherited;
  qryBHBH.Edit;
  qryBHBH.FieldByName('RKDH').Asstring := qryRKD.FieldByName('RKDH').Asstring;
  qryBHBH.FieldByName('PPDM').Asstring := qryRKDPP.FieldByName('PPDM').Asstring;
  qryBHBH.FieldByName('ZH').Asstring := qryRKDPP.FieldByName('ZH').Asstring;
  qryBHBH.FieldByName('TJC').Asstring := qryRKDPP.FieldByName('TJC').Asstring;
end;

procedure TFrm_LMP_RKFH.BitBtn5Click(Sender: TObject);
var
  v_s_yjr: string;
begin
  if qryRKD.IsEmpty then
    exit;
  if qryRKD.FieldByName('RKRQ').AsDateTime = 0 then
  begin
    CHQMsgBox('请先确定入库日期!');
    exit;
  end;
  if not CheckINYJRQ(io_txp, qryRKD.FieldByName('RKDH').AsString, v_s_yjr) then
  begin
    CHQMsgBox('该入库单不在月结范围(' + format('%s年%s月', [copy(v_s_yjr, 1, 4), copy(v_s_yjr, 5, 2)]) + ')内,不能复核!');
    exit;
  end;
  if check(qryRKD.FieldByName('RKDH').Asstring) then
    CHQMsgBox('复核记帐成功!');
end;

function TFrm_LMP_RKFH.check(id: string): boolean;
begin
  with StoredProc1 do
  begin
    ParamByName('PC_RKDH').Asstring := id;
    ParamByName('PC_USERID').Asstring := VG_USERName;
    data.dm.StartTransaction;
    try
      ExecProc;
      data.dm.commit;
      qryRKD.Edit;
      qryRKD.FieldByName('JZY').Asstring := VG_USERNAME;
      qryRKD.Post;
    except
      if data.dm.inTransaction then
        data.dm.rollback;
      raise;
    end;
    result := Params[0].asInteger = 0;
    case Params[0].asInteger of
      0: ;
      1: CHQMsgBox('复核记帐失败! 没有初始化或结转 [集邮票总帐表] 数据.');
      2: CHQMsgBox('复核记帐失败! 没有初始化或结转 [集邮票总分户帐表] 数据.');
      3: CHQMsgBox('复核记帐失败! 没有初始化或结转 [集邮票明细分类帐] 数据.');
      4: CHQMsgBox('复核记帐失败! 没有初始化或结转 [集邮票进发存明细帐表] 数据.');
      5: CHQMsgBox('复核记帐失败! 没有初始化或结转 [集邮票明细分类帐(库管员)] 数据.');
      10: CHQMsgBox('复核记帐失败! 没有初始化或结转 [集邮票待销存总帐表] 数据.');
      11: CHQMsgBox('复核记帐失败! 没有初始化或结转 [集邮票待销存明细分类帐] 数据.');
      12: CHQMsgBox('复核记帐失败! 没有初始化或结转 [集邮票待销存明细分类帐(库管员)] 数据] 数据.');
      -1: CHQMsgBox('找不到相应的入库单!');
      -2: CHQMsgBox('错误:此入库单已复核过!');
      -3: CHQMsgBox('错误:此入库单的入库性质没找到或不需记帐!');
    else
      CHQMsgBox('复核记帐失败! ');
    end;
  end;
end;

procedure TFrm_LMP_RKFH.qryRKDUpdateError(DataSet: TDataSet;
  E: EDatabaseError; UpdateKind: TUpdateKind;
  var UpdateAction: TUpdateAction);
begin
  inherited;
  case GetErrCode(DataSet, E, ErrMsg) of
    Err_NoMasterRec: errMsg := errMsg + '&_&' + Format(MST_NOREC, ['', '', '']);
    Err_HasDetailRec: errMsg := errMsg + '&_&' + Format(DTL_EXSTREC, ['']);
    Err_RecDouble: errMsg := errMsg + '&_&' + Format(DBL_REC, ['']);
    Err_NotNull: errMsg := errMsg + '&_&' + Format(NOTNULL, ['']);
  else
    errMsg := errMsg + '&_&' + OTHERERROR;
  end;
end;

procedure TFrm_LMP_RKFH.qryRKDPPUpdateError(DataSet: TDataSet;
  E: EDatabaseError; UpdateKind: TUpdateKind;
  var UpdateAction: TUpdateAction);
begin
  inherited;
  case GetErrCode(DataSet, E, ErrMsg) of
    Err_NoMasterRec: errMsg := errMsg + '&_&' + Format(MST_NOREC, ['', '', '']);
    Err_HasDetailRec: errMsg := errMsg + '&_&' + Format(DTL_EXSTREC, ['']);
    Err_RecDouble: errMsg := errMsg + '&_&' + Format(DBL_REC, ['']);
    Err_NotNull: errMsg := errMsg + '&_&' + Format(NOTNULL, ['']);
  else
    errMsg := errMsg + '&_&' + OTHERERROR;
  end;
end;

procedure TFrm_LMP_RKFH.qryBHBHUpdateError(DataSet: TDataSet;
  E: EDatabaseError; UpdateKind: TUpdateKind;
  var UpdateAction: TUpdateAction);
begin
  inherited;
  case GetErrCode(DataSet, E, ErrMsg) of
    Err_NoMasterRec: errMsg := errMsg + '&_&' + Format(MST_NOREC, ['', '', '']);
    Err_HasDetailRec: errMsg := errMsg + '&_&' + Format(DTL_EXSTREC, ['']);
    Err_RecDouble: errMsg := errMsg + '&_&' + Format(DBL_REC, ['']);
    Err_NotNull: errMsg := errMsg + '&_&' + Format(NOTNULL, ['']);
  else
    errMsg := errMsg + '&_&' + OTHERERROR;
  end;
end;

procedure TFrm_LMP_RKFH.qryRKDPPMZGetText(Sender: TField; var Text: string;
  DisplayText: Boolean);
begin
  inherited;
  nDisplay.GetText(Sender, Text, DisplayText);
end;

procedure TFrm_LMP_RKFH.qryRKDPPMZSetText(Sender: TField;
  const Text: string);
begin
  inherited;
  nDisplay.SetText(Sender, Text);
end;

procedure TFrm_LMP_RKFH.DBGrid2DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  inherited;
  DrawCheckedGrid(not qryRKD.FieldByName('JZY').IsNull, Sender, Rect, DataCol, Column);
end;

procedure TFrm_LMP_RKFH.BitBtn6Click(Sender: TObject);
var
  i: integer;
  v_b_skip: boolean;
  v_s_yjr: string;
begin
  inherited;
  if qryRKD.IsEmpty then
    exit;
  i := 0;
  with qryRKD do
  begin
    DisableControls;
    First;
    while not Eof do
    begin
      v_b_skip := false;
      if qryRKD.FieldByName('JZY').IsNull and (not qryRKD.FieldByName('RKRQ').IsNull) then
      begin
        if not CheckINYJRQ(io_txp, qryRKD.FieldByName('RKDH').AsString, v_s_yjr) then
        begin
          v_b_skip := true;
          //          CHQMsgBox('该入库单不在月结范围(' + format('%s年%s月', [copy(v_s_yjr, 1, 4), copy(v_s_yjr, 5, 2)]) + ')内,不能复核!');
        end;
        if not v_b_skip then
          if Check(FieldByName('RKDH').Asstring) then
            i := i + 1;
      end;
      Next;
    end;
    EnableControls;
    if i > 0 then
      CHQMsgBox('共完成' + inttostr(i) + '笔入库复核!');
  end;
end;

procedure TFrm_LMP_RKFH.BitBtn7Click(Sender: TObject);
begin
  inherited;
  qryRKD.AfterScroll := nil;
  qryRKD.Close;
  qryRKD.MacroByName('CON').AsString := ' TO_CHAR(KDRQ, ''YYYYMMDD'') >= ''' + FormatDateTime('YYYYMMDD', DateEdit1.Date) + '''';
  qryRKD.MacroByName('YGDM').AsString := '''' + VG_USERID + '''';
  qryRKD.Open;
  qryRKD.AfterScroll := qryRKDAfterScroll;
  qryRKDAfterScroll(nil);
end;

procedure TFrm_LMP_RKFH.qryRKDAfterScroll(DataSet: TDataSet);
begin
  inherited;
  if qryRKD.IsEmpty then
    exit;
  Qryban.Close;
  Qryban.ParamByName('RKDH').AsString := qryRKD.FieldByName('RKDH').AsString;
  Qryban.Open;
  qryRKDPP.Close;
  qryRKDPP.ParamByName('RKDH').AsString := qryRKD.FieldByName('RKDH').AsString;
  qryRKDPP.Open;
  qryBHBH.Close;
  qryBHBH.ParamByName('RKDH').AsString := qryRKD.FieldByName('RKDH').AsString;
  qryBHBH.Open;
  Modipanel1.FButtons[bnEdit].Enabled := qryRKD.FieldByName('JZY').IsNull;
  BitBtn5.Enabled := qryRKD.FieldByName('JZY').IsNull;

end;

end.

⌨️ 快捷键说明

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