📄 srewh.cpp
字号:
{
WriteFieldValue(comServer,Index,WideString(Value));
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::SetDetailValue(int Index,AnsiString Value)
{
WriteItemValue(comServer,Index,WideString(Value));
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::FormShow(TObject *Sender)
{
ClearControl(1,false);
ClearControl(2,false);
TGenBaseForm::MoveToFirst();
ChangeToBrowseState(true);
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::sgSrewdSelectCell(TObject *Sender, int ACol,
int ARow, bool &CanSelect)
{
if (ARow == 0)
{
return;
}
comServer->LocateItemByKey(WideString(sgSrewd->TextMatrix[ARow][1]));
if (!comServer->Eof)
{
GetDataFromComObject(2);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::sgSrewdDblClick(TObject *Sender)
{
int iRow;
iRow=sgSrewd->Row;
if (iRow == 0)
{
return;
}
comServer->LocateItemByKey(WideString(sgSrewd->TextMatrix[iRow][1]));
GetDataFromComObject(2);
sgSrewd->Visible=false;
sgSrewd->Align=alNone;
FloatPanel2->Visible=true;
FloatPanel2->Align=alClient;
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::ChangeToBrowseState(bool Browse)
{
FloatPanel2->Visible=false;
FloatPanel2->Align =alNone;
sgSrewd->Visible=true;
sgSrewd->Align=alClient;
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::btnOKClick(TObject *Sender)
{
if ((CurrentState==caAddDetail)||(CurrentState==caAddBill))
{
try
{
if(DetailState==caAddDetail)
comServer->AddItem();
SendDataToComObject(2);
comServer->AddToObject();
ClearControl(2,false);
}
catch(Exception &e)
{
throw Exception(e.Message);
}
}
else
ChangeToBrowseState(false);
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::btnCancelClick(TObject *Sender)
{
CancelChange();
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::GenrateBill()
{
int TempCount;
TempCount = comServer->ItemCount;
StartWaitForm("正在启动生成界面");
TfrmSrewd *p=new TfrmSrewd(this);
try
{
p->GetComObject(comServer);
EndWaitForm();
p->ShowModal();
if (TempCount < comServer->ItemCount)
TGenBaseForm::SaveRecord();
else
CancelChange();
}
__finally
{
delete p;
}
}
void __fastcall TfrmSrewh::RefreshUpdateData(int MsgSrc,int MsgType)
{
AnsiString KeyCode;
switch(MsgSrc)
{
case euSdSrewRr:
if(ShowUpdateMessage(MsgSrc,MsgType))
{
KeyCode=scSrewhRr->Text;
FillComboBox(scSrewhRr,"SELECT SrewRrCode FROM sdSrewRr","SrewRrCode");
scSrewhRr->LocateKey(KeyCode);
}
break;
//Srewd
case euSdUnit:
if(ShowUpdateMessage(MsgSrc,MsgType))
{
KeyCode=seSrewdUnit->Text;
FillEdit(seSrewdUnit,"SELECT UnitCode,UnitName FROM sdUnit","UnitName","UnitCode");
seSrewdUnit->LocateKey(KeyCode);
}
break;
}
}
void __fastcall TfrmSrewh::seSrewhCodeKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key==13 && CurrentState==caNormal)
{
comServer->LocateByKey(WideString(seSrewhCode->Text));
DisplayBill();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::seSrewhClientButtonClick(TObject *Sender)
{
AnsiString SqlStr;
SqlStr="005[客户编码][客户名称][主币种][主税种][客户地址]select clientcode,clientname,clientcurrency,clienttaxcode,clientaddr from sdclient where clientcancel=0 order by clientcode";
TfrmWnQuery *p;
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"客户资料查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seSrewhClient->LocateKey(p->ColData[1]);
}
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::seSrewhCurrencyButtonClick(TObject *Sender)
{
AnsiString SqlStr;
SqlStr="002[货币代码][货币名称]select Currencycode,CurrencyName from sdCurrency,sdssd where ssdCurrency=CurrencyCode and ";
SqlStr+="ssdClient='"+seSrewhClient->ItemData[cbItem2]+"' order by CurrencyCode";
TfrmWnQuery *p;
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"客户货币查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
if(seSrewhCurrency->LocateKey(p->ColData[1]))
{
if(seSrewhCurrency->ItemData[cbItem4]=="1")
{
seSrewhEnrate->Enabled=false;
seSrewhEnrate->Text="1";
}
else
{
seSrewhEnrate->Enabled=true;
seSrewhEnrate->Text=seSrewhCurrency->ItemData[cbItem3];
}
}
}
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::seSrewdSretCodeButtonClick(TObject *Sender)
{
AnsiString SqlStr;
SqlStr="010[退货单号][行号][物料编码][计量单位][换算系数][退货数量][返修数量][单价][货位][批号]";
SqlStr+="select sretdcode,sretdline,sretdgoods,sretdunit,sretdConv,sretdqty,sretdfqty,sretdprice,sretdloc,sretdbatch from sdsretd,sdsreth where sretdcode=srethcode and srethcheck=1 and ";
SqlStr+="srethclient='"+seSrewhClient->ItemData[cbItem2]+"' and srethcurrency='"+seSrewhCurrency->ItemData[cbItem2]+"' order by srethdate desc";
TfrmWnQuery *p;
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"销售退货单查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seSrewdSretCode->Text=p->ColData[1];
seSrewdSretdLine->Text=p->ColData[2];
seSrewdGoods->Text=p->ColData[3];
seSrewdUnit->LocateKey(p->ColData[4]);
seSrewdConv->Text=p->ColData[5];
if(g_sdRsGoods->LocateByKey(WideString(seSrewdGoods->Text))==0)
seSrewdGoodsName->Text=GetGoodsValue("GoodsName");
seSrewdLoc->LocateKey(p->ColData[9]);
seSrewdBatch->Text=p->ColData[10];
}
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::seSrewdQtyButtonClick(TObject *Sender)
{
AnsiString SqlStr;
TfrmWnQuery *p;
SqlStr="008[退货单号][行号][物料编码][计量单位][换算系数][退货数量][返修数量][单价]";
SqlStr+="select Sretdcode,Sretdline,Sretdgoods,Sretdunit,Sretdconv,Sretdqty,Sretdfqty,Sretdprice from sdSretd where ";
SqlStr+="Sretdcode='"+seSrewdSretCode->Text+"' and SretdLine="+seSrewdSretdLine->Text;
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"退货单查询",SqlStr);
}
__finally
{
EndWaitForm();
}
p->ShowModal();
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::seSrewdQtyExit(TObject *Sender)
{
CalculateAmt();
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::seSrewdPriceExit(TObject *Sender)
{
CalculateAmt();
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::CalculateAmt()
{
double FAmt,FVal;
FVal=seSrewdQty->Text.ToDouble()*seSrewdPrice->Text.ToDouble();
FVal=DataCarry(FVal,2,0);
seSrewdAmt->Text=FVal;
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::seSrewdBatchButtonClick(TObject *Sender)
{
AnsiString SqlStr;
SqlStr="005[批号代码][说明][数量][生效日期][失效日期]";
SqlStr+=" select BatchCode,BatchDesc,BatchQty,BatchEffectDate,BatchAbateDate from sdBatch";
SqlStr+=" where BatchEffectDate<='"+g_sdCurDate+"' and BatchAbateDate>'"+g_sdCurDate+"' order by BatchCode";
TfrmWnQuery *p;
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"批号查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seSrewdBatch->LocateKey(p->ColData[1]);
}
delete p;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -