📄 madjinvh.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "mAdjInvh.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
TKSAdjInvh *sdAdjInvh;
//---------------------------------------------------------------------------
__fastcall TKSAdjInvh::TKSAdjInvh()
:TKSMidBase()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSAdjInvh::ValidHeadValues()
{
AnsiString m_AdjInvhCode;
AnsiString b_AdjInvhCode;
m_AdjInvhCode=GetMasterValue("AdjInvhCode");
b_AdjInvhCode=GetMasterOldValue("AdjInvhCode");
if(m_AdjInvhCode.IsEmpty())
throw Exception("调整单编码不能为空!");
if(m_AdjInvhCode.Length()>18)
throw Exception("调整单号长度不能大于18");
if(m_AdjInvhCode.UpperCase() != b_AdjInvhCode.UpperCase())
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("SELECT AdjInvhCODE FROM SDAdjInvh WHERE AdjInvhCODE='" +m_AdjInvhCode+"'");
Query->Open();
if(Query->RecordCount>0)
{
Query->Close();
throw Exception("调整单号'"+m_AdjInvhCode+"'已存在");
}
Query->Close();
}
AnsiString m_AdjInvhDate;
m_AdjInvhDate=GetMasterValue("AdjInvhDate");
if(m_AdjInvhDate.IsEmpty())
throw Exception("调整日期不能为空");
AnsiString m_AdjInvhFmonth;
m_AdjInvhFmonth=GetMasterValue("AdjInvhFmonth");
if(m_AdjInvhFmonth.IsEmpty())
throw Exception("财务月份不能为空");
int m_AdjInvhType;
m_AdjInvhType=GetMasterValue("AdjInvhType");
if(m_AdjInvhType!=1 && m_AdjInvhType!=2)
throw Exception("调整类型只能为1-据盘点单调整,2-直接调整");
AnsiString m_AdjInvhDesc;
m_AdjInvhDesc=GetMasterValue("AdjInvhDesc");
int m_AdjInvhCheck;
m_AdjInvhCheck=GetMasterValue("AdjInvhCheck");
if(m_AdjInvhCheck!=0 && m_AdjInvhCheck!=1)
throw Exception("审核标志只能取值0-未审核1-已审");
AnsiString m_AdjInvhSysDate;
m_AdjInvhSysDate=GetMasterValue("AdjInvhSysDate");
}
//---------------------------------------------------------------------------
void __fastcall TKSAdjInvh::ValidItemValues()
{
AnsiString m_AdjInvdCode;
m_AdjInvdCode=GetDetailValue("AdjInvdCode");
if(m_AdjInvdCode.IsEmpty())
throw Exception("调整单号不能为空!");
if(m_AdjInvdCode.Length()>18)
throw Exception("调整单号长度不能大于18");
int m_AdjInvdLine;
int b_AdjInvdLine;
m_AdjInvdLine=GetDetailValue("AdjInvdLine");
b_AdjInvdLine=GetDetailOldValue("AdjInvdLine");
if(m_AdjInvdLine<=0)
throw Exception("调整单行号不能小于等于零");
AnsiString m_AdjInvdTsCode;
AnsiString b_AdjInvdTsCode;
m_AdjInvdTsCode=GetDetailValue("AdjInvdTsCode");
b_AdjInvdTsCode=GetDetailOldValue("AdjInvdTsCode");
if(m_AdjInvdTsCode.Length()>18)
throw Exception("盘点单号长度不能大于18");
if(m_AdjInvdTsCode.IsEmpty() == false && m_AdjInvdTsCode!=b_AdjInvdTsCode)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select TshCode from sdTsh where TshCheck=1 and TshCode='"+m_AdjInvdTsCode+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("盘点单:"+m_AdjInvdTsCode+"未定义或尚未生效");
}
Query->Close();
}
int m_AdjInvdTKSLine;
int b_AdjInvdTKSLine;
m_AdjInvdTKSLine=GetDetailValue("AdjInvdTsdLine");
b_AdjInvdTKSLine=GetDetailOldValue("AdjInvdTsdLine");
//AnsiString m_AdjInvdTsCode;
m_AdjInvdTsCode=GetDetailValue("AdjInvdTsCode");
if(m_AdjInvdTKSLine < 0)
throw Exception("盘点行号不能小于零");
if(m_AdjInvdTsCode.IsEmpty() == false && m_AdjInvdTKSLine!=b_AdjInvdTKSLine)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("select TsdLine from sdTsd where TsdCode='"+m_AdjInvdTsCode+"' and TsdLine='"+AnsiString(m_AdjInvdTKSLine)+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("盘点行号:"+AnsiString(m_AdjInvdTKSLine)+"未定义");
}
Query->Close();
}
AnsiString m_AdjInvdLoc;
AnsiString b_AdjInvdLoc;
m_AdjInvdLoc=GetDetailValue("AdjInvdLoc");
b_AdjInvdLoc=GetDetailOldValue("AdjInvdLoc");
if(m_AdjInvdLoc.IsEmpty())
throw Exception("调整货位不能为空");
if(m_AdjInvdLoc.Length()>18)
throw Exception("调整货位编码长度不能大于18");
AnsiString m_AdjInvdGoods;
AnsiString b_AdjInvdGoods;
m_AdjInvdGoods=GetDetailValue("AdjInvdGoods");
b_AdjInvdGoods=GetDetailOldValue("AdjInvdGoods");
//AnsiString m_AdjInvdLoc;
m_AdjInvdLoc=GetDetailValue("AdjInvdLoc");
if(m_AdjInvdLoc.IsEmpty())
throw Exception("调整货位不能为空");
if(m_AdjInvdGoods.IsEmpty())
throw Exception("物料编码不能为空");
if(m_AdjInvdGoods.Length()>18)
throw Exception("物料编码长度不能大于18");
if(m_AdjInvdGoods!=b_AdjInvdGoods)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add(" select goodscode from sdgoods,sdlg where lgstate=1 and goodscode=lggoodscode and ");
Query->SQL->Add(" goodscode='"+m_AdjInvdGoods+"' and lgloccode='"+m_AdjInvdLoc+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("物料编码:"+m_AdjInvdGoods+"无效,或货位:"+m_AdjInvdLoc+"未定义该物料");
}
Query->Close();
}
AnsiString m_AdjInvdUnit;
AnsiString b_AdjInvdUnit;
m_AdjInvdUnit=GetDetailValue("AdjInvdUnit");
b_AdjInvdUnit=GetDetailOldValue("AdjInvdUnit");
if(m_AdjInvdUnit.IsEmpty())
throw Exception("计量单位不能为空");
if(m_AdjInvdUnit.Length()>18)
throw Exception("计量单位长度不能大于18");
Query->Close();
Query->SQL->Clear();
if(m_AdjInvdUnit!=b_AdjInvdUnit)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("Select Unitcode from sdUnit where Unitcode='"+m_AdjInvdUnit+"'");
Query->Open();
if(Query->RecordCount<=0)
{
Query->Close();
throw Exception("计量单位:"+m_AdjInvdUnit+"不存在");
}
Query->Close();
}
double m_AdjInvdQty;
m_AdjInvdQty=GetDetailValue("AdjInvdQty");
int m_AdjInvdState;
m_AdjInvdState=GetDetailValue("AdjInvdState");
AnsiString m_AdjInvdDesc;
m_AdjInvdDesc=GetDetailValue("AdjInvdDesc");
}
//---------------------------------------------------------------------------
void __fastcall TKSAdjInvh::CmdExec(AnsiString Param)
{
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -