arsaph.cpp
来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 507 行 · 第 1/2 页
CPP
507 行
break;
}
*/
}
//---------------------------------------------------------------------------
void __fastcall TfrmArsaph::sgArsaphDblClick(TObject *Sender)
{
int iRow;
iRow=sgArsaph->Row;
if (iRow == 0)
{
return;
}
comServer->LocateItemByKey(sgArsaph->TextMatrix[iRow][1]);
if (comServer->ItemCount>0)
{
GetDataFromComObject(2); // Detail
sgArsaph->Visible=false;
fpArsaphDetail->Visible=true;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmArsaph::sgArsaphSelectCell(TObject *Sender, int ACol,
int ARow, bool &CanSelect)
{
if (ARow > 0)
comServer->LocateItemByKey(sgArsaph->TextMatrix[ARow][1]);
if (!comServer->Eof)
GetDataFromComObject(2); // Detail
}
//---------------------------------------------------------------------------
void __fastcall TfrmArsaph::btnOKClick(TObject *Sender)
{
try
{
if (CurrentState==caAddDetail||CurrentState==caAddBill)
{
if(DetailState==caAddDetail)
comServer->AddItem();
SendDataToComObject(2);
comServer->AddToObject();
ClearControl(2,false);
seArsapdLine->SetFocus();
}
else
ChangeToBrowseState();
}
catch(Exception &e)
{
throw Exception(e.Message);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmArsaph::btnCancelClick(TObject *Sender)
{
CancelChange();
}
//---------------------------------------------------------------------------
void __fastcall TfrmArsaph::FormShow(TObject *Sender)
{
ClearControl(1,false); // Head
ClearControl(2,false); // Detail
MoveToFirst();
ChangeToBrowseState();
}
//---------------------------------------------------------------------------
void __fastcall TfrmArsaph::seArsapdArCodeButtonClick(TObject *Sender)
{
AnsiString SqlStr;
TfrmWnQuery *p;
if(scArsapdArType->ItemIndex==-1)
return;
try
{
StartWaitForm("正在查询,请稍候...");
if(scArsapdArType->ItemData[1]=="1")
{
SqlStr="004[应收发票号][日期][客户][币种]";
SqlStr+=" select ArivhCode,ArivhDate,ArivhCLIENT,ArivhCurrency from sdArivh ";
SqlStr+=" where Arivhcheck=1 order by Arivhcode";
p=new TfrmWnQuery(this,"应收发票查询",SqlStr);
}
if(scArsapdArType->ItemData[1]=="2")
{
SqlStr="005[应收单号][日期][客户][币种][金额]";
SqlStr+=" select ArobCode,ArobDate,ArobClient,ArobCurrency,ArobAmt from sdArob ";
SqlStr+=" where Arobcheck=1 order by Arobcode";
p=new TfrmWnQuery(this,"应收单查询",SqlStr);
}
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seArsapdArCode->Text=p->ColData[1];
m_ArClient=p->ColData[3];
scArsapdArCurrency->LocateKey(p->ColData[4]);
scArsapdArCurrency->Text=scArsapdArCurrency->ItemData[0];
if(scArsapdArType->ItemData[1]=="2")
{
seArsapdArLine->ButtonVisible=false;
seArsapdArLine->Enabled=false;
seArsapdArLine->Text="0";
seArsapdArAmt->Text=p->ColData[5];
seArsapdApCode->Text="";
seArsapdApLine->Text="0";
scArsapdApCurrency->ItemIndex=-1;
seArsapdApAmt->Text="";
}
else
{
seArsapdArLine->ButtonVisible=true;
seArsapdArLine->Enabled=true;
}
}
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmArsaph::seArsapdApCodeButtonClick(TObject *Sender)
{
AnsiString SqlStr;
TfrmWnQuery *p;
if(scArsapdApType->ItemIndex==-1)
return;
if(m_ArClient=="")
return;
try
{
StartWaitForm("正在查询,请稍候...");
if(scArsapdApType->ItemData[1]=="1")
{
SqlStr="003[应付发票号][日期][币种]";
SqlStr+=" select ApivhCode,ApivhDate,ApivhCurrency from sdApivh ";
SqlStr+=" where Apivhcheck=1 and ApivhSupply='"+m_ArClient+"' order by Apivhcode";
p=new TfrmWnQuery(this,"应付发票查询",SqlStr);
}
if(scArsapdApType->ItemData[1]=="2")
{
SqlStr="004[应付单号][日期][币种][金额]";
SqlStr+=" select ApobCode,ApobDate,ApobCurrency,Apobamt from sdApob ";
SqlStr+=" where Apobcheck=1 and ApobSupply='"+m_ArClient+"'order by Apobcode";
p=new TfrmWnQuery(this,"应付单查询",SqlStr);
}
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seArsapdApCode->Text=p->ColData[1];
scArsapdApCurrency->LocateKey(p->ColData[3]);
scArsapdApCurrency->Text=scArsapdApCurrency->ItemData[0];
if(scArsapdApType->ItemData[1]=="2")
{
seArsapdApLine->ButtonVisible=false;
seArsapdApLine->Enabled=false;
seArsapdApLine->Text="0";
seArsapdApAmt->Text=p->ColData[4];
AnsiString ArAmt=seArsapdArAmt->Text;
AnsiString ApAmt=seArsapdApAmt->Text;
seArsapdConv->Text=AnsiString(ArAmt.ToDouble()/ApAmt.ToDouble());
}
else
{
seArsapdApLine->ButtonVisible=true;
seArsapdApLine->Enabled=true;
}
}
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmArsaph::seArsapdArLineButtonClick(TObject *Sender)
{
AnsiString SqlStr;
TfrmWnQuery *p;
if(seArsapdArCode->Text=="")
return;
if(scArsapdArType->ItemData[1]!="1")
return;
try
{
StartWaitForm("正在查询,请稍候...");
SqlStr="003[应收发票行号][货物劳务][金额]";
SqlStr+=" select ArivdLine,ArivdGoods,ArivdAmt from sdArivd ";
SqlStr+=" where ArivdCode='"+seArsapdArCode->Text +"' order by ArivdLine";
p=new TfrmWnQuery(this,"应收发票明细查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seArsapdArLine->Text=p->ColData[1];
seArsapdArAmt->Text=p->ColData[3];
seArsapdApCode->Text="";
seArsapdApLine->Text="0";
scArsapdApCurrency->ItemIndex=-1;
seArsapdApAmt->Text="";
}
delete p;
}
//---------------------------------------------------------------------------
void __fastcall TfrmArsaph::seArsapdApLineButtonClick(TObject *Sender)
{
AnsiString SqlStr;
TfrmWnQuery *p;
if(seArsapdApCode->Text=="")
return;
if(scArsapdApType->ItemData[1]!="1")
return;
try
{
StartWaitForm("正在查询,请稍候...");
SqlStr="003[应付发票行号][货物劳务][金额]";
SqlStr+=" select ApivdLine,ApivdGoods,ApivdAmt from sdApivd ";
SqlStr+=" where ApivdCode='"+seArsapdApCode->Text +"' order by ApivdLine";
p=new TfrmWnQuery(this,"应付发票明细查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seArsapdApLine->Text=p->ColData[1];
seArsapdApAmt->Text=p->ColData[3];
}
delete p;
AnsiString ArAmt=seArsapdArAmt->Text;
AnsiString ApAmt=seArsapdApAmt->Text;
seArsapdConv->Text=AnsiString(ArAmt.ToDouble()/ApAmt.ToDouble());
}
//---------------------------------------------------------------------------
void __fastcall TfrmArsaph::seArsaphCodeExit(TObject *Sender)
{
if(CurrentState==caNormal&&seArsaphCode->Text!=GetHeadValue("ArsaphCode"))
{
comServer->LocateByKey(seArsaphCode->Text);
DisplayBill();
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?