📄 uxsd.pas
字号:
finally
FKHXX.Free;
end;
end;
procedure TFXSD.BtBADDSPClick(Sender: TObject);
var
strSQL:string;
begin
strDJADDZT:='ADD';
try
Application.CreateForm(TFADDXSSP, FADDXSSP);
FADDXSSP.ShowModal;
strSQL:='select * from JG出库单';
RunSQL(dm.ADOQ_JGDHCB,strSQL,0);
SumJE;
BtBADDSP.SetFocus;
finally
FADDXSSP.Free;
end;
end;
procedure TFXSD.BtBMODIFYSPClick(Sender: TObject);
var
strSQL:string;
begin
if DM.ADOQ_JGDHCB.RecordCount<=0 then
abort;
strDJADDZT:='MODIFY';
try
Application.CreateForm(TFADDXSSP, FADDXSSP);
FADDXSSP.ShowModal;
strSQL:='select * from JG出库单';
RunSQL(dm.ADOQ_JGDHCB,strSQL,0);
SumJE;
BtBADDSP.SetFocus;
finally
FADDXSSP.Free;
end;
end;
procedure TFXSD.BtBDELSPClick(Sender: TObject);
var
strSQL:string;
nid:integer;
begin
if DM.ADOQ_JGDHCB.RecordCount<=0 then
abort;
case messagebox(handle,pchar('真的要删除该记录吗?'),MsgBxCaption,mb_iconquestion+MB_YESNO) of
ID_yes:
begin
nid:=dm.ADOQ_JGDHCB.fieldbyname('ID').AsInteger;
strSQL:='delete from JG出库单 where id='+inttostr(nid);
if RunSQL(DM.m_clADOQryDB_Temp,strSQL,1) then
begin
strSQL:='select * from JG出库单';
RunSQL(dm.ADOQ_JGDHCB,strSQL,0);
SumJE;
end
else
begin
Application.MessageBox('删除数据出错!',MsgBxCaption,MB_OK);
end;
end;
ID_no: abort;
END;
end;
procedure TFXSD.TBTCANCELClick(Sender: TObject);
var
strSQL:string;
begin
strDJZT:='cancel';
strSQL:='delete from JG出库单';
RunSQL(DM.m_clADOQryDB_Temp,strSQL,1);
strSQL:='select * from JG出库单';
RunSQL(dm.ADOQ_JGDHCB,strSQL,0);
BtBENABLED(strDJZT);
EdtKHMC.Text:='';
EdtCHDH.Text:='';
EdtBZ.Text:='';
DtTCKRQ.Date:=now();
EdtJE.Text:='';
EdtYF.Text:='';
EdtYSJE.Text:='';
EdtHK.Text:='';
EdtSQK.Text:='';
EdtCZY.Text:='';
EdtKHBH.Text:='';
EdtKHID.Text:='';
EdtKHDH.Text:='';
EdtKHDZ.Text:='';
EdtKHLX.Text:='';
Edtsl.Text:='';
EdtDJID.Text:='';
EdtDel.Text:='';
end;
procedure TFXSD.EdtHKKeyPress(Sender: TObject; var Key: Char);
begin
if (not (key in['0'..'9',#8,#9,#14,#23,#24,#25,#26,#27,#28,#30,#13,'.'])) then
key:=#0;
end;
procedure TFXSD.EdtHKExit(Sender: TObject);
begin
if Trim(EdtHK.Text)='' then
begin
EdtHK.Text:='0';
EdtSQK.Text:=Trim(EdtJE.Text);
abort;
end;
if TryIsFloat(Trim(EdtHK.Text))=False then
begin
Application.MessageBox('非法数值!',MsgBxCaption,MB_OK+MB_ICONWARNING);
EdtHK.SetFocus;
abort;
end;
EdtSQK.Text:=Floattostr(strtoFloat(EdtYSJE.Text)-strtoFloat(EdtHK.Text));
end;
procedure TFXSD.TBTSAVEClick(Sender: TObject);
var
strDJID,strCHDH,strJE,strYF,strYSJE,strHK,strSQK,strCZY:string;
strKHID,strKHBH,strKHMC,strKHDH,strKHDZ,strKHLX,strSL,strBZ:String;
strSQL,strSFDH:string;
dttCHRQ:TDate;
dttCHSJ:TTime;
begin
screen.Cursor:=crhourglass;
strDJID:=GetNewStr(DM.m_clADOQry_Temp);
strCHDH:=BuildTableDJBH(dm.m_clADOQry_Temp,'JG订货单主表','订货单号',strCZMD);
strKHID:=Trim(EdtKHID.Text);
strKHBH:=Trim(EdtKHBH.Text);
strKHMC:=Trim(EdtKHMC.Text);
strKHDH:=Trim(EdtKHDH.Text);
strKHDZ:=Trim(EdtKHDZ.Text);
strKHLX:=Trim(EdtKHLX.Text);
strJE:=NontoNumber(Trim(EdtJE.Text));
strYF:=NontoNumber(Trim(EdtYF.Text));
strYSJE:=NontoNumber(Trim(EdtYSJE.Text));
strHK:=NontoNumber(Trim(EdtHK.Text));
strSQK:= NontoNumber(Trim(EdtSQK.Text));
strSL:=NontoNumber(Trim(EdtSL.Text));
strCZY:=Trim(EdtCZY.Text);
strBZ:=Trim(EdtBZ.Text);
EdtCHDH.Text:=strCHDH;
EdtDJID.Text:=strDJID;
dttCHRQ:=DtTCKRQ.Date;
dttCHSJ:=NOW();
if strKHMC='' then
begin
Application.MessageBox('客户名称不能为空!',MsgBxCaption,MB_OK+MB_ICONWARNING);
screen.Cursor:=crdefault;
EdtKHMC.SetFocus;
abort;
end;
if DM.ADOQ_JGDHCB.RecordCount<=0 then
begin
Application.MessageBox('销售明细不能为空!',MsgBxCaption,MB_OK+MB_ICONWARNING);
screen.Cursor:=crdefault;
abort;
end;
try
if dm.ADOConn.InTransaction then
dm.ADOConn.RollbackTrans;
dm.ADOConn.BeginTrans;
strSQL:='Insert Into JG订货单主表 Values('
+''''+strDJID+''''
+','+''''+strCZMD+''''
+','+''''+strCHDH+''''
+','+''''+strKHID+''''
+','+''''+strKHBH+''''
+','+''''+strKHMC+''''
+','+''''+strKHDH+''''
+','+''''+strKHDZ+''''
+','+''''+strKHLX+''''
+','+strJE
+','+strYF
+','+strYSJE
+','+strHK
+',0'
+',0'
+','+strSQK
+','+strSL
+','+strSL
+','+strSL
+','+''''+' '+''''
+','+''''+' '+''''
+','+''''+DateToStr(dttCHRQ)+' '+TimeToStr(dttCHSJ)+''''
+','+''''+DateToStr(dttCHRQ)+' '+TimeToStr(dttCHSJ)+''''
+','+''''+DateToStr(dttCHRQ)+' '+TimeToStr(dttCHSJ)+''''
+','+''''+' '+''''
+','+''''+strCZY+''''
+','+''''+strCZY+''''
+','+''''+strCZY+''''
+','+''''+' '+''''
+','+''''+'回单'+''''
+','+''''+'销售单'+''''
+','+''''+strBZ+''''
+',1'
+',1'
+')';
RunSQL(DM.m_clADOQry_Temp,strSQL,1);
strSFDH:=GetNewStr(DM.m_clADOQry_Temp);
strSQL:='Insert Into JG收付款 Values('
+''''+strSFDH+''''
+','+''''+strCZMD+''''
+','+''''+strDJID+''''
+','+''''+strCHDH+''''
+','+''''+DateToStr(dttCHRQ)+' '+TimeToStr(dttCHSJ)+''''
+','+''''+strKHID+''''
+','+''''+strKHMC+''''
+','+''''+strKHLX+''''
+','+strHK
+','+''''+strCZY+''''
+','+''''+strCZY+''''
+','+''''+'收销售款'+''''
+','+''''+'收销售款'+''''
+',1'
+',1'+',1'
+')';
RunSQL(DM.m_clADOQry_Temp,strSQL,1);
DM.ADOQ_JGDHCB.First;
while not DM.ADOQ_JGDHCB.Eof do
begin
strSQL:='Insert Into JG订货单次表 Values('
+''''+strDJID+''''
+','+inttostr(DM.ADOQ_JGDHCB.fieldbyname('自动编号').AsInteger)
+','+''''+Trim(DM.ADOQ_JGDHCB.fieldbyname('商品编号').AsString)+''''
+','+''''+Trim(DM.ADOQ_JGDHCB.fieldbyname('品名规格').AsString)+''''
+','+''''+Trim(DM.ADOQ_JGDHCB.fieldbyname('单位').AsString)+''''
+','+Floattostr(DM.ADOQ_JGDHCB.fieldbyname('数量').AsFloat)
+','+Floattostr(DM.ADOQ_JGDHCB.fieldbyname('单价').AsFloat)
+','+Floattostr(DM.ADOQ_JGDHCB.fieldbyname('金额').AsFloat)
+','+Floattostr(DM.ADOQ_JGDHCB.fieldbyname('运费').AsFloat)
+','+Floattostr(DM.ADOQ_JGDHCB.fieldbyname('应收金额').AsFloat)
+','+BooleantoNumber(DM.ADOQ_JGDHCB.fieldbyname('回瓶').AsBoolean)
+','+''''+'销售单'+''''
+',1'
+',1'
+')';
RunSQL(DM.m_clADOQry_Temp,strSQL,1);
DM.ADOQ_JGDHCB.Next;
end;
strSQL:='update JG客户信息 set 订气日期='+''''+DateToStr(dttCHRQ)+''''
+' where 客户ID='+''''+strKHID+'''';
RunSQL(DM.m_clADOQry_Temp,strSQL,1);
strSQL:='update JG商品资料 set 库存量=IsNull(a.库存量,0)-IsNull(b.数量,0) from'
+' JG商品资料 a,JG订货单次表 b where (a.商品编号=b.商品编号)'
+'and(b.订单ID='+''''+strDJID+''''+')';
RunSQL(DM.m_clADOQry_Temp,strSQL,1);
dm.ADOConn.CommitTrans;
screen.Cursor:=crdefault;
except
Application.MessageBox('保存数据失败!',MsgBxCaption,MB_OK);
dm.ADOConn.RollbackTrans;
screen.Cursor:=crdefault;
abort;
end;
strDJZT:='save';
BtBENABLED(strDJZT);
end;
procedure TFXSD.TBTFINDClick(Sender: TObject);
var
strSQL,strtmp:string;
begin
strDJZT:='find';
strXZZT:='select';
try
Application.CreateForm(TFCZXSD, FCZXSD);
FCZXSD.ShowModal;
if strXZZT='ok' then
begin
strtmp:=Trim(DM.ADOQ_CZXSD.fieldbyname('订单ID').AsString);
if strtmp<>'' then
Findsetvalues(strtmp);
BtBENABLED(strDJZT);
end;
finally
FCZXSD.Free;
end;
end;
procedure TFXSD.TBTDELClick(Sender: TObject);
var
strDJID,strDel,strSQL,strDH:string;
begin
strDJZT:='delete';
strDJID:=Trim(EdtDJID.Text);
strDel:=Trim(EdtDel.Text);
strDH:=Trim(EdtCHDH.Text);
if strDel='0' then
begin
Application.MessageBox(pchar('单据【'+strDH+'】已作废,不能作废!'),MsgBxCaption,MB_OK);
abort;
end;
if strDJID<>'' then
begin
case messagebox(handle,pchar('真的要作废单据【'+strDH+'】吗?'),MsgBxCaption,mb_iconquestion+MB_YESNO) of
ID_yes:
begin
strSQL:='update JG订货单主表 set 删除标志=0,标志=2';
RunSQL(DM.m_clADOQry_Temp,strSQL,1);
strSQL:='update JG订货单次表 set 删除标志=0,标志=2';
RunSQL(DM.m_clADOQry_Temp,strSQL,1);
strSQL:='update JG收付款 set 删除标志=0,标志=2';
RunSQL(DM.m_clADOQry_Temp,strSQL,1);
EdtKHMC.Text:='';
EdtCHDH.Text:='';
EdtBZ.Text:='';
DtTCKRQ.Date:=now();
EdtJE.Text:='';
EdtYF.Text:='';
EdtYSJE.Text:='';
EdtHK.Text:='';
EdtSQK.Text:='';
EdtCZY.Text:='';
EdtKHBH.Text:='';
EdtKHID.Text:='';
EdtKHDH.Text:='';
EdtKHDZ.Text:='';
EdtKHLX.Text:='';
Edtsl.Text:='';
EdtDJID.Text:='';
EdtDel.Text:='';
strSQL:='delete from JG出库单';
RunSQL(DM.m_clADOQryDB_Temp,strSQL,1);
strSQL:='select * from JG出库单';
RunSQL(dm.ADOQ_JGDHCB,strSQL,0);
SumJE;
BtBENABLED(strDJZT);
end;
ID_no: abort;
end;
end;
end;
procedure TFXSD.TBTEXITClick(Sender: TObject);
begin
self.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -