⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msquote.cpp

📁 科思ERP部分源码及控件
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//---------------------------------------------------------------------------

#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 + -