📄 szrh.cpp
字号:
void __fastcall TfrmSzrh::GetBill(AnsiString BillID)
{
if(comServer->Find("SzrhCode='"+BillID+"'"))
{
DisplayBill();
}
else
if (ShowMessageWindow("在数据库中没有查到记录:"+BillID+",要增加吗?",mwsConfirmation)==IDYES)
{
AddHeadRecord();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::FillGridWithData()
{
int i;
AnsiString ItemStr;
sgSzrd->RowCount=1;
for (i=0;i<comServer->ItemCount;i++)
{
comServer->LocateItemByIndex(i);
RefreshGridData(0);
}
comServer->LocateItemByIndex(0);
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmSzrh::GetHeadValue(int Index)
{
WideString S;
S = ReadFieldValue(comServer,Index);
return S;
}
//---------------------------------------------------------------------------
AnsiString __fastcall TfrmSzrh::GetDetailValue(int Index)
{
WideString S;
S = ReadItemValue(comServer,Index);
return S;
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::SetHeadValue(int Index,AnsiString Value)
{
WriteFieldValue(comServer,Index,WideString(Value));
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::SetDetailValue(int Index,AnsiString Value)
{
WriteItemValue(comServer,Index,WideString(Value));
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::FormCreate(TObject *Sender)
{
FormIniFile="D:\Test.Ini";
SetGridWidth(Name,sgSzrd,FormIniFile);
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::FormClose(TObject *Sender,
TCloseAction &Action)
{
TBillBaseForm::FormClose(Sender,Action);
WriteGridWidth(Name,sgSzrd,FormIniFile);
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::FormShow(TObject *Sender)
{
// InitEditControl();
ClearControl(1,false);
ClearControl(2,false);
TBillBaseForm::MoveToFirst();
ChangeToBrowseState(true);
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::sgSzrdSelectCell(TObject *Sender, int ACol,
int ARow, bool &CanSelect)
{
if (ARow == 0)
{
return;
}
comServer->LocateItemByKey(WideString(sgSzrd->TextMatrix[ARow][1]));
if (!comServer->Eof)
{
GetDataFromComObject(2);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::sgSzrdDblClick(TObject *Sender)
{
int iRow;
iRow=sgSzrd->Row;
if (iRow == 0)
{
return;
}
comServer->LocateItemByKey(WideString(sgSzrd->TextMatrix[iRow][1]));
if (!comServer->Eof)
{
GetDataFromComObject(2);
sgSzrd->Visible=false;
sgSzrd->Align=alNone;
btnCancel->Enabled=true;
FloatPanel2->Visible=true;
FloatPanel2->Align=alClient;
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::ChangeToBrowseState(bool Browse)
{
btnOK->Enabled=false;
btnCancel->Enabled=false;
FloatPanel2->Visible=false;
sgSzrd->Visible=true;
FloatPanel2->Align=alNone;
sgSzrd->Align=alClient;
// sgSzrd->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::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 TfrmSzrh::btnCancelClick(TObject *Sender)
{
CancelChange();
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::scSzrhClientClick(TObject *Sender)
{
if(scSzrhClient->LocateKey(scSzrhClient->Text))
{
SetHeadValue(fiSzrhClient,scSzrhClient->Text);
lbSzrhClientName->Caption=GetHeadValue(fiSzrhClientName);
}
else
scSzrhClient->Text="";
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::scSzrhCurrencyClick(TObject *Sender)
{
if(scSzrhCurrency->ItemData[cbItem4]=="1")
{
seSzrhEnrate->Enabled=false;
seSzrhEnrate->Text="1";
}
else
{
seSzrhEnrate->Enabled=true;
seSzrhEnrate->Text=scSzrhCurrency->ItemData[cbItem3];
}
scSzrhClientClick(Sender);
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::seSzrhCodeKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
if(Key==13 && CurrentState==caNormal)
{
comServer->LocateByKey(WideString(seSzrhCode->Text));
DisplayBill();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSzrh::seSzrdSogCodeButtonClick(TObject *Sender)
{
AnsiString SqlStr;
SqlStr="010[发货单号][行号][销售订单号][订单行号][物料编码][计量单位][换算系数][发货数量][单价][金额]";
SqlStr+="select sogdcode,sogdline,sogdsocode,sogdsodLine,sogdgoods,sogdunit,sogdConv,sogdqty,sogdPrice,sogdAmt from sdsogd,sdsogh where sogdcode=soghcode and soghcheck=1 and soghclose=0 and ";
SqlStr+="soghclient='"+scSzrhClient->ItemData[cbItem1]+"' and soghcurrency='"+scSzrhCurrency->ItemData[cbItem2]+"' order by soghdate desc,SogdCode,SogdLine";
TfrmWnQuery *p;
try
{
StartWaitForm("正在查询,请稍候...");
p=new TfrmWnQuery(this,"发货单查询",SqlStr);
}
__finally
{
EndWaitForm();
}
if(p->ShowModal()==mrOk)
{
seSzrdSogCode->Text=p->ColData[1];
seSzrdSogdLine->Text=p->ColData[2];
seSzrdSoCode->Text=p->ColData[3];
seSzrdSodLine->Text=p->ColData[4];
seSzrdQty->Text=p->ColData[8];
}
delete p;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -