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 + -
显示快捷键?