📄 msquote.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "mSquote.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
TKSSquote *sdSquote;
//---------------------------------------------------------------------------
__fastcall TKSSquote::TKSSquote()
:TKSMidBase()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSquote::ValidMasterField(int FieldNo)
{
switch(FieldNo)
{
case 1: //客户编码
ValidSquoteClient();
break;
case 2: //币种
ValidSquoteCurrency();
break;
case 3: //产品编码
ValidSquoteGoods();
break;
case 4: //计量单位
ValidSquoteUnit();
break;
case 5: //启用日期
ValidSquoteSdate();
break;
case 6: //停用日期
ValidSquoteEdate();
break;
case 7: //价格类型
ValidSquoteSpt();
break;
case 8: //备注
ValidSquoteDesc();
break;
case 9: //操作员
ValidSquoteUser();
break;
case 11: //数量段一
ValidSquoteQty1();
break;
case 12: //单价一
ValidSquotePrice1();
break;
case 13: //折扣一
ValidSquoteRebate1();
break;
case 14: //数量段2
ValidSquoteQty2();
break;
case 15: //单价2
ValidSquotePrice2();
break;
case 16: //折扣2
ValidSquoteRebate2();
break;
case 17: //数量段3
ValidSquoteQty3();
break;
case 18: //单价3
ValidSquotePrice3();
break;
case 19: //折扣3
ValidSquoteRebate3();
break;
case 20: //数量段4
ValidSquoteQty4();
break;
case 21: //价格段4
ValidSquotePrice4();
break;
case 22: //折扣4
ValidSquoteRebate4();
break;
case 23: //数量段5
ValidSquoteQty5();
break;
case 24: //价格段5
ValidSquotePrice5();
break;
case 25: //折扣5
ValidSquoteRebate5();
break;
case 26: //数量段6
ValidSquoteQty6();
break;
case 27: //价格段6
ValidSquotePrice6();
break;
case 28: //折扣6
ValidSquoteRebate6();
break;
case 29: //数量段7
ValidSquoteQty7();
break;
case 30: //价格段7
ValidSquotePrice7();
break;
case 31: //折扣7
ValidSquoteRebate7();
break;
case 32: //数量段8
ValidSquoteQty8();
break;
case 33: //价格8
ValidSquotePrice8();
break;
case 34: //折扣8
ValidSquoteRebate8();
break;
case 35: //数量段9
ValidSquoteQty9();
break;
case 36: //价格9
ValidSquotePrice9();
break;
case 37: //折扣9
ValidSquoteRebate9();
break;
case 38: //数量段10
ValidSquoteQty10();
break;
case 39: //价格10
ValidSquotePrice10();
break;
case 40: //折扣10
ValidSquoteRebate10();
break;
}
}
//---------------------------------------------------------------------------
void __fastcall TKSSquote::ValidSquoteClient() //客户编码
{ /*/
AnsiString m_SquoteClient;
AnsiString b_SquoteClient;
m_SquoteClient=GetMasterValue("SquoteClient");
b_SquoteClient=GetMasterOldValue("SquoteClient");
if(m_SquoteClient.IsEmpty())
throw Exception("客户代码不能为空");
if(m_SquoteClient.Length()>18)
throw Exception("客户编码长度不能大于18");
if(m_SquoteClient!=b_SquoteClient)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("SELECT ClientCODE FROM SDClient WHERE ClientCODE='" +m_SquoteClient+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("客户编码'"+m_SquoteClient+"'不存在");
}
Query->Close();
} /*/
}
//---------------------------------------------------------------------------
void __fastcall TKSSquote::ValidSquoteCurrency() //币种
{ /*/
AnsiString m_SquoteCurrency;
AnsiString b_SquoteCurrency;
m_SquoteCurrency=GetMasterValue("SquoteCurrency");
b_SquoteCurrency=GetMasterOldValue("SquoteCurrency");
if(m_SquoteCurrency.IsEmpty())
throw Exception("交易币种不能为空");
if(m_SquoteCurrency.Length()>18)
throw Exception("不能大于18");
if(m_SquoteCurrency!=b_SquoteCurrency)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("SELECT CurrencyCODE FROM SDCurrency WHERE CurrencyCode='"+m_SquoteCurrency+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("币种未定义");
}
} /*/
}
//---------------------------------------------------------------------------
void __fastcall TKSSquote::ValidSquoteGoods() //产品编码
{
AnsiString m_SquoteGoods;
AnsiString b_SquoteGoods;
m_SquoteGoods=GetMasterValue("SquoteGoods");
b_SquoteGoods=GetMasterOldValue("SquoteGoods");
if(m_SquoteGoods.IsEmpty())
throw Exception("物料编码不能为空");
if(m_SquoteGoods.Length()>18)
throw Exception("物料编码长度不能大于18");
if(m_SquoteGoods!=b_SquoteGoods)
{
/* Query->Close();
Query->SQL->Clear();
Query->SQL->Add("SELECT SgdGoodsCODE FROM SDSgd WHERE SgdGoodsCODE='" +m_SquoteGoods+"' and SgdClientCode='"+m_SquoteClient+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("客户无此物料,先到客户货物里定义");
} */
// if(CurStatus==2||CurStatus==4)
// {
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("SELECT SquoteGoods FROM sdSquote WHERE SquoteClient='"+GetMasterValue("SquoteClient")+"' and SquoteGoods='"+GetMasterValue("SquoteGoods")+"' and SquoteCurrency='"+GetMasterValue("SquoteCurrency")+"'");
Query->Open();
if(Query->RecordCount>0)
{
Query->Close();
throw Exception("客户"+GetMasterValue("SquoteClient")+"物料"+GetMasterValue("SquoteGoods")+"币种为:"+GetMasterValue("SquoteCurrency")+"已有报价");
}
// }
Query->Close();
}
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("SELECT GoodsUnitCode,GoodsCancel,GoodsSale FROM SdGoods WHERE GoodsCODE='" +GetMasterValue("SquoteGoods")+"'");
Query->Open();
if(Query->RecordCount>0)
{
if(Query->FieldValues["GoodsCancel"]==1)
{
Query->Close();
throw Exception("物料编码"+GetMasterValue("SquoteGoods")+"已取消");
}
if(Query->FieldValues["GoodsSale"]!=1)
{
Query->Close();
throw Exception("物料编码"+GetMasterValue("SquoteGoods")+"不可销售");
}
// SetMasterValue("SquoteUnit",Query->FieldValues["GoodsUnitCode"]);
Query->Close();
}
else
throw Exception("物料编码"+GetMasterValue("SquoteGoods")+"不存在");
}
//---------------------------------------------------------------------------
void __fastcall TKSSquote::ValidSquoteUnit() //计量单位
{ /*/
AnsiString m_SquoteUnit;
AnsiString b_SquoteUnit;
m_SquoteUnit=GetMasterValue("SquoteUnit");
b_SquoteUnit=GetMasterOldValue("SquoteUnit");
if(m_SquoteUnit.IsEmpty())
throw Exception("计量单位不能为空");
if(m_SquoteUnit.Length()>18)
throw Exception("不能大于18");
if(m_SquoteUnit!=b_SquoteUnit)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("SELECT UnitCode FROM sdUnit WHERE UnitCode='"+m_SquoteUnit+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("计量单位未定义");
}
Query->Close();
} /*/
}
//---------------------------------------------------------------------------
void __fastcall TKSSquote::ValidSquoteSdate() //启用日期
{
AnsiString m_SquoteSdate;
m_SquoteSdate=GetMasterValue("SquoteSdate");
if(m_SquoteSdate.IsEmpty())
throw Exception("生效日期不能为空!");
/* if(m_SquoteSysDate.IsEmpty())
{
throw Exception("生效日期不能小于制单日期");
}
else
{
throw Exception("生效日期不能小于制单日期");
}*/
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -