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

📄 unitdm.pas

📁 此代码为企业原料管理代码
💻 PAS
📖 第 1 页 / 共 2 页
字号:
function TDM.zdyProdIFBlank(bInDraw:boolean):boolean; //函数声明  表格是否为空
begin
  if bInDraw and (dm.tabProdIncard.recordcount = 0) then
  begin
    result := true;
    exit;
  end; //if
  if (not bInDraw) and (dm.tabProdOutCard.recordcount = 0) then
  begin
    result := true;
    exit;
  end; // if

  result:=false;
end;

function TDM.zdyGetProdCheckNum(dCheckDate:TDate;sProdID:string):integer;
var
  iThisOut,iThisIn,iNum:integer;
begin

  with dm.tabProdMonthCheck do
  begin
    open;

    setkey;
    if findkey([dCheckDate,sProdID]) then
//===========================
// 如果没有找到就默认返回0
//===========================
    begin
      iNum:= fieldbyname('Number').asinteger;
      close;
      result :=iNum;
      exit;
    end
    else
    begin
       with dm.qryExe do
      begin
        close;
        sql.clear;
        sql.add('select sum(Number) from ProdInCard ');
       // sql.add('where CardID between :StartID and :EndID ');
        sql.add('where InDate < :StartID ');
        sql.add('and ProdID = :ProdID ');
        parambyname('StartID').asdate:=frmCommAccSet.dtpFrom.date;
        parambyname('ProdID').asstring:=sProdID;
        open;
        iThisIn:=fields[0].asinteger;
      end; //with

//==========================
// 确定本月出库 iThisOut
//==========================
      with dm.qryExe do
      begin
        close;
        sql.clear;
        sql.add('select sum(Number) from ProdOutCard ');
       //sql.add('where CardID between :StartID and :EndID ');
       sql.add('where OutDate < :StartID ');
        sql.add('and ProdID = :ProdID ');
        parambyname('StartID').asdatetime:=frmCommAccSet.dtpFrom.date;
        parambyname('ProdID').asstring:=sProdID;
        open;
        iThisOut:=fields[0].asinteger;
      end; //with


//==========================
// 确定第一次结帐起始日期以前的上月库存 iThisNum
//==========================
      close;
      result:= iThisIn - iThisOut;

     // close;
     // result := 0;
      exit;
    end;
  end; //with

end;

function TDM.zdyGetProdCheckDate():TDate; //函数声明  查询上月结账日期
var
  dCheck:TDate;
begin

  with dm.tabProdCheckDiary do
  begin
     open;
    if recordcount = 0 then
   begin
     Result :=strtodatetime('00-01-01');//frmCommAccSet.dtpFrom.date;
      dm.tabProdCheckDiary.close;
     //showmessage(' 请输入结帐起始日期');
      frmCommAccSet.panel2.caption:='起始日期';
       frmCommAccSet.dtpFrom.enabled:=true;
        frmCommAccSet.dtpFrom.visible:=true;
         exit;
      end;
    last;
    dCheck:=fieldbyname('CheckDate').asdatetime;
    filter:='';
    filtered:=false;
    close;
  result :=dCheck;
   end;

end;

function TDM.zdyGetjiaoCheckDate():TDate; //  查询上月结账日期
var
  dCheck:TDate;
begin

  with dm.table2 do
  begin
     open;
    if recordcount = 0 then
   begin
      Result :=strtodatetime('00-01-01');//Form_Rubb_SumCfg.DateTimePicker_From.date;
       dm.table2.close;
     //showmessage(' 请输入结帐起始日期');
      Form_Rubb_SumCfg.panel2.caption:='起始日期';
      Form_Rubb_SumCfg.DateTimePicker_From.visible:=true;
     Form_Rubb_SumCfg.DateTimePicker_From.enabled:=true;
      exit;
      end;
    last;
    dCheck:=fieldbyname('JDate').asdatetime;
    filter:='';
    filtered:=false;
    close;
  result := dCheck;
   end;

end;

function TDM.zdyGetmaterCheckDate():TDate; //函数声明  查询上月结账日期
var
  dCheck:TDate;
begin

  with dm.table3 do
  begin
     open;
    if recordcount = 0 then
   begin
      Result :=strtodatetime('00-01-01');//Form_Mater_SumCfg.DateTimePicker_From.date;
       dm.table3.close;
     //showmessage(' 请输入结帐起始日期');
      Form_Mater_SumCfg.panel2.caption:='起始日期';
      Form_Mater_SumCfg.DateTimePicker_From.visible:=true;
     Form_Mater_SumCfg.DateTimePicker_From.enabled:=true;
      exit;
      end;
    last;
    dCheck:=fieldbyname('mDate').asdatetime;
    filter:='';
    filtered:=false;
    close;
  result := dCheck;
   end;

end;


function TDM.zdyGetProdPrice(sProdID:string):real; 
var
  fPrice:real;
begin
  with dm.tabProdDictionary do
  begin
    open;
    setkey;
    if not findkey([sProdID]) then
    begin
     // showmessage('not find key');
      close;
      result:=0;
      exit;
    end
    else
    begin
      fPrice:=fieldbyname('SellPrice').asfloat;
      close;
      result:=fPrice;
    end; //if
  end; //with
end;



procedure TDM.tabProdSetAccCalcFields(DataSet: TDataSet);
var
  iThisOut,iThisNum:Integer;
  fPrice,fThisNumTotal,fThisOutTotal:real;
begin

  with dataset do
  begin
    iThisOut:=FieldByName('ThisOut').asinteger;
    fPrice:=FieldByName('Price').asfloat;
    fThisOutTotal:=iThisOut * fPrice;
    fThisOutTotal:=strtofloat(formatfloat('0.00',fThisOutTotal));
    fieldbyname('ThisOutTotal').asfloat:=fThisOutTotal;

    iThisNum:=fieldbyname('ThisNum').asinteger;
    fThisNumTotal:=iThisNum * fPrice;
    fThisNumTotal:=strtofloat(formatfloat('0.00',fThisNumTotal));
    fieldbyname('ThisNumTotal').asfloat:=fThisNumTotal;
  end; //with

end;

procedure TDM.tabRubbMethodCalcFields(DataSet: TDataSet);
begin
  if dataset.fieldbyname('style').asboolean then
    dataset.fieldbyname('styleName').asstring:='按份数'
  else
    dataset.fieldbyname('styleName').asstring:='按百分比';

end;

procedure TDM.tabRubbWasteBookCalcFields(DataSet: TDataSet);
var
  j,y,b,sum:real;
begin
  j:=dataset.fieldbyname('甲班领料').asfloat;
  y:=dataset.fieldbyname('乙班领料').asfloat;
  b:=dataset.fieldbyname('丙班领料').asfloat;
  sum:=j+y+b;
  sum:=strtofloat(formatfloat('0.000',sum));
  dataset.FieldByName('sumJYB').asfloat := sum;
  
end;

procedure TDM.tabProdIDHistoryAfterScroll(DataSet: TDataSet);
var
  sProdID:string;
begin
  if frmProdWasteBook.active  then
  begin
    sProdID:=dm.tabProdIDHistory.fieldbyname('ProdID').asstring;
    with dm.tabProdWasteBook do
    begin
      if active then close;
      filter:=format('ProdID = ''%S''',[sProdID]);
      if not filtered then filtered := true;
      if not active then open;
    end; //with
  end; //if
end;

procedure TDM.tabMaterDictionaryFilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
 if (tabMaterDictionary.FieldByName('简称').asstring =frmCommDictionary.Query1.FieldByName('简称').asstring) then
 Accept:=true
 else
 Accept:=false;
end;

procedure TDM.tabProdDictionaryFilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
   if a=1 then
   begin
 if (tabProdDictionary.FieldByName('ProdName').asstring =frmCommDictionary.Query2.FieldByName('ProdName').asstring)
 and (tabProdDictionary.FieldByName('FigID').asstring =frmCommDictionary.Query2.FieldByName('FigID').asstring) then
 Accept:=true
 else
 Accept:=false;
 end;
end;

procedure TDM.tabStaffFilterRecord(DataSet: TDataSet; var Accept: Boolean);
begin
  if (tabStaff.FieldByName('StaffID').asstring =frmCommDictionary.Query3.FieldByName('StaffID').asstring) then
 Accept:=true
 else
 Accept:=false;
end;



end.

⌨️ 快捷键说明

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