📄 mfadn.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "mFadn.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
TKSFadn *sdFadn;
//---------------------------------------------------------------------------
__fastcall TKSFadn::TKSFadn()
:TKSMidBase()
{
}
//---------------------------------------------------------------------------
void __fastcall TKSFadn::ValidHeadValues()
{
AnsiString m_FadnCode;
AnsiString b_FadnCode;
m_FadnCode=GetMasterValue("FadnCode");
b_FadnCode=GetMasterOldValue("FadnCode");
if(m_FadnCode.IsEmpty())
throw Exception("设备编码不能为空");
if(m_FadnCode.Length()>18)
throw Exception("设备编码长度不能大于18");
AnsiString m_FadnName;
m_FadnName=GetMasterValue("FadnName");
if (m_FadnName.IsEmpty())
throw Exception("设备名称不能为空");
if(m_FadnName.Length()>20)
throw Exception("设备名称长度不能大于20");
AnsiString m_FadnDesc;
m_FadnDesc=GetMasterValue("FadnDesc");
if(m_FadnDesc.Length()>40)
throw Exception("备注长度不能大于40");
AnsiString m_FadnFat;
AnsiString b_FadnFat;
m_FadnFat=GetMasterValue("FadnFat");
b_FadnFat=GetMasterOldValue("FadnFat");
if (m_FadnFat.IsEmpty())
throw Exception("设备类型编码不能为空");
if(m_FadnFat.Length()>18)
throw Exception("设备类型编码长度不能超过18");
AnsiString m_FadnUnit;
AnsiString b_FadnUnit;
m_FadnUnit=GetMasterValue("FadnUnit");
b_FadnUnit=GetMasterOldValue("FadnUnit");
if (m_FadnUnit.IsEmpty())
throw Exception("计量单位编码不能为空");
if(m_FadnUnit.Length()>18)
throw Exception("计量单位编码长度不能超过18");
AnsiString m_FadnDate;
m_FadnDate=GetMasterValue("FadnDate");
if (m_FadnDate.IsEmpty())
throw Exception("入帐日期不能为空");
if(m_FadnDate.Length()>10)
throw Exception("入帐日期长度不能超过10");
AnsiString m_FadnFmonth;
m_FadnFmonth=GetMasterValue("FadnFmonth");
if (m_FadnFmonth.IsEmpty())
throw Exception("财务月份不能为空");
if(m_FadnFmonth.Length()>6)
throw Exception("财务月份长度不能超过6");
AnsiString m_FadnFaUse;
AnsiString b_FadnFaUse;
m_FadnFaUse=GetMasterValue("FadnFaUse");
b_FadnFaUse=GetMasterOldValue("FadnFaUse");
if (m_FadnFaUse.IsEmpty())
throw Exception("使用状态编码不能为空");
if(m_FadnFaUse.Length()>18)
throw Exception("使用状态编码长度不能超过18");
AnsiString m_FadnAddr;
m_FadnAddr=GetMasterValue("FadnAddr");
if(m_FadnAddr.Length()>40)
throw Exception("存放地点长度不能超过40");
int m_FadnEuse;
m_FadnEuse=GetMasterValue("FadnEuse");
if(m_FadnEuse!=1&&m_FadnEuse!=2)
throw Exception("济济用途只能取: 1 -经营用固定资产, 2-非经营用固定资产");
AnsiString m_FadnFav;
m_FadnFav=GetMasterValue("FadnFav");
if(m_FadnFav.Length()>18)
throw Exception("变动方式长度不能超过18");
AnsiString m_FadnModel;
m_FadnModel=GetMasterValue("FadnModel");
if(m_FadnModel.Length()>18)
throw Exception("规格型号长度不能超过18");
AnsiString m_FadnSupply;
AnsiString b_FadnSupply;
m_FadnSupply=GetMasterValue("FadnSupply");
b_FadnSupply=GetMasterOldValue("FadnSupply");
if(m_FadnSupply.Length()>18)
throw Exception("供应商编码长度不能超过18");
if (m_FadnSupply!=b_FadnSupply)
{
Query->Close();
Query->SQL->Clear();
Query->SQL->Add("SELECT supplycode FROM sdsupply where SupplyCancel=0 and supplycode='"+m_FadnSupply+"'");
Query->Open();
if(Query->RecordCount<1 )
{
Query->Close();
throw Exception("供应商编码'" +m_FadnSupply+"'未定义或已停用");
}
Query->Close();
}
AnsiString m_FadnFactory;
m_FadnFactory=GetMasterValue("FadnFactory");
if(m_FadnFactory.Length()>40)
throw Exception("制造商长度不能超过40");
AnsiString m_FadnArea;
m_FadnArea=GetMasterValue("FadnArea");
if(m_FadnArea.Length()>40)
throw Exception("产地长度不能超过40");
AnsiString m_FadnOfDate;
m_FadnOfDate=GetMasterValue("FadnOfDate");
m_FadnDate=GetMasterValue("FadnDate");
if (m_FadnOfDate.IsEmpty())
throw Exception("出产日期不能为空");
if(m_FadnOfDate.Length()>10)
throw Exception("出产日期长度不能超过10");
if(StrToDate(m_FadnOfDate)<StrToDate(m_FadnDate))
throw Exception("入帐日期不能早于出产日期");
AnsiString m_FadnDept;
AnsiString b_FadnDept;
m_FadnDept=GetMasterValue("FadnDept");
b_FadnDept=GetMasterOldValue("FadnDept");
if (m_FadnDept.IsEmpty())
throw Exception("所属部门编码不能为空");
if(m_FadnDept.Length()>18)
throw Exception("所属部门编码长度不能超过18");
AnsiString m_FadnCurrency;
AnsiString b_FadnCurrency;
m_FadnCurrency=GetMasterValue("FadnCurrency");
b_FadnCurrency=GetMasterOldValue("FadnCurrency");
if(m_FadnCurrency.Length()>18)
throw Exception("币种代码长度不能超过18");
double m_FadnERate;
m_FadnERate=GetMasterValue("FadnERate");
if(m_FadnERate<=0)
throw Exception("汇率不能小于等于零");
double m_FadnOVal;
m_FadnOVal=GetMasterValue("FadnOVal");
if(m_FadnOVal<0)
throw Exception("本币原值不能小于零");
double m_FadnWbOVal;
m_FadnWbOVal=GetMasterValue("FadnWbOVal");
if(m_FadnWbOVal<0)
throw Exception("外币原值不能小于零");
double m_FadnPVal;
m_FadnPVal=GetMasterValue("FadnPVal");
m_FadnOVal=GetMasterValue("FadnOVal");
if(m_FadnPVal<0)
throw Exception("最初原值不能小于零");
if(m_FadnOVal>m_FadnPVal)
throw Exception("本币原值不能大于最初原值");
double m_FadnEVal;
m_FadnEVal=GetMasterValue("FadnEVal");
if(m_FadnEVal<0)
throw Exception("预计残值不能小于零");
double m_FadnCVal;
m_FadnCVal=GetMasterValue("FadnCVal");
if(m_FadnCVal<0)
throw Exception("预计清理费用不能小于零");
double m_FadnDVal;
m_FadnDVal=GetMasterValue("FadnDVal");
m_FadnPVal=GetMasterValue("FadnPVal");
m_FadnEVal=GetMasterValue("FadnEVal");
if(m_FadnDVal<0)
throw Exception("累计折旧不能小于零");
if(m_FadnDVal>m_FadnPVal-m_FadnEVal)
throw Exception("累计折旧不能大于最初原值减预计净残值");
double m_FadnBVal;
m_FadnBVal=GetMasterValue("FadnBVal");
m_FadnDVal=GetMasterValue("FadnDVal");
if(m_FadnBVal<0)
throw Exception("入帐前累计折旧不能小于零");
if(m_FadnBVal>m_FadnDVal)
throw Exception("入帐前累计折旧不能大于累计折旧");
double m_FadnTWork;
m_FadnTWork=GetMasterValue("FadnTWork");
if(m_FadnTWork<0)
throw Exception("总工作量不能小于零");
double m_FadnAWork;
m_FadnAWork=GetMasterValue("FadnAWork");
if(m_FadnAWork<0)
throw Exception("累计工作量不能小于零");
double m_FadnBWork;
m_FadnBWork=GetMasterValue("FadnBWork");
if(m_FadnBWork<0)
throw Exception("入帐前累计工作量不能小于零");
int m_FadnPeriod;
m_FadnPeriod=GetMasterValue("FadnPeriod");
if(m_FadnPeriod<0)
throw Exception("使用期限不能小于零");
int m_FadnAPeriod;
m_FadnAPeriod=GetMasterValue("FadnAPeriod");
if(m_FadnAPeriod<0)
throw Exception("累计使用期限不能小于零。");
int m_FadnBPeriod;
m_FadnBPeriod=GetMasterValue("FadnBPeriod");
if(m_FadnBPeriod<0)
throw Exception("入帐前累计使用期限不能小于零。");
AnsiString m_FadnFadm;
AnsiString b_FadnFadm;
m_FadnFadm=GetMasterValue("FadnFadm");
b_FadnFadm=GetMasterOldValue("FadnFadm");
if (m_FadnFadm.IsEmpty())
throw Exception("折旧方法编码不能为空!");
if(m_FadnFadm.Length()>18)
throw Exception("折旧方法编码长度不能超过18。");
m_FadnAWork=GetMasterValue("FadnAWork");
m_FadnTWork=GetMasterValue("FadnTWork");
m_FadnBWork=GetMasterValue("FadnBWork");
m_FadnAPeriod=GetMasterValue("FadnAPeriod");
m_FadnPeriod=GetMasterValue("FadnPeriod");
m_FadnBPeriod=GetMasterValue("FadnBPeriod");
if(m_FadnFadm=="101")
{
if(m_FadnAWork>m_FadnTWork)
throw Exception("累计工作量不能大于总工作量");
if(m_FadnBWork>m_FadnAWork)
throw Exception("入帐前累计工作量不能大于累计工作量");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -