mszrh.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 330 行
CPP
330 行
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "mSzrh.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
TKSSzrh *sdSzrh;
//---------------------------------------------------------------------------
__fastcall TKSSzrh::TKSSzrh()
:TKSMidBase()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidMasterField(int FieldNo)
{
switch(FieldNo)
{
case 1: //折让单号
ValidSzrhCode();
break;
case 2: //日期
ValidSzrhDate();
break;
case 3: //客户编码
ValidSzrhClient();
break;
case 4: //客户名称
ValidSzrhClientName();
break;
case 5: //币种
ValidSzrhCurrency();
break;
case 6: //汇率
ValidSzrhEnrate();
break;
case 7: //折让金额
ValidSzrhAmt();
break;
case 8: //经办人
ValidSzrhUser();
break;
case 9: //审核标志
ValidSzrhCheck();
break;
case 10: //审核人
ValidSzrhChecker();
break;
case 11: //审核日期
ValidSzrhCheckDate();
break;
case 12: //取消
ValidSzrhCancel();
break;
case 13: //取消日期
ValidSzrhCancelDate();
break;
case 14: //备注
ValidSzrhDesc();
break;
}
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhCode() //折让单号
{ /*/
AnsiString m_SzrhCode;
AnsiString b_SzrhCode;
m_SzrhCode=GetMasterValue("SzrhCode");
b_SzrhCode=GetMasterOldValue("SzrhCode");
if(m_SzrhCode.IsEmpty())
throw Exception("折让单据号不能为空!");
if(m_SzrhCode.Length()>18)
throw Exception("折让单据号长度不能大于18");
if(m_SzrhCode.UpperCase()!=b_SzrhCode.UpperCase())
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select SzrhCode from sdSzrh where SzrhCode='"+m_SzrhCode+"'");
Query->Open();
if(Query->RecordCount>0)
{
Query->Close();
throw Exception("该折让单号:'"+m_SzrhCode+"'已经存在!");
}
Query->Close();
} /*/
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhDate() //日期
{
AnsiString m_SzrhDate;
m_SzrhDate=GetMasterValue("SzrhDate");
if(m_SzrhDate.IsEmpty())
throw Exception("开单日期不能为空");
// throw Exception("开单日期不能大于系统日期");
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhClient() //客户编码
{ /*/
AnsiString m_SzrhClient;
AnsiString b_SzrhClient;
m_SzrhClient=GetMasterValue("SzrhClient");
b_SzrhClient=GetMasterOldValue("SzrhClient");
if(m_SzrhClient.IsEmpty())
throw Exception("客户代码不能为空!");
if(m_SzrhClient!=b_SzrhClient)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select ClientName from sdClient where ClientCode='"+m_SzrhClient+"'");
Query->Open();
if(Query->RecordCount<1)
{
Query->Close();
throw Exception("客户代码'"+m_SzrhClient+"'不存在!");
}
Query->Close();
}/*/
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhClientName() //客户名称
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhCurrency() //币种
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhEnrate() //汇率
{
double m_SzrhEnrate;
m_SzrhEnrate=GetMasterValue("SzrhEnrate");
if(m_SzrhEnrate<0)
throw Exception("汇率需大于零");
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhAmt() //折让金额
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhUser() //经办人
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhCheck() //审核标志
{
int m_SzrhCheck;
m_SzrhCheck=GetMasterValue("SzrhCheck");
int b_SzrhCheck=GetMasterOldValue("SzrhCheck");
if(m_SzrhCheck!=b_SzrhCheck)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("Select SalerCode,SalerCheck,SalerCancel from sdSaler where SalerCode='"+GetMasterValue("SzrhUser")+"'");
Query->Open();
if(Query->RecordCount<1)
{
Query->Close();
throw Exception("您没在销售员表中定义!");
}
else
{
if(Query->FieldValues["SalerCheck"]==0)
{
Query->Close();
throw Exception("您没有审核/反审核权限");
}
}
}
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhChecker() //审核人
{
AnsiString m_SzrhChecker;
int m_SzrhCheck=GetMasterValue("SzrhCheck");
m_SzrhChecker=GetMasterValue("SzrhChecker");
if(m_SzrhCheck==1&&m_SzrhChecker.IsEmpty())
throw Exception("审核人不能为空!");
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhCheckDate() //审核日期
{
AnsiString m_SzrhCheckDate;
m_SzrhCheckDate=GetMasterValue("SzrhCheckDate");
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhCancel() //取消
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhCancelDate() //取消日期
{
AnsiString m_SzrhCancelDate;
m_SzrhCancelDate=GetMasterValue("SzrhCancelDate");
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrhDesc() //备注
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidDetailField(int FieldNo)
{
switch(FieldNo)
{
case 1:
ValidSzrdLine();
break;
case 2:
ValidSzrdCode();
break;
case 3:
ValidSzrdSogCode();
break;
case 4:
ValidSzrdSogdLine();
break;
case 5:
ValidSzrdSoCode();
break;
case 6:
ValidSzrdSodLine();
break;
case 7:
ValidSzrdQty();
break;
case 8:
ValidSzrdAmt();
break;
case 9:
ValidSzrdCashAmt();
break;
case 10:
ValidSzrdDesc();
break;
}
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrdLine()
{
int m_SzrdLine;
m_SzrdLine=GetDetailValue("SzrdLine");
if(m_SzrdLine<=0)
throw Exception("行号不能小于零!");
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrdCode()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrdSogCode()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrdSogdLine()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrdSoCode()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrdSodLine()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrdQty()
{
double m_SzrdQty;
m_SzrdQty=GetDetailValue("SzrdQty");
if(m_SzrdQty<=0)
throw Exception("发货数量不能小于零");
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrdAmt()
{
double m_SzrdAmt;
double b_SzrdAmt;
m_SzrdAmt=GetDetailValue("SzrdAmt");
b_SzrdAmt=GetDetailOldValue("SzrdAmt");
if(m_SzrdAmt<=0)
throw Exception("折让金额需大于零");
if(m_SzrdAmt!=b_SzrdAmt)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select SogdAmt from sdSogd where SogdCode='"+GetDetailValue("SzrdSogCode")+"' and SogdLine="+GetDetailValue("SzrdSogdLine"));
Query->Open();
if(Query->RecordCount>0)
{
if(m_SzrdAmt>Query->FieldValues["SogdAmt"])
{
Query->Close();
throw Exception("折让金额不能大于销售金额");
}
}
else
{
Query->Close();
throw Exception("找不到该发货行号");
}
}
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrdCashAmt()
{
double m_SzrdCashAmt;
double m_SzrdAmt=GetDetailValue("SzrdAmt");
m_SzrdCashAmt=GetDetailValue("SzrdCashAmt");
if(m_SzrdCashAmt<0)
throw Exception("折让现金金额不能小于零");
if(m_SzrdCashAmt>m_SzrdAmt)
throw Exception("折让现金不能大于折让金额");
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::ValidSzrdDesc()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSzrh::CmdExec(AnsiString Param)
{
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?