📄 msoh.cpp
字号:
{
Query->Close();
throw Exception("您没有结清/反结清权限");
}
}
}
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSohCancel() //取消
{
int m_SohCancel;
m_SohCancel=GetMasterValue("SohCancel");
int b_SohCancel;
b_SohCancel=GetMasterOldValue("SohCancel");
if(m_SohCancel!=0 && m_SohCancel!=1)
throw Exception("取消标志只能为:0-未取消,1-取消");
if(m_SohCancel!=b_SohCancel)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("Select SalerCode,SalerCheck,SalerCancel from sdSaler where SalerCode='"+GetMasterValue("SohUser")+"'");
Query->Open();
if(Query->RecordCount<1)
{
Query->Close();
throw Exception("您没在销售员表中定义!");
}
else
{
if(Query->FieldValues["SalerCancel"]==0)
{
Query->Close();
throw Exception("您没有取消/反取消权限");
}
}
}
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSohCrCode() //取消原因
{
/* AnsiString m_SohCrCode;
AnsiString b_SohCrCode;
m_SohCrCode=ReturnNeedValue(GetMasterValue("SohCrCode"),"");
b_SohCrCode=ReturnNeedValue(GetMasterOldValue("SohCrCode"),"");
if(GetMasterValue("SohCancel")==1)
{
if(m_SohCrCode.IsEmpty())
throw Exception("订单作废时,作废原因不能为空");
if(m_SohCrCode.Length()>18)
throw Exception("作废原因代码长度不能大于18");
if(m_SohCrCode!=b_SohCrCode)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select socrcode from sdsocr where socrcode='"+m_SohCrCode+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("取消原因代码:"+m_SohCrCode+"未定义");
}
Query->Close();
}
}
*/}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidDetailField(int FieldNo)
{
switch(FieldNo)
{
case 1:
ValidSodLine();
break;
case 2:
ValidSodCode();
break;
case 3:
ValidSodGoods();
break;
case 4:
ValidSodUnit();
break;
case 5:
ValidSodConv();
break;
case 6:
ValidSodSptCode();
break;
case 7:
ValidSodQty();
break;
case 8:
ValidSodPrice();
break;
case 9:
ValidSodAmt();
break;
case 10:
ValidSodTaxAmt();
break;
case 11:
ValidSodDisc();
break;
case 12:
ValidSodDAmt();
break;
case 13:
ValidSodDesc();
break;
case 14:
ValidSodSendDate();
break;
case 15:
ValidSodRecDate();
break;
case 16:
ValidSodSQty();
break;
case 17:
ValidSodPQty();
break;
case 18:
ValidSodBQty();
break;
case 19:
ValidSodFQty();
break;
case 20:
ValidSodEQty();
break;
case 21:
ValidSodPoCode();
break;
case 22:
ValidSodState();
break;
case 23:
ValidSodClose();
break;
case 24:
ValidSodCloseDate();
break;
}
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodLine()
{
int m_SodLine;
int b_SodLine;
m_SodLine=ReturnNeedValue(GetDetailValue("SodLine"),0);
if(m_SodLine<=0)
throw Exception("行号不能小于零!");
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodCode()
{
AnsiString m_SodCode;
m_SodCode=ReturnNeedValue(GetDetailValue("SodCode"),"");
if(m_SodCode.IsEmpty())
throw Exception("订单号不能为空");
if(m_SodCode.Length()>18)
throw Exception("订单号长度不能大于18");
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodGoods()
{
AnsiString m_SodGoods;
AnsiString b_SodGoods;
m_SodGoods=ReturnNeedValue(GetDetailValue("SodGoods"),"");
b_SodGoods=ReturnNeedValue(GetDetailOldValue("SodGoods"),"");
if(m_SodGoods.IsEmpty())
throw Exception("销售订单的货物编码不能为空!");
if(m_SodGoods.Length()>18)
throw Exception("物料编码长度不能大于18");
if(m_SodGoods != b_SodGoods)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select GoodsCode,GoodsUnitCode,GoodsMunit,GoodsSale,GoodsCancel from sdGoods where GoodsCode='"+m_SodGoods+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("该物料编码:'"+m_SodGoods+"'不存在!");
}
else
{
if(Query->FieldValues["GoodsCancel"]==1)
{
Query->Close();
throw Exception("该货品'"+m_SodGoods+"'已取消");
}
if(Query->FieldValues["GoodsSale"]==0)
{
Query->Close();
throw Exception("该货品'"+m_SodGoods+"'不可销售");
}
Query->Close();
}
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select sgdcode from sdsgd where sgdclientcode='"+GetMasterValue("SohClient")+"' and sgdgoodscode='"+m_SodGoods+"'");
Query->Open();
if(Query->RecordCount<1)
{
Query->Close();
throw Exception("客户物料未定义");
}
Query->Close();
}
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodUnit()
{
AnsiString m_SodUnit;
AnsiString b_SodUnit;
AnsiString m_SodGoods=ReturnNeedValue(GetDetailValue("SodGoods"),"");
m_SodUnit=ReturnNeedValue(GetDetailValue("SodUnit"),"");
b_SodUnit=ReturnNeedValue(GetDetailOldValue("SodUnit"),"");
if(m_SodUnit.IsEmpty())
throw Exception("计量单位不能为空");
if(m_SodUnit.Length()>18)
throw Exception("计量单位长度不能大于18");
if(m_SodGoods.IsEmpty())
throw Exception("销售物料不能为空");
if(m_SodUnit!=b_SodUnit)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("Select Unitcode from sdUnit where Unitcode='"+m_SodUnit+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("计量单位:"+m_SodUnit+"不存在");
}
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select goodsunitcode,goodsmunit from sdgoods where goodscode='"+m_SodGoods+"'");
Query->Open();
if(Query->RecordCount<1)
{
Query->Close();
throw Exception("当前物料未在物料主文件中定义");
}
if(Query->FieldValues["GoodsMunit"]==0)
{
// b_SodUnit=Query->FieldValues["GoodsUnitCode"];
// SetDetailValue("SodConv",1);
}
Query->Close();
}
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodConv()
{
double m_SodConv;
double b_SodConv;
AnsiString m_SodGoods=ReturnNeedValue(GetDetailValue("SodGoods"),"");
m_SodConv=ReturnNeedValue(GetDetailValue("SodConv"),0);
b_SodConv=ReturnNeedValue(GetDetailOldValue("SodConv"),0);
if(m_SodConv<=0)
throw Exception("换算系数不能小于零");
if(m_SodGoods.IsEmpty())
throw Exception("销售物料不能为空");
if(m_SodConv!=b_SodConv)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select goodsunitcode,goodsmunit from sdgoods where goodscode='"+m_SodGoods+"'");
Query->Open();
if(Query->RecordCount<1)
{
Query->Close();
throw Exception("当前物料未在物料主文件中定义");
}
if(Query->FieldValues["GoodsMunit"]==0)
{
// SetDetailValue("SodUnit",Query->FieldValues["GoodsUnitCode"]);
// SetDetailValue("SodConv",1);
}
}
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodSptCode()
{
/* AnsiString m_SodSptCode;
AnsiString b_SodSptCode;
m_SodSptCode=ReturnNeedValue(GetDetailValue("SodSptCode"),"");
b_SodSptCode=ReturnNeedValue(GetDetailOldValue("SodSptCode"),"");
if(m_SodSptCode.IsEmpty())
throw Exception("价格类型不能为空");
if(m_SodSptCode.Length()>18)
throw Exception("价格类型长度不能大于18");
if(m_SodSptCode.IsEmpty()==false && m_SodSptCode!=b_SodSptCode)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select sptcode from sdspt where sptcode='"+m_SodSptCode+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("价格类型代码:"+m_SodSptCode+"未定义");
}
Query->Close();
}
*/}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodQty()
{
double m_SodQty;
m_SodQty=GetDetailValue("SodQty");
AnsiString m_SodGoods=ReturnNeedValue(GetDetailValue("SodGoods"),0);
if(m_SodQty<=0)
throw Exception("销售订单行的数量不能小于等于零.");
if(m_SodGoods.IsEmpty())
throw Exception("销售物料不能为空");
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodPrice()
{
double m_SodPrice;
AnsiString m_SodGoods=ReturnNeedValue(GetDetailValue("SodGoods"),"");
m_SodPrice=ReturnNeedValue(GetDetailValue("SodPrice"),0);
if(m_SodPrice<0)
throw Exception("销售订单行的单价不能小于零.");
if(m_SodGoods.IsEmpty())
throw Exception("销售物料不能为空");
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodAmt()
{
double m_SodAmt;
m_SodAmt=ReturnNeedValue(GetDetailValue("SodAmt"),0);
if(m_SodAmt<=0)
throw Exception("销售金额不能小于零");
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodTaxAmt()
{
double m_SodTaxAmt;
m_SodTaxAmt=ReturnNeedValue(GetDetailValue("SodTaxAmt"),-1);
if(m_SodTaxAmt<0)
throw Exception("销售税额不能小于零");
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodDisc()
{
double m_SodDisc;
m_SodDisc=ReturnNeedValue(GetDetailValue("SodDisc"),-1);
if(m_SodDisc<0||m_SodDisc>1)
throw Exception("折扣率应该在[0,1]之间");
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodDAmt()
{
double m_SodDAmt;
m_SodDAmt=ReturnNeedValue(GetDetailValue("SodDAmt"),-1);
if(m_SodDAmt<0)
throw Exception("折扣额不能小于零");
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodDesc()
{
AnsiString m_SodDesc;
AnsiString b_SodDesc;
m_SodDesc=ReturnNeedValue(GetDetailValue("SodDesc"),"");
b_SodDesc=ReturnNeedValue(GetDetailOldValue("SodDesc"),"");
if(m_SodDesc.Length()>40)
throw Exception("备注长度不能大于40");
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodSendDate()
{
AnsiString m_SodSendDate;
m_SodSendDate=ReturnNeedValue(GetDetailValue("SodSendDate"),"");
if(m_SodSendDate.IsEmpty())
throw Exception("预计发货日不能为空");
if(StrToDate(m_SodSendDate)<StrToDate(GetMasterValue("SohDate")))
throw Exception("预计发货日期不能小于开单日期");
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodRecDate()
{
AnsiString m_SodRecDate;
m_SodRecDate=ReturnNeedValue(GetDetailValue("SodRecDate"),"");
if(m_SodRecDate.IsEmpty())
throw Exception("交货日期不能为空");
if(StrToDate(m_SodRecDate)<StrToDate(GetMasterValue("SohDate")))
throw Exception("交货日期不能小于开单日期");
if(StrToDate(m_SodRecDate)<StrToDate(GetDetailValue("SodSendDate")))
throw Exception("交货日期不能小于预计发货日期");
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodSQty()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodPQty()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodBQty()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodFQty()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodEQty()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodPoCode()
{
AnsiString m_SodPoCode;
AnsiString b_SodPoCode;
m_SodPoCode=ReturnNeedValue(GetDetailValue("SodPoCode"),"");
b_SodPoCode=ReturnNeedValue(GetDetailOldValue("SodPoCode"),"");
if(m_SodPoCode.Length()>18)
throw Exception("采购订单长度不能大于18");
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodState()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodClose()
{
/* int m_SodClose;
m_SodClose=GetDetailValue("SodClose");
if(m_SodClose!=0 && m_SodClose!=1)
throw Exception("结清标志只能取值0-未结清 1-已结清");*/
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::ValidSodCloseDate()
{
/* AnsiString m_SodCloseDate;
int m_SodClose=GetDetailValue("SodClose");
m_SodCloseDate=GetDetailValue("SodCloseDate");
if(m_SodClose==1)
{
if(m_SodCloseDate.IsEmpty())
throw Exception("结清日期不能为空");
}*/
}
//---------------------------------------------------------------------------
void __fastcall TKSSoh::CmdExec(AnsiString Param)
{
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -