client.cpp

来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 536 行 · 第 1/2 页

CPP
536
字号
     {
        AnsiString s,m;
        s = GetFieldValue("ClientArea");
        for(int i = 1 ; i < tvClient->Items->Count ; i ++)
        {
            m = tvClient->Items->Item[i]->Text;
            m = m.SubString(2,m.AnsiPos(")")-2);
            if(m == s)
            {
                TempNode = tvClient->Items->Item[i];
                TempNode= tvClient->Items->AddChild(TempNode,"(" + GetFieldValue("ClientCode") + ")" +GetFieldValue("ClientName"));
                TempNode->StateIndex = 1;
				break;
            }
		}

        comServer->MoveNext();
     }
   }
   catch(...)
   {
   throw Exception("在插入客户资料时出错!");
   }
     comServer->MoveFirst();
     GetDataFromComObject();

}

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

void __fastcall TfrmClient::InitEditControl()

{
    FillComboBox(Handle,scClientTaxCode,"SELECT TaxName,TaxCode FROM sdTax","TaxName","TaxCode");
    FillComboBox(Handle,scClientSpt,"SELECT SptName,SptCode FROM sdSpt","SptName","SptCode");
    FillComboBox(Handle,scClientSmodeCode,"SELECT SmodeCode,SmodeName FROM sdSmode","SmodeName","SmodeCode");
    FillComboBox(Handle,scClientTradeCode,"select TradeName,TradeCode FROM sdTrade","TradeName","TradeCode");
    FillComboBox(Handle,cbClientCreditCode,"SELECT CreditCode,CreditDesc FROM sdCredit order by CreditCode","CreditDesc","CreditCode");
    FillEdit(Query, seClientCurrency,"SELECT CurrencyCode,CurrencyName FROM sdCurrency order by CurrencyCode","CurrencyName","CurrencyCode");
    FillComboBox(Handle,scClientType,"SELECT StypeName,StypeCode FROM sdStype","StypeName","StypeCode");

    FillComboBox(Handle,scCurrentUser,"select UserName,UserCode from sduser where userCode in (select Salercode from sdSaler) And UserCode='"+g_sdUserCode+"' order by UserCode","UserName","UserCode");
    FillEdit(Query, sePreAcct, "SELECT GlkmCode, GlkmName  FROM sdGlkm order by GlkmCode", "GlkmName","GlkmCode");
    FillEdit(Query, seArAcct, "SELECT GlkmCode, GlkmName  FROM sdGlkm order by GlkmCode", "GlkmName","GlkmCode");

    ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
    ClientGroup->AddComponent(2,false,false,true, FloatPanel2,FloatPanel2->Name);

    ClientGroup->AddComponent(2,true,true,false,ClientPanel,ClientPanel->Name);
    ClientGroup->AddComponent(2,false,false,false,seClientCode,seClientCode->Name);
    ClientGroup->AddComponent(2,true,true,true,seClientCurrency,seClientCurrency->Name);
    ClientGroup->AddComponent(2,false,true,true,deClientCreateDate,deClientCreateDate->Name);
    ClientGroup->AddComponent(2,false,true,true,scCurrentUser,scCurrentUser->Name);

}

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

void __fastcall TfrmClient::TreeViewLocation()
{
    AnsiString s,m;
    s = GetFieldValue("ClientCode");

    for(int i = 1 ; i < tvClient->Items->Count ; i ++)
    {
        m = tvClient->Items->Item[i]->Text;
        m = m.SubString(2,m.AnsiPos(")")-2);
        if(m == s)
        {
            tvClient->Selected = tvClient->Items->Item[i];
            break;
        }
    }
}

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

void __fastcall TfrmClient::FormShow(TObject *Sender)
{

	FillGridWithData();
    ClearControl(false);
    comServer->MoveFirst();
    muFirstClick(Sender);

}

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

void __fastcall TfrmClient::tvClientChange(TObject *Sender,
      TTreeNode *Node)
{

    AnsiString m;
    if(Node == tvClient->Items->Item[0])
    {
       ClearControl(false);
        return;
    }

    if(tvClient->Selected->StateIndex == 0 )
    {
       ClearControl(false);
        return;
    }

    m = Node->Text;
    m = m.SubString(2,m.AnsiPos(")")-2);
    comServer->LocateByKey(WideString(m));

    if (comServer->Eof == 0)
	{
        GetDataFromComObject();
    }
}

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

void __fastcall TfrmClient::muAddDetailClick(TObject *Sender)

{
 try{

    if(tvClient->Selected->Level==0||tvClient->Selected->StateIndex == 1)
    {
        ::MessageBox(Handle,"该节点不是分类节点,不能增加.","操作错误",MB_OK|MB_ICONSTOP);
        return;
    }

 AnsiString m;
    ClientInfo->ActivePage=BaseInfo;
    m=tvClient->Selected->Text;
    TRecBaseForm::muAddDetailClick(Sender);
    lbClientAreaCode->Caption = m.SubString(2,m.AnsiPos(")")-2);
    comServer->SetValue("ClientArea",WideString(lbClientAreaCode->Caption));
	  Query->Close();
	  try{
		  Query->Open("SELECT ParameterValue FROM sdParameter WHERE  ParameterCode='10413'","");
		  if (StrToInt(Query->FieldByName("ParameterValue")))
             scCurrentUser->Enabled = false;
          else
             scCurrentUser->Enabled = true;
	  }
	  catch(...)
	  {  	throw Exception("参数10413(启用物料销售员) 错误!");	}
	  Query->Close();
    
    }
    catch(Exception &e)
    {
        SetObjedtToBrowseState();
        ClearControl(false);
        SetControlState(caSave);
        GetDataFromComObject();
       throw Exception(e.Message);
   }
}

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

void __fastcall TfrmClient::muEditDetailClick(TObject *Sender)
{
    if(tvClient->Selected->Level==0)
    {
        ::MessageBox(Handle,"该根结点不能修改.","操作错误",MB_OK|MB_ICONSTOP);
        return;
    }

    if(tvClient->Selected->StateIndex == 0)
    {
        ::MessageBox(Handle,"该节点是分类节点,不能修改.","操作错误",MB_OK|MB_ICONSTOP);
        return;
    }

//    ClientInfo->ActivePage=BaseInfo;
    TRecBaseForm::muEditDetailClick(Sender);
}

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

void __fastcall TfrmClient::muDeleteDetailClick(TObject *Sender)
{
    if(tvClient->Selected->Level==0)
    {
        ::MessageBox(Handle,"该根结点不能删除.","操作错误",MB_OK|MB_ICONSTOP);
        return;
    }
    if(tvClient->Selected->StateIndex == 0)
    {
        ::MessageBox(Handle,"该节点是分类节点,不能删除.","操作错误",MB_OK|MB_ICONSTOP);
        return;
    }
        ClientInfo->ActivePage=BaseInfo;
        TRecBaseForm::muDeleteDetailClick(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TfrmClient::seClientEmailKeyPress(TObject *Sender,
      char &Key)
{
  if(Key=='\0')
  {
    ClientInfo->ActivePage =FinaInfo;
    FloatPanel2->SetFocus();
  }
}
//---------------------------------------------------------------------------
void  __fastcall TfrmClient::RefreshUpdateData(int MsgSrc,int MsgType)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmClient::seClientCodeKeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
    if(Key==13 && CurrentState==caNormal)
    {
      comServer->LocateByKey(WideString(seClientCode->Text));
      GetDataFromComObject();
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmClient::chkClientCancelMouseUp(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
   if(chkClientCancel->Checked)
       lbClientCancelDate->Caption=g_sdCurDate;
    else
       lbClientCancelDate->Caption="";

}
//---------------------------------------------------------------------------
void __fastcall TfrmClient::sePreAcctButtonClick(TObject *Sender)
{
	if(OpenGlkmForm())                                     
	   sePreAcct->LocateKey(GetGlkmValue(gtOpenForm,"GLKMCODE"));
}
//---------------------------------------------------------------------------

void __fastcall TfrmClient::sePreAcctExit(TObject *Sender)
{
	if(InitRsGlkm(""))
	   sePreAcct->LocateKey(GetGlkmValue(gtOpenForm,"GLKMCODE"));	
}
//---------------------------------------------------------------------------

void __fastcall TfrmClient::seArAcctButtonClick(TObject *Sender)
{
	if(OpenGlkmForm())
	   seArAcct->LocateKey(GetGlkmValue(gtOpenForm,"GLKMCODE"));
	
}
//---------------------------------------------------------------------------

void __fastcall TfrmClient::seArAcctExit(TObject *Sender)
{
	if(InitRsGlkm(""))
	   seArAcct->LocateKey(GetGlkmValue(gtOpenForm,"GLKMCODE"));
}
//---------------------------------------------------------------------------

void __fastcall TfrmClient::muSaveClick(TObject *Sender)
{
    scCurrentUser->Enabled = false;
    TRecBaseForm::muSaveClick(Sender);

}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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