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

📄 cshcomm.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 3 页
字号:
    AQuery1.SQL.Clear;
    AQuery1.SQL.Add('update ORD510B set O510B_025='+FloatToStr(AAmount)+' where O510B_001='+''''+ACode+''''+' and O510B_002='+IntToStr(ALineNo));
    AQuery1.ExecSQL;
    AQuery.Next;
  end;
  //更新收款金额
  AQuery.Close;
  AQuery.SQL.Clear;
  AQuery.SQL.Add('select A510B_003,A510B_004,sum(C510_008) as FAmount');
  AQuery.SQL.Add('from CSH510,CSH500,ACR510B');
  AQuery.SQL.Add('where C510_001=C500_001 and C510_002=C500_002 and C510_003=C500_003 and C510_004=C500_004 and C510_005=A510B_001 and C510_006=A510B_002 and');
  AQuery.SQL.Add('      C500_016=1 and A510B_003='+''''+ACode+'''');
  AQuery.SQL.Add('group by A510B_003,A510B_004');
  AQuery.Open;
  while not AQuery.Eof do
  begin
    ALineNo:=AQuery.FieldByName('A510B_004').Value;
    AQuery1.Close;
    AQuery1.SQL.Clear;
    AQuery1.SQL.Add('select A510B_003,A510B_004,sum(C510_008) as FAmount');
    AQuery1.SQL.Add('from CSH510,CSH500,ACR510B,ORD510B');
    AQuery1.SQL.Add('where C510_001=C500_001 and C510_002=C500_002 and C510_003=C500_003 and C510_004=C500_004 and C510_005=A510B_001 and C510_006=A510B_002 and A510B_003=O510B_001 and A510B_004=O510B_002 and');
    AQuery1.SQL.Add('      C500_016=1 and A510B_003='+''''+ACode+''''+' and O510B_002='+IntToStr(ALineNo));
    AQuery1.SQL.Add('group by A510B_003,A510B_004');
    AQuery1.Open;
    AAmount:=AQuery1.FieldByName('FAmount').AsFloat;
    AQuery1.Close;
    AQuery1.SQL.Clear;
    AQuery1.SQL.Add('update ORD510B set O510B_027=O510B_027+'+FloatToStr(AAmount)+' where O510B_001='+''''+ACode+''''+' and O510B_002='+IntToStr(ALineNo));
    AQuery1.ExecSQL;
    AQuery.Next;
  end;
  AQuery1.Close;
  AQuery1.Free;
  AQuery.Close;
  AQuery.Free;
end;

//销售折扣单,销售发票单,收款单新增、修改、删除时调用
//反写任务汇报TAS533的发票金额、收款折扣、已收金额
//ACode: 销售单号
//AType: 增加=ADD,减少=DEL
//存在Bug:删除时不能更新记录  请用clone
procedure UpdateTAS533(ACode,AType:String);
var
  AQuery:TADOQuery;
  AQuery1:TADOQuery;
  AAmount:Double;
  ALineNo:Integer;
  ASoureCode:string;
begin
  AQuery:=TADOQuery.Create(nil);
  AQuery.Connection:=SYSDM.ADOC;

  AQuery1:=TADOQuery.Create(nil);
  AQuery1.Connection:=SYSDM.ADOC;
  //更新发票金额  T533_008   ok
  AQuery.Close;
  AQuery.SQL.Clear;
  //取出相应销售订单的发票明细
  AQuery.SQL.Add('select distinct O510B_002,T530_002');
  AQuery.SQL.Add(' from TAS533,TAS530,ORD510B');
  AQuery.SQL.Add(' where T533_001=T530_001 and T533_002=O510B_001 and T533_003=O510B_002 and O510B_001='+''''+ACode+'''');
  AQuery.Open;
  while not AQuery.Eof do
  begin
    ALineNo:=AQuery.FieldByName('O510B_002').Value;     //定单行号
    ASoureCode:=AQuery.FieldByName('T530_002').Value;   //工单编号
    AQuery1.Close;
    AQuery1.SQL.Clear;
    AQuery1.SQL.Add('select A510B_003,A510B_004,sum(A510B_007) as FAmount,A510B_013');
    AQuery1.SQL.Add(' from ACR510B,ACR510A where A510B_001=A510A_001 and A510A_002=0 and A510B_003='+''''+ACode+''''+' and A510B_004='+IntToStr(ALineNo)+' and A510B_013='+''''+ASoureCode+'''');
    AQuery1.SQL.Add(' group by A510B_003,A510B_004,A510B_013');
    AQuery1.Open;
    AAmount:=AQuery1.FieldByName('FAmount').AsFloat;
    AQuery1.Close;
    AQuery1.SQL.Clear;
    AQuery1.SQL.Add('select A510B_003,A510B_004,sum(A510B_007) as FAmount,A510B_013');
    AQuery1.SQL.Add(' from ACR510B,ACR510A where A510B_001=A510A_001 and A510A_002=1 and A510B_003='+''''+ACode+''''+' and A510B_004='+IntToStr(ALineNo)+' and A510B_013='+''''+ASoureCode+'''');
    AQuery1.SQL.Add(' group by A510B_003,A510B_004,A510B_013');
    AQuery1.Open;
    AAmount:=AAmount-AQuery1.FieldByName('FAmount').AsFloat;
    AQuery1.Close;
    AQuery1.SQL.Clear;
    AQuery1.SQL.Add('select TAS533.*,T530_002 from TAS530,TAS533');
    AQuery1.SQL.Add(' where T530_001=T533_001');
    AQuery1.SQL.Add(' and T533_002='+''''+ACode+''''+' and T533_003='+IntToStr(ALineNo)+' and T530_002='+''''+ASoureCode+'''');
    AQuery1.Open;
    AQuery1.Edit;
    AQuery1.FieldByName('T533_008').Value:=AAmount;
    AQuery1.Post;
    AQuery.Next;
  end;
  //更新折扣额 
  AQuery.Close;
  AQuery.SQL.Clear;
  AQuery.SQL.Add('select distinct O510B_002,T530_002');
  AQuery.SQL.Add(' from TAS533,TAS530,ORD510B');
  AQuery.SQL.Add(' where T533_001=T530_001 and T533_002=O510B_001 and T533_003=O510B_002 and O510B_001='+''''+ACode+'''');
  AQuery.Open;
  while not AQuery.Eof do
  begin
    ALineNo:=AQuery.FieldByName('O510B_002').Value;     //定单行号
    ASoureCode:=AQuery.FieldByName('T530_002').Value;   //工单编号
    AQuery1.Close;
    AQuery1.SQL.Clear;
    AQuery1.SQL.Add('select T533_002,T533_003,T530_002,sum(A500B_007) as FAmount from ACR500B,ORD510B,TAS530,TAS533');
    AQuery1.SQL.Add(' where A500B_003=O510B_001  and A500B_004=O510B_002 and A500B_010=T530_002 and T530_001=T533_001');
    AQuery1.SQL.Add(' and A500B_003=T533_002 and A500B_004=T533_003 ');
    AQuery1.SQL.Add(' and T533_002='+''''+ACode+''''+' and T533_003='+IntToStr(ALineNo)+' and T530_002='+''''+ASoureCode+'''');
    AQuery1.SQL.Add(' group by T533_002,T533_003,T530_002');
    AQuery1.Open;
    AAmount:=AQuery1.FieldByName('FAmount').AsFloat;
    AQuery1.Close;
    AQuery1.SQL.Clear;
    AQuery1.SQL.Add('select TAS533.*,T530_002');
    AQuery1.SQL.Add(' from TAS530,TAS533');
    AQuery1.SQL.Add(' where T530_001=T533_001 and T533_002='+''''+ACode+''''+' and T533_003='+IntToStr(ALineNo)+' and T530_002='+''''+ASoureCode+'''');
    AQuery1.Open;
    AQuery1.Edit;
    AQuery1.FieldByName('T533_009').Value:=AAmount;
    AQuery1.Post;
    AQuery.Next;
  end;
  //更新收款金额  T533_011
  AQuery.Close;
  AQuery.SQL.Clear;
  AQuery.SQL.Add('select A510B_003,A510B_004,sum(C510_008) as FAmount,A510B_013');
  AQuery.SQL.Add('from CSH510,CSH500,ACR510B');
  AQuery.SQL.Add('where C510_001=C500_001 and C510_002=C500_002 and C510_003=C500_003 and C510_004=C500_004 and C510_005=A510B_001 and C510_006=A510B_002 and ');
  AQuery.SQL.Add(' C500_016=1 and A510B_003='+''''+ACode+'''');
  AQuery.SQL.Add('group by A510B_003,A510B_004,A510B_013');
  AQuery.Open;
  while not AQuery.Eof do
  begin
    AAmount:=AQuery.FieldByName('FAmount').AsFloat;
    ALineNo:=AQuery.FieldByName('A510B_004').Value;
    ASoureCode:=AQuery.FieldByName('A510B_013').Value;
    if AType='DEL' then AAmount:=AAmount*-1;
    AQuery1.Close;
    AQuery1.SQL.Clear;
    AQuery1.SQL.Add('select TAS533.*,T530_002');
    AQuery1.SQL.Add(' from TAS530,TAS533');
    AQuery1.SQL.Add(' where T530_001=T533_001 and T533_002='+''''+ACode+''''+' and T533_003='+IntToStr(ALineNo)+' and T530_002='+''''+ASoureCode+'''');
    AQuery1.Open;
    AQuery1.Edit;
    AQuery1.FieldByName('T533_011').Value:=AAmount;
    AQuery1.Post;
    AQuery.Next;
  end;
  AQuery1.Close;
  AQuery1.Free;
  AQuery.Close;
  AQuery.Free;
end;
//采购折扣单,采购发票单,付款单新增、修改、删除时调用
//反写采购定单PUR510B的发票金额、付款折扣、已付金额
//ACode: 采购单号
//AType: 增加=ADD,减少=DEL
procedure UpdatePUR510B(ACode,AType:String);
var
  AQuery:TADOQuery;
  AAmount:Double;
  ALineNo:Integer;
begin
  AQuery:=TADOQuery.Create(nil);
  AQuery.Connection:=SYSDM.ADOC;

  //更新发票金额
  AQuery.Close;
  AQuery.SQL.Clear;
  AQuery.SQL.Add('select A510B_003,A510B_004,sum(A510B_010) as FAmount');
  AQuery.SQL.Add('from ACP510B,ACP510A where A510B_001=A510A_001 and A510A_002=0 and A510B_003='+''''+ACode+'''');
  AQuery.SQL.Add('group by A510B_003,A510B_004');
  AQuery.Open;
  while not AQuery.Eof do
  begin
    AAmount:=AQuery.FieldByName('FAmount').AsFloat;
    ALineNo:=AQuery.FieldByName('A510B_004').Value;
    SYSDM.qryQuery.Close;
    SYSDM.qryQuery.SQL.Clear;
    SYSDM.qryQuery.SQL.Add('select A510B_003,A510B_004,sum(A510B_010) as FAmount');
    SYSDM.qryQuery.SQL.Add('from ACP510B,ACP510A where A510B_001=A510A_001 and A510A_002=1 and A510B_003='+''''+ACode+''''+' and A510B_004='+IntToStr(ALineNo));
    SYSDM.qryQuery.SQL.Add('group by A510B_003,A510B_004');
    SYSDM.qryQuery.Open;
    AAmount:=AAmount-SYSDM.qryQuery.FieldByName('FAmount').AsFloat;
    if AType='DEL' then AAmount:=AAmount*-1;
    SYSDM.qryQuery.Close;
    SYSDM.qryQuery.SQL.Clear;
    SYSDM.qryQuery.SQL.Add('update PUR510B set P510B_024='+FloatToStr(AAmount)+' where P510B_001='+''''+ACode+''''+' and P510B_002='+IntToStr(ALineNo));
    SYSDM.qryQuery.ExecSQL;
    AQuery.Next;
  end;

  //更新折扣额
  AQuery.Close;
  AQuery.SQL.Clear;
  AQuery.SQL.Add('select A500B_003,A500B_004,sum(A500B_007) as FAmount');
  AQuery.SQL.Add('from ACP500B where A500B_003='+''''+ACode+'''');
  AQuery.SQL.Add('group by A500B_003,A500B_004');
  AQuery.Open;
  while not AQuery.Eof do
  begin
    AAmount:=AQuery.FieldByName('FAmount').AsFloat;
    ALineNo:=AQuery.FieldByName('A500B_004').Value;
    if AType='DEL' then AAmount:=AAmount*-1;
    SYSDM.qryQuery.Close;
    SYSDM.qryQuery.SQL.Clear;
    SYSDM.qryQuery.SQL.Add('update PUR510B set P510B_025='+FloatToStr(AAmount)+' where P510B_001='+''''+ACode+''''+' and P510B_002='+IntToStr(ALineNo));
    SYSDM.qryQuery.ExecSQL;
    AQuery.Next;
  end;

  //更新收款金额
  AQuery.Close;
  AQuery.SQL.Clear;
  AQuery.SQL.Add('select A510B_003,A510B_004,sum(C510_008) as FAmount');
  AQuery.SQL.Add('from CSH510,CSH500,ACP510B');
  AQuery.SQL.Add('where C510_001=C500_001 and C510_002=C500_002 and C510_003=C500_003 and C510_004=C500_004 and C510_005=A510B_001 and C510_006=A510B_002 and ');
  AQuery.SQL.Add('      C500_016=2 and A510B_003='+''''+ACode+'''');
  AQuery.SQL.Add('group by A510B_003,A510B_004');
  AQuery.Open;
  while not AQuery.Eof do
  begin
    AAmount:=AQuery.FieldByName('FAmount').AsFloat;
    ALineNo:=AQuery.FieldByName('A510B_004').Value;
    if AType='DEL' then AAmount:=AAmount*-1;
    SYSDM.qryQuery.Close;
    SYSDM.qryQuery.SQL.Clear;
    SYSDM.qryQuery.SQL.Add('update PUR510B set P510B_027='+FloatToStr(AAmount)+' where P510B_001='+''''+ACode+''''+' and P510B_002='+IntToStr(ALineNo));
    SYSDM.qryQuery.ExecSQL;
    AQuery.Next;
  end;

  AQuery.Close;
  AQuery.Free;
end;

//反写销售定单ORD510B的已收款额

//CSH500:出纳帐本  的收支日期和顺序编号  ADate ABillNo
//AccNo: 帐户编号  ABillNo:顺序编号  AField:修改对象的已收金额字段
//AType: 增加=ADD,减少=DEL
//和销售订单采用同样的调整方式,哈哈,这个容易改了
procedure UpdateORD510B(AccNo:Integer;ADate:TDateTime;ABillNo:Integer;AField,AType:String);
var
  AQuery:TADOQuery;
  AAmount:Double;
  ALineNo:Integer;
begin
  AQuery:=TADOQuery.Create(nil);
  AQuery.Connection:=SYSDM.ADOC;

  AQuery.Close;
  AQuery.SQL.Clear;
  AQuery.SQL.Add('select A510B_003,A510B_004,sum(C510B_006) as FAmount');
  AQuery.SQL.Add('from CSH510A,CSH510B,ACR510B');
  AQuery.SQL.Add('where C510B_001=C510A_001 and C510B_003=A510B_001 and C510B_004=A510B_002 and');
  AQuery.SQL.Add('      C510A_003='+IntToStr(AccNo)+' and C510A_010='+GetDateString(ADate)+' and C510A_002='+IntToStr(ABillNo));
  AQuery.SQL.Add('group by A510B_003,A510B_004');
  AQuery.Open;
  while not AQuery.Eof do
  begin
    AAmount:=AQuery.FieldByName('FAmount').Value;
    ALineNo:=AQuery.FieldByName('A510B_004').Value;
    if AType='DEL' then AAmount:=AAmount*-1;
    SYSDM.qryQuery.Close;
    SYSDM.qryQuery.SQL.Clear;
    SYSDM.qryQuery.SQL.Add('update ORD510B set O510B_027=O510B_027+'+FloatToStr(AAmount)+' where O510B_001='+''''+AQuery.FieldByName('A510B_003').AsString+''''+' and O510B_002='+IntToStr(ALineNo));
    SYSDM.qryQuery.ExecSQL;
    AQuery.Next;
  end;
  AQuery.Close;
  AQuery.Free;
end;

//反写采购定单PUR510B的已付款额
//AccNo:帐户编号  ABillNo:单据编号(C500_004)
//AType:  增加金额=ADD,减少金额=DEL
procedure UpdatePUR510B(AccNo:Integer;ADate:TDateTime;ABillNo:Integer;AField,AType:String);
var
  AQuery:TADOQuery;
  AAmount:Double;
  ALineNo:Integer;
begin
  AQuery:=TADOQuery.Create(nil);
  AQuery.Connection:=SYSDM.ADOC;

⌨️ 快捷键说明

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