squote.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 377 行
CPP
377 行
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Squote.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "RecBaseForm"
#pragma link "SDGrid"
#pragma link "SDEdit"
#pragma link "DateEdit"
#pragma link "SDComboBox"
#pragma link "fpanel"
#pragma resource "*.dfm"
TfrmSquote *frmSquote;
//---------------------------------------------------------------------------
void __fastcall TfrmSquote::ClearControl(bool BringToNext)
{
// BringToNext为真时,不清空
if(BringToNext)
return;
seSquoteGoods->Text ="";
scSquoteUnit->ItemIndex =-1;
seSquoteUser->Text=g_sdUserCode;
deSquoteSdate->Text =g_sdCurDate;
scSquoteSpt->ItemIndex=0;
deSquoteEdate->Text =FormatDateTime("YYYY-MM-DD",Date()+365);
lbSquoteSysDate->Caption ="";
seSquoteDesc->Text ="";
seSquoteQty1->Text = "0";
seSquotePrice1->Text = "0";
seSquoteRebate1->Text = "0";
seSquoteQty2->Text = "0";
seSquotePrice2->Text = "0";
seSquoteRebate2->Text = "0";
seSquoteQty3->Text = "0";
seSquotePrice3->Text = "0";
seSquoteRebate3->Text = "0";
seSquoteQty4->Text = "0";
seSquotePrice4->Text = "0";
seSquoteRebate4->Text = "0";
seSquoteQty5->Text = "0";
seSquotePrice5->Text = "0";
seSquoteRebate5->Text = "0";
seSquoteQty6->Text = "0";
seSquotePrice6->Text = "0";
seSquoteRebate6->Text = "0";
seSquoteQty7->Text = "0";
seSquotePrice7->Text = "0";
seSquoteRebate7->Text = "0";
seSquoteQty8->Text = "0";
seSquotePrice8->Text = "0";
seSquoteRebate8->Text = "0";
seSquoteQty9->Text = "0";
seSquotePrice9->Text = "0";
seSquoteRebate9->Text = "0";
seSquoteQty10->Text = "0";
seSquotePrice10->Text = "0";
seSquoteRebate10->Text = "0";
}
void __fastcall TfrmSquote::GetDataFromComObject()
{
seSquoteGoods->Text =GetFieldValue("SquoteGoods");
scSquoteUnit->LocateKey(GetFieldValue("SquoteUnit"));
seSquoteUser->Text=GetFieldValue("SquoteUser");
deSquoteSdate->Text =GetFieldValue("SquoteSdate");
deSquoteEdate->Text =GetFieldValue("SquoteEdate");
scSquoteSpt->LocateKey(GetFieldValue("SquoteSpt"));
lbSquoteSysDate->Caption =GetFieldValue("SquoteSysDate");
seSquoteDesc->Text =GetFieldValue("SquoteDesc");
seSquoteQty1->Text = GetFieldValue("SquoteQty1");
seSquotePrice1->Text = GetFieldValue("SquotePrice1");
seSquoteRebate1->Text = GetFieldValue("SquoteRebate1");
seSquoteQty2->Text = GetFieldValue("SquoteQty2");
seSquotePrice2->Text = GetFieldValue("SquotePrice2");
seSquoteRebate2->Text = GetFieldValue("SquoteRebate2");
seSquoteQty3->Text = GetFieldValue("SquoteQty3");
seSquotePrice3->Text = GetFieldValue("SquotePrice3");
seSquoteRebate3->Text = GetFieldValue("SquoteRebate3");
seSquoteQty4->Text = GetFieldValue("SquoteQty4");
seSquotePrice4->Text = GetFieldValue("SquotePrice4");
seSquoteRebate4->Text = GetFieldValue("SquoteRebate4");
seSquoteQty5->Text = GetFieldValue("SquoteQty5");
seSquotePrice5->Text = GetFieldValue("SquotePrice5");
seSquoteRebate5->Text = GetFieldValue("SquoteRebate5");
seSquoteQty6->Text = GetFieldValue("SquoteQty6");
seSquotePrice6->Text = GetFieldValue("SquotePrice6");
seSquoteRebate6->Text = GetFieldValue("SquoteRebate6");
seSquoteQty7->Text = GetFieldValue("SquoteQty7");
seSquotePrice7->Text = GetFieldValue("SquotePrice7");
seSquoteRebate7->Text = GetFieldValue("SquoteRebate7");
seSquoteQty8->Text = GetFieldValue("SquoteQty8");
seSquotePrice8->Text = GetFieldValue("SquotePrice8");
seSquoteRebate8->Text = GetFieldValue("SquoteRebate8");
seSquoteQty9->Text = GetFieldValue("SquoteQty9");
seSquotePrice9->Text = GetFieldValue("SquotePrice9");
seSquoteRebate9->Text = GetFieldValue("SquoteRebate9");
seSquoteQty10->Text = GetFieldValue("SquoteQty10");
seSquotePrice10->Text = GetFieldValue("SquotePrice10");
seSquoteRebate10->Text = GetFieldValue("SquoteRebate10");
sgSquote->LocateGrid(1,seSquoteGoods->Text);
}
void __fastcall TfrmSquote::SendDataToComObject()
{
AnsiString s;
SetFieldValue("SquoteClient",cbSquoteClientCode->ItemData[cbItem2]);
SetFieldValue("SquoteCurrency", scSquoteCurrency->ItemData[cbItem2]);
SetFieldValue("SquoteGoods", seSquoteGoods->Text );
SetFieldValue("SquoteUnit", scSquoteUnit->ItemData[cbItem2]);
SetFieldValue("SquoteUser", g_sdUserCode/*scSquoteUser->Text*/ );
SetFieldValue("SquoteSdate", deSquoteSdate->Text);
SetFieldValue("SquoteEdate", deSquoteEdate->Text);
SetFieldValue("SquoteDesc", seSquoteDesc->Text);
SetFieldValue("SquoteSpt", scSquoteSpt->ItemData[cbItem2]);
SetFieldValue("SquoteQty1",WideString(seSquoteQty1->Text));
SetFieldValue("SquotePrice1",WideString(seSquotePrice1->Text));
SetFieldValue("SquoteRebate1",WideString(seSquoteRebate1->Text));
SetFieldValue("SquoteQty2",WideString(seSquoteQty2->Text));
if(seSquoteQty2->Text=="0"||seSquoteQty2->Text.IsEmpty())
{
seSquotePrice2->Text="0";
seSquoteRebate2->Text="0";
}
SetFieldValue("SquotePrice2",WideString(seSquotePrice2->Text));
SetFieldValue("SquoteRebate2",WideString(seSquoteRebate2->Text));
SetFieldValue("SquoteQty3",WideString(seSquoteQty3->Text));
if(seSquoteQty3->Text=="0"||seSquoteQty3->Text.IsEmpty())
{
seSquotePrice3->Text="0";
seSquoteRebate3->Text="0";
}
SetFieldValue("SquotePrice3",WideString(seSquotePrice3->Text));
SetFieldValue("SquoteRebate3",WideString(seSquoteRebate3->Text));
SetFieldValue("SquoteQty4",WideString(seSquoteQty4->Text));
if(seSquoteQty4->Text=="0"||seSquoteQty4->Text.IsEmpty())
{
seSquotePrice4->Text="0";
seSquoteRebate4->Text="0";
}
SetFieldValue("SquotePrice4",WideString(seSquotePrice4->Text));
SetFieldValue("SquoteRebate4",WideString(seSquoteRebate4->Text));
SetFieldValue("SquoteQty5",WideString(seSquoteQty5->Text));
if(seSquoteQty5->Text=="0"||seSquoteQty5->Text.IsEmpty())
{
seSquotePrice5->Text="0";
seSquoteRebate5->Text="0";
}
SetFieldValue("SquotePrice5",WideString(seSquotePrice5->Text));
SetFieldValue("SquoteRebate5",WideString(seSquoteRebate5->Text));
SetFieldValue("SquoteQty6",WideString(seSquoteQty6->Text));
if(seSquoteQty6->Text=="0"||seSquoteQty6->Text.IsEmpty())
{
seSquotePrice6->Text="0";
seSquoteRebate6->Text="0";
}
SetFieldValue("SquotePrice6",WideString(seSquotePrice6->Text));
SetFieldValue("SquoteRebate6",WideString(seSquoteRebate6->Text));
SetFieldValue("SquoteQty7",WideString(seSquoteQty7->Text));
if(seSquoteQty7->Text=="0"||seSquoteQty7->Text.IsEmpty())
{
seSquotePrice7->Text="0";
seSquoteRebate7->Text="0";
}
SetFieldValue("SquotePrice7",WideString(seSquotePrice7->Text));
SetFieldValue("SquoteRebate7",WideString(seSquoteRebate7->Text));
SetFieldValue("SquoteQty8",WideString(seSquoteQty8->Text));
if(seSquoteQty8->Text=="0"||seSquoteQty8->Text.IsEmpty())
{
seSquotePrice8->Text="0";
seSquoteRebate8->Text="0";
}
SetFieldValue("SquotePrice8",WideString(seSquotePrice8->Text));
SetFieldValue("SquoteRebate8",WideString(seSquoteRebate8->Text));
SetFieldValue("SquoteQty9",WideString(seSquoteQty9->Text));
if(seSquoteQty9->Text=="0"||seSquoteQty9->Text.IsEmpty())
{
seSquotePrice9->Text="0";
seSquoteRebate9->Text="0";
}
SetFieldValue("SquotePrice9",WideString(seSquotePrice9->Text));
SetFieldValue("SquoteRebate9",WideString(seSquoteRebate9->Text));
SetFieldValue("SquoteQty10",WideString(seSquoteQty10->Text));
if(seSquoteQty10->Text=="0"||seSquoteQty10->Text.IsEmpty())
{
seSquotePrice10->Text="0";
seSquoteRebate10->Text="0";
}
SetFieldValue("SquotePrice10",WideString(seSquotePrice10->Text));
SetFieldValue("SquoteRebate10",WideString(seSquoteRebate10->Text));
}
void __fastcall TfrmSquote::WaitUserInput()
{
FloatPanel1->Enabled=true;
if(seSquoteGoods->Enabled)
seSquoteGoods->SetFocus();
}
AnsiString __fastcall TfrmSquote::GetDataToGrid()
{
AnsiString s;
s = "\t" + GetFieldValue("SquoteGoods")+
"\t" + GetFieldValue("SquoteCurrency")+
"\t" + GetFieldValue("SquoteSdate")+
"\t" + GetFieldValue("SquoteEdate");
return(s);
}
void __fastcall TfrmSquote::RefreshGridData(int mAction)
{
AnsiString ItemStr;
ItemStr = GetDataToGrid();
// 新增
if (mAction == 0)
{
sgSquote->AddItem(ItemStr);
sgSquote->Row=sgSquote->RowCount-1;
}
// 修改
else if(mAction == 1)
{
sgSquote->ChangeItem(ItemStr,sgSquote->Row);
}
// 删除
else if(mAction == 2)
{
sgSquote->RemoveItem(sgSquote->Row);
}
}
void __fastcall TfrmSquote::FillGridWithData()
{
AnsiString ItemStr;
comServer->MoveFirst();
sgSquote->RowCount = 1;
while (comServer->Eof == 0)
{
ItemStr = GetDataToGrid();
sgSquote->AddItem(ItemStr);
comServer->MoveNext();
}
}
void __fastcall TfrmSquote::InitEditControl()
{
ClientGroup->AddComponent(2,true,true,false, sgSquote,sgSquote->Name);
ClientGroup->AddComponent(2,false,false,true, FloatPanel1,FloatPanel1->Name);
ClientGroup->AddComponent(2,true,true,false, FloatPanel3,FloatPanel3->Name);
ClientGroup->AddComponent(2,false,true,true, seSquoteGoods,seSquoteGoods->Name);
ClientGroup->AddComponent(2,true,true,true, scSquoteUnit,scSquoteUnit->Name);
ClientGroup->AddComponent(2,true,true,true, seSquoteUser,seSquoteUser->Name);
FillComboBox(Handle,cbSquoteClientCode,"select ClientCode,ClientName from sdClient where ClientCancel=0 order by ClientCode","ClientName","ClientCode");
FillComboBox(Handle,scSquoteCurrency,"select CurrencyCode,CurrencyName from sdCurrency order by CurrencyCode","CurrencyName","CurrencyCode");
FillComboBox(Handle,scSquoteSpt,"select SptCode,SptName from sdSpt order by SptCode","SptName","SptCode");
FillComboBox(Handle,scSquoteUnit,"select UnitCode,UnitName from sdUnit order by UnitCode","UnitName","UnitCode");
// FillEdit(Query,seSquoteUser,"select UserCode,UserName from sdUser order by UserCode","UserName","UserCode");
}
__fastcall TfrmSquote::TfrmSquote(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
: TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmSquote::cbSquoteClientCodeClick(TObject *Sender)
{
if((cbSquoteClientCode->ItemData[cbItem2]+scSquoteCurrency->ItemData[cbItem2])!=ClientValue)
{
WideString FS;
FS = "SquoteClient = '" + cbSquoteClientCode->ItemData[cbItem2] + "'and SquoteCurrency='"+scSquoteCurrency->ItemData[cbItem2]+"'";
comServer->FilterString =FS;
comServer->Query();
FillGridWithData();
// FillComboBox(Handle,scSquoteGoods,"select distinct sgdGoodsCode from sdsgd where sgdClientCode='"+cbSquoteClientCode->Text+"' order by sgdGoodsCode","sgdGoodsCode");
comServer->MoveFirst();
GetDataFromComObject();
ClientValue=cbSquoteClientCode->ItemData[cbItem2]+scSquoteCurrency->ItemData[cbItem2];
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSquote::SetClientValue(AnsiString value)
{
if(FClientValue != value) {
FClientValue = value;
}
}
AnsiString __fastcall TfrmSquote::GetClientValue()
{
return FClientValue;
}
void __fastcall TfrmSquote::scSquoteGoodsClick(TObject *Sender)
{
SetFieldValue("SquoteClient",cbSquoteClientCode->ItemData[cbItem2]);
SetFieldValue("SquoteGoods",seSquoteGoods->Text);
scSquoteUnit->Text=GetFieldValue("SquoteUnit");
}
//---------------------------------------------------------------------------
void __fastcall TfrmSquote::FormShow(TObject *Sender)
{
cbSquoteClientCodeClick(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TfrmSquote::sgSquoteClick(TObject *Sender)
{
if (sgSquote->Row > 0)
comServer->LocateByKey(WideString(cbSquoteClientCode->ItemData[cbItem2]+"\t"+sgSquote->TextMatrix[sgSquote->Row][1]+"\t"+scSquoteCurrency->ItemData[cbItem2]+"\t"));
if (!comServer->Eof)
GetDataFromComObject();
}
//---------------------------------------------------------------------------
void __fastcall TfrmSquote::seSquoteGoodsButtonClick(TObject *Sender)
{
// AnsiString SqlStr;
// SqlStr="005[货物编码][货物名称][单位][客户货物编码][客户货物名称]select SgdGoodsCode,";
// SqlStr+="GoodsName,GoodsUnitCode,SgdCode,SgdName from SdSgd,sdGoods where SgdClientCode='"+cbSquoteClientCode->ItemData[1]+"' and ";
// SqlStr+="SgdGoodsCode=GoodsCode order by SgdGoodsCode";
// TfrmWnQuery *p;
// try
// {
// StartWaitForm("正在查询,请稍候...");
// p=new TfrmWnQuery(this,"客户货物查询",SqlStr);
// }
// __finally
// {
// EndWaitForm();
// }
// if(p->ShowModal()==mrOk)
// {
//// InitRsGoods(p->ColData[1]));
// seSquoteGoods->Text=p->ColData[1];
// scSquoteUnit->LocateKey(p->ColData[3]);
// }
// delete p;
if(OpenGoodsForm("")) //过滤条件
{
seSquoteGoods->Text=l_RsGoods->FieldValues["GoodsCode"];
scSquoteUnit->Text=l_RsGoods->FieldValues["GoodsName"];
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?