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

📄 supply.cpp

📁 科思ERP部分源码及控件
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Supply.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "RecBaseForm"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "DateEdit"
#pragma resource "*.dfm"
//-------------------------------------------------------------------------------
TfrmSupply *frmSupply;
//---------------------------------------------------------------------------
__fastcall TfrmSupply::TfrmSupply(TComponent* Owner, HWND chWnd, AnsiString MidCode,
AnsiString WhereStr)
        : TRecBaseForm(Owner,chWnd,MidCode,WhereStr)

{
}
//---------------------------------------------------------------------------
void __fastcall TfrmSupply::ClearControl(bool BringToNext)
{
  if (!BringToNext)
  {
    seSupplyCode->Text="";
    seSupplyName->Text="";
    seSupplyDesc->Text="";
    chkSupplyCancel->Checked=False;
    scSupplyType->Text="";
    scSupplyType->ItemIndex=-1;

    seSupplyLegalMan->Text="";
    seSupplyLinkMan->Text="";
    seSupplyAddr->Text="";
    seSupplyZip->Text="";
    seSupplyTel->Text="";
    seSupplyFax->Text="";
    seSupplyEmail->Text="";

    scSupplyCredit->Text="";
    scSupplyCredit->ItemIndex=-1;
    chkSupplyCancel->Checked=False;
    scSupplyTaxCode->Text="";
    scSupplyTaxCode->ItemIndex=-1;
    seSupplyTaxNo->Text="";
    scSupplyTrade->Text="";
    scSupplyTrade->ItemIndex=-1;
    scSupplyPmode->Text="";
    scSupplyPmode->ItemIndex=-1;
    scSupplyBuyer->Text="";
    scSupplyBuyer->ItemIndex=-1;

    // add 9 fields
    seSupplyFreq->Text="0";
    deSupplyCreateDate->Text=g_sdCurDate;
    deSupplyCancelDate->Text="";
    seSupplyApAmt->Text="0.0";
    seSupplyCreditTerm->Text="";
    deSupplyLtDate->Text=deSupplyLtDate->InitDate;
    seSupplyLtAmt->Text="0.0";
    deSupplyLpDate->Text=deSupplyLpDate->InitDate;
    seSupplyLpAmt->Text="0.0";

    deSupplyCancelDate->Date = deSupplyCancelDate->Date.CurrentDate();
  }
  SupplyInfo->ActivePage =BaseInfo;
}

//---------------------------------------------------------------------------

void __fastcall TfrmSupply::GetDataFromComObject()
{
  seSupplyCode->Text=GetFieldValue("SupplyCode");
  seSupplyName->Text=GetFieldValue("SupplyName");
  seSupplyDesc->Text=GetFieldValue("SupplyDesc");

  scSupplyType->LocateKey(GetFieldValue("SupplyType"));
  scSupplyType->Text=scSupplyType->ItemData[0];
  seSupplyLegalMan->Text=GetFieldValue("SupplyLegalman");
  seSupplyLinkMan->Text=GetFieldValue("SupplyLinkman");
  seSupplyAddr->Text=GetFieldValue("SupplyAddr");
  seSupplyZip->Text=GetFieldValue("SupplyZip");
  seSupplyTel->Text=GetFieldValue("SupplyTel");
  seSupplyFax->Text=GetFieldValue("SupplyFax");
  seSupplyEmail->Text=GetFieldValue("SupplyEmail");

  scSupplyCredit->Text=GetFieldValue("SupplyCredit");
  chkSupplyCancel->Checked=(GetFieldValue("SupplyCancel")==1);
  scSupplyTaxCode->LocateKey(GetFieldValue("SupplyTaxCode"));
  scSupplyTaxCode->Text=scSupplyTaxCode->ItemData[0];
  seSupplyTaxNo->Text=GetFieldValue("SupplyTaxNo");
  seSupplyArea->Text=GetFieldValue("SupplyArea");
  scSupplyTrade->LocateKey(GetFieldValue("SupplyTrade"));
  scSupplyTrade->Text=scSupplyTrade->ItemData[0];
  scSupplyPmode->LocateKey(GetFieldValue("SupplyPmode"));
  scSupplyPmode->Text=scSupplyPmode->ItemData[0];
  scSupplyBuyer->LocateKey(GetFieldValue("SupplyBuyer"));
  scSupplyBuyer->Text=scSupplyBuyer->ItemData[0];

  // add 9 fields
  seSupplyFreq->Text=GetFieldValue("SupplyFreq");
  deSupplyCreateDate->Text=GetFieldValue("SupplyCreateDate");
  deSupplyCancelDate->Text=GetFieldValue("SupplyCancelDate");
  seSupplyApAmt->Text=GetFieldValue("SupplyApAmt");
  seSupplyCreditTerm->Text=GetFieldValue("SupplyCreditTerm");
  deSupplyLtDate->Text=GetFieldValue("SupplyLtDate");
  seSupplyLtAmt->Text=GetFieldValue("SupplyLtAmt");
  deSupplyLpDate->Text=GetFieldValue("SupplyLpDate");
  seSupplyLpAmt->Text=GetFieldValue("SupplyLpAmt");
}

//---------------------------------------------------------------------------

void __fastcall TfrmSupply::SendDataToComObject()
{
  if(seSupplyCode->Text=="")
  throw Exception("供应商代码不能为空");
  //check data
  SetFieldValue("SupplyCode", seSupplyCode->Text);
  SetFieldValue("SupplyName", seSupplyName->Text);
  SetFieldValue("SupplyDesc", seSupplyDesc->Text);
  SetFieldValue("SupplyType", scSupplyType->ItemData[1]);
  SetFieldValue("SupplyLegalman", seSupplyLegalMan->Text);
  SetFieldValue("SupplyLinkman", seSupplyLinkMan->Text);
  SetFieldValue("SupplyAddr", seSupplyAddr->Text);
  SetFieldValue("SupplyZip", seSupplyZip->Text);
  SetFieldValue("SupplyTel", seSupplyTel->Text);
  SetFieldValue("SupplyFax", seSupplyFax->Text);
  SetFieldValue("SupplyEmail", seSupplyEmail->Text);
  SetFieldValue("SupplyCredit", scSupplyCredit->Text);

  SetFieldValue("SupplyCancel", AnsiString(chkSupplyCancel->Checked ? 1:0));
  SetFieldValue("SupplyTaxCode", scSupplyTaxCode->ItemData[1]);
  SetFieldValue("SupplyTaxNo", seSupplyTaxNo->Text);
  // 如果是增加状态
  if( CurrentState == caAddDetail)
  {
       AnsiString m;
       m=tvSupply->Selected->Text;
       m = m.SubString(2,m.AnsiPos(")")-2);
       SetFieldValue("SupplyArea", m);
  }

  SetFieldValue("SupplyTrade", scSupplyTrade->ItemData[1]);
  SetFieldValue("SupplyPmode", scSupplyPmode->ItemData[1]);
  if(scSupplyBuyer->ItemData[1]== "")
     throw Exception("请输入采购员代码");
  SetFieldValue("SupplyBuyer", scSupplyBuyer->ItemData[1]);//校验采购员
  // sysDate for Read-only
  //add 9 fields
  SetFieldValue("SupplyCreateDate", deSupplyCreateDate->Text);
  SetFieldValue("SupplyCancelDate", deSupplyCancelDate->Text);
  if(seSupplyCreditTerm->Text == "")
     throw Exception("请输入信用期限");
  SetFieldValue("SupplyCreditTerm", seSupplyCreditTerm->Text);
}
//---------------------------------------------------------------------------

void __fastcall TfrmSupply::WaitUserInput()
{
  if(seSupplyCode->Enabled)
   seSupplyCode->SetFocus ();
  scSupplyTaxCodeExit(NULL);
}
//---------------------------------------------------------------------------

void __fastcall TfrmSupply::RefreshGridData(int mAction)
{
  AnsiString  TempText;
  TTreeNode   *TempNode;

  // 新增
  if (mAction == 0)
  {
    if(tvSupply->Selected)    // Tree chosen
    {
      TempText = "(" + GetFieldValue("SupplyCode")
               + ")" + GetFieldValue("SupplyName");
      TempNode = tvSupply->Selected;
      TempNode = tvSupply->Items->AddChild(TempNode,TempText);

      TempNode->StateIndex = 2;
      TempNode->SelectedIndex = 2;
      TempNode->Text = TempText;
    }
  }

  // 修改
  else if(mAction ==  1)
  {
    if(tvSupply->Selected) // Tree chosen
    {
      TempNode=tvSupply->Selected;
      TempNode->StateIndex = 2;
      TempNode->SelectedIndex = 2;
      TempNode->Text = "(" + GetFieldValue("SupplyCode") + ")" + GetFieldValue("SupplyName");
    }
  }
  // 删除
  else if(mAction ==  2)
  {
      tvSupply->Items->Delete(tvSupply->Selected);
  }
}
//---------------------------------------------------------------------------

void __fastcall TfrmSupply::FillTreeWithPtype()

{
     TTreeNode *TempNode[7];
     int mLevel;
     TComResultSet *RsArea=new TComResultSet(Handle, g_ClientHandle);

     tvSupply->Items->Clear();
     TempNode[0]=tvSupply->Items->Add(NULL,"所有的供应商");
     TempNode[0]->StateIndex=-1;
     TempNode[0]->SelectedIndex=-1;
     RsArea->Open("select AreaCode,AreaName,AreaLevel,AreaEnd from sdArea order by AreaCode","");
     RsArea->MoveFirst();
     while( RsArea->Eof == 0 )
     {
        mLevel=RsArea->FieldByName("AreaLevel").ToInt();
        TempNode[mLevel] = tvSupply->Items->AddChild(TempNode[mLevel-1],"(" + RsArea->FieldByName("AreaCode") + ")" +RsArea->FieldByName("AreaName"));
        if(RsArea->FieldByName("AreaEnd")=="1") //地区末节点
        {
         TempNode[mLevel]->StateIndex = 1;
         TempNode[mLevel]->SelectedIndex = 1;
        }
        else
        {
         TempNode[mLevel]->StateIndex = -1;
         TempNode[mLevel]->SelectedIndex = -1;
        }
        RsArea->MoveNext();
     }
     RsArea->Close();
     if (tvSupply->Items->Count > 0)
         tvSupply->FullExpand();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -