📄 msrewh.cpp
字号:
case 2:
ValidSrewdCode();
break;
case 3:
ValidSrewdSretCode();
break;
case 4:
ValidSrewdSretdLine();
break;
case 5:
ValidSrewdGoods();
break;
case 6:
ValidSrewdUnit();
break;
case 7:
ValidSrewdConv();
break;
case 8:
ValidSrewdQty();
break;
case 9:
ValidSrewdPrice();
break;
case 10:
ValidSrewdAmt();
break;
case 11:
ValidSrewdDesc();
break;
case 12:
ValidSrewdState();
break;
case 13:
ValidSrewdBatch();
break;
case 14:
ValidSrewdExes();
break;
case 15:
ValidSrewdLoc();
break;
}
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdLine()
{
int m_SrewdLine;
m_SrewdLine=GetDetailValue("SrewdLine");
if(m_SrewdLine<=0)
throw Exception("行号不能小于零!");
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdCode()
{
AnsiString m_SrewdCode;
m_SrewdCode=GetDetailValue("SrewdCode");
if(m_SrewdCode.IsEmpty())
throw Exception("返修单号不能为空!!!");
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdSretCode()
{ /*/
AnsiString m_SrewdSretCode;
AnsiString b_SrewdSretCode;
m_SrewdSretCode=GetDetailValue("SrewdSretCode");
b_SrewdSretCode=GetDetailOldValue("SrewdSretCode");
if(m_SrewdSretCode.IsEmpty())
throw Exception("退货单号不能为空");
if(m_SrewdSretCode!=b_SrewdSretCode)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select * from sdSreth where SrethCode='"+m_SrewdSretCode+"'");
Query->Open();
if(Query->RecordCount<1)
{
Query->Close();
throw Exception("该退货单"+m_SrewdSretCode+"找不到");
}
Query->Close();
} /*/
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdSretdLine()
{
int m_SrewdSretdLine;
int b_SrewdSretdLine;
AnsiString m_SrewdSretCode=GetDetailValue("SrewdSretCode");
m_SrewdSretdLine=GetDetailValue("SrewdSretdLine");
b_SrewdSretdLine=GetDetailOldValue("SrewdSretdLine");
if(m_SrewdSretdLine<0)
throw Exception("退货单行号需大于零");
if(m_SrewdSretCode.IsEmpty())
throw Exception("退货单号不能为空");
if(m_SrewdSretdLine!=b_SrewdSretdLine)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select SretdGoods,SretdUnit,SretdConv,SretdPrice,SretdLoc from sdSretd where SretdLine="+IntToStr(m_SrewdSretdLine)+" and SretdCode='"+GetDetailValue("SrewdSretCode")+"'");
Query->Open();
if(Query->RecordCount>0)
{
// m_SrewdGoods=Query->FieldValues["SretdGoods"];
// m_SrewdUnit=Query->FieldValues["SretdUnit"];
// m_SrewdConv=Query->FieldValues["SretdConv"];
// m_SrewdPrice=Query->FieldValues["SretdPrice"];
// m_SrewdLoc=Query->FieldValues["SretdLoc"];
}
else
throw Exception("退货单"+GetDetailValue("SrewdSretCode")+"单行号"+IntToStr(m_SrewdSretdLine)+"不存在!");
}
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdGoods()
{ /*/
AnsiString m_SrewdGoods;
AnsiString b_SrewdGoods;
m_SrewdGoods=GetDetailValue("SrewdGoods");
b_SrewdGoods=GetDetailOldValue("SrewdGoods");
if(m_SrewdGoods.IsEmpty())
throw Exception("返修单的货物编码不能为空!!!");
if(m_SrewdGoods!=b_SrewdGoods)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select GoodsName,GoodsUnitCode from sdGoods where GoodsCode='"+m_SrewdGoods+"'");
Query->Open();
if(Query->RecordCount<1)
{
Query->Close();
throw Exception("货物编码:'"+m_SrewdGoods+"' 不存在!!!");
}
} /*/
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdUnit()
{ /*/
AnsiString m_SrewdUnit;
AnsiString b_SrewdUnit;
AnsiString m_SrewdGoods=GetDetailValue("SrewdGoods");
m_SrewdUnit=GetDetailValue("SrewdUnit");
b_SrewdUnit=GetDetailOldValue("SrewdUnit");
if(m_SrewdUnit.IsEmpty())
throw Exception("计量单位不能为空!");
if(m_SrewdGoods.IsEmpty())
throw Exception("返修物料不能为空");
if(m_SrewdUnit!=b_SrewdUnit)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select gmuunit,gmuconv from sdgmu where gmuunit='"+m_SrewdUnit+"' and gmugoods='"+GetDetailValue("SrewdGoods")+"'");
Query->Open();
if(Query->RecordCount<1)
{
Query->Close();
throw Exception("物料:"+GetDetailValue("SrewdGoods")+" 未定义计量单位:"+m_SrewdUnit);
}
// SetDetailValue("SrewdConv",Query->FieldValues["gmuconv"]);
Query->Close();
} /*/
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdConv()
{
double m_SrewdConv;
m_SrewdConv=GetDetailValue("SrewdConv");
if(m_SrewdConv<0)
throw Exception("换算系数非法!");
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdQty()
{
double m_SrewdQty;
double b_SrewdQty;
AnsiString m_SrewdGoods=GetDetailValue("SrewdGoods");
AnsiString m_SrewdSretCode=GetDetailValue("SrewdSretCode");
int m_SrewdSretdLine=GetDetailValue("SrewdSretdLine");
m_SrewdQty=GetDetailValue("SrewdQty");
b_SrewdQty=GetDetailOldValue("SrewdQty");
if(m_SrewdQty<=0)
throw Exception("返修数量需大于零!");
if(m_SrewdGoods.IsEmpty())
throw Exception("返修物料不能为空!");
if(m_SrewdSretCode.IsEmpty())
throw Exception("退货单号不能为空!");
if(m_SrewdSretdLine<1)
throw Exception("退货单行号不存在");
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select SretdQty,SretdFQty from sdSretd where SretdCode='"+m_SrewdSretCode+"' and SretdLine="+IntToStr(m_SrewdSretdLine));
Query->Open();
if(Query->RecordCount>0)
{ //DONE: BUG 733 FIXED 9-8
if(Query->FieldValues["SretdQty"]-Query->FieldValues["SretdFQty"]+b_SrewdQty<m_SrewdQty)
{ //~~~~~~~~~~~
Query->Close();
throw Exception("返修数量不能大于退货数量!");
}
}
else
{
Query->Close();
throw Exception("该退货明细找不到");
}
Query->Close();
}
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdPrice()
{
double m_SrewdPrice;
m_SrewdPrice=GetDetailValue("SrewdPrice");
if(m_SrewdPrice<0)
throw Exception("价格非法!");
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdAmt()
{
double m_SrewdAmt;
m_SrewdAmt=GetDetailValue("SrewdAmt");
if(m_SrewdAmt<0)
throw Exception("金额不能小于零");
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdDesc()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdState()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdBatch()
{
AnsiString m_SrewdBatch;
AnsiString b_SrewdBatch;
AnsiString m_SrewdGoods=GetDetailValue("SrewdGoods");
m_SrewdBatch=GetDetailValue("SrewdBatch");
b_SrewdBatch=GetDetailOldValue("SrewdBatch");
if(m_SrewdBatch.Length()>18)
throw Exception("批号长度不能大于18");
if(m_SrewdGoods.IsEmpty())
throw Exception("返修物料不能为空");
if(m_SrewdBatch.IsEmpty()==false && m_SrewdBatch!=b_SrewdBatch)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select GoodsBatch from sdgoods where goodscode='"+m_SrewdGoods+"'");
Query->Open();
if(Query->RecordCount<1)
{
Query->Close();
throw Exception("返修物料不存在");
}
else
{
if(Query->FieldValues["GoodsBatch"]!=1)
{
Query->Close();
throw Exception("当前物料不能进行批号管理");
}
}
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select batchcode from sdbatch where batchcode='"+m_SrewdBatch+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("批号:"+m_SrewdBatch+"未定义");
}
Query->Close();
}
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdExes()
{
double m_SrewdExes;
m_SrewdExes=GetDetailValue("SrewdExes");
if(m_SrewdExes<0)
throw Exception("返修费用不能小于零");
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::ValidSrewdLoc()
{
AnsiString m_SrewdLoc;
AnsiString b_SrewdLoc;
AnsiString m_SrewdGoods=GetDetailValue("SrewdGoods");
m_SrewdLoc=GetDetailValue("SrewdLoc");
b_SrewdLoc=GetDetailOldValue("SrewdLoc");
if(m_SrewdLoc.IsEmpty())
throw Exception("返修货位不能为空!");
if(m_SrewdGoods.IsEmpty())
throw Exception("返修物料不能为空");
if(m_SrewdLoc!=b_SrewdLoc)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select loccode from sdLoc,sdLg where loccode=lgloccode and loccode='"+m_SrewdLoc+"' and lggoodscode='"+GetDetailValue("SrewdGoods")+"'");
Query->Open();
if(Query->RecordCount<1)
{
Query->Close();
throw Exception("货位:"+m_SrewdLoc+"不能存储物料:"+GetDetailValue("SrewdGoods"));
}
Query->Close();
}
}
//---------------------------------------------------------------------------
void __fastcall TKSSrewh::CmdExec(AnsiString Param)
{
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -