szrh.cpp

来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 448 行 · 第 1/2 页

CPP
448
字号
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Szrh.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "BillBaseForm"
#pragma link "DateEdit"
#pragma link "fpanel"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"
TfrmSzrh *frmSzrh;
//---------------------------------------------------------------------------
__fastcall TfrmSzrh::TfrmSzrh(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
        : TBillBaseForm(Owner,chWnd,MidCode,WhereStr)
{
	  SetAutoCodeString(seSzrhCode, "Acm-023");

 //AutoCtl=seSzrhCode;
}
//---------------------------------------------------------------------------

void __fastcall TfrmSzrh::InitEditControl()
{
    ClientGroup->AddComponent(1,false,false,true, FloatPanel1,FloatPanel1->Name);
    ClientGroup->AddComponent(1,true,true,true, FloatPanel3,FloatPanel3->Name);
    ClientGroup->AddComponent(1,false,true,false,seSzrhCode,seSzrhCode->Name);
    ClientGroup->AddComponent(2,false,false,true,FloatPanel2,FloatPanel2->Name);
    ClientGroup->AddComponent(2,false,true,true,seSzrdSogCode,seSzrdSogCode->Name);
    ClientGroup->AddComponent(1,false,true,true,seSzrhClient,seSzrhClient->Name);
    ClientGroup->AddComponent(1,false,true,true,seSzrhEnrate,seSzrhEnrate->Name);
    ClientGroup->AddComponent(2,false,true,true,seSzrdSogdLine,seSzrdSogdLine->Name);
    ClientGroup->AddComponent(2,true,true,true,seSzrdSoCode,seSzrdSoCode->Name);
    ClientGroup->AddComponent(2,true,true,true,seSzrdSodLine,seSzrdSodLine->Name);
    ClientGroup->AddComponent(2,true,true,true,seSzrdQty,seSzrdQty->Name);
    AnsiString sSql;
    sSql =AnsiString("select currencycode,currencyname,currencyrate=coalesce(rateratio,1),currencylocal from sdcurrency,sdrate");
    sSql+=" where currencycode*=ratecurrency and ";
    sSql+=" ratefmonth='"+g_sdSMonth+"'";
    //Szrh
//    FillComboBox(Handle,scSzrhUser,"SELECT UserCode FROM sdUser","UserCode");
    FillComboBox(Handle,scSzrhCurrency,sSql,"CurrencyName","CurrencyCode","CurrencyRate","CurrencyLocal");
//    FillComboBox(Handle,scSzrhClient,"SELECT ClientCode FROM sdClient where ClientCancel=0","ClientCode");
//    FillEdit(Query,seSzrhUser,"select UserCode,UserName from sdUser","UserName","UserCode");
//    FillEdit(Query,seSzrhChecker,"select UserCode,UserName from sdUser","UserName","UserCode");
}
//---------------------------------------------------------------------------

void __fastcall TfrmSzrh::ClearControl(int Section,bool BringToNext)
{
    if (Section == 1)
    {
       if (! BringToNext)
       {
        seSzrhCode->Text      ="";
        deSzrhDate->Text      =g_sdCurDate;
        seSzrhClient->Text    ="";
        lbSzrhClientName->Caption="";
        scSzrhCurrency->LocateKey(g_sdCurrencyCode);
        seSzrhEnrate->Text    ="1";
//        seSzrhAmt->Text       ="0";
        seSzrhUser->Text=g_sdUserCode;
        chkSzrhCheck->Checked =false;
        seSzrhChecker->ItemIndex =-1;
        chkSzrhCancel->Checked=false;
        seSzrhDesc->Text      ="";
        lbSzrhSysDate->Caption   =g_sdCurDate;
       }
       sgSzrd->RowCount=1;
    }
    else if (Section==2)
    {
        if (!BringToNext)
        {
          seSzrdLine->Text=AnsiString(comServer->ItemCount+1);
          seSzrdSogCode->Text   ="";
          seSzrdSogdLine->Text  ="";
          seSzrdSoCode->Text    ="";
          seSzrdSodLine->Text   ="";
          seSzrdQty->Text       ="0";
          seSzrdAmt->Text       ="0.00";
          seSzrdCashAmt->Text   ="0.00";
          seSzrdDesc->Text      ="";

        }
    }

}
//---------------------------------------------------------------------------

void __fastcall TfrmSzrh::GetDataFromComObject(int Section)
{
        if (Section==1)
        {
          seSzrhCode->Text      =GetHeadValue("SzrhCode");
          deSzrhDate->Text      =GetHeadValue("SzrhDate");
          seSzrhClient->Text    =GetHeadValue("SzrhClient");
          lbSzrhClientName->Caption=GetHeadValue("SzrhClientName");
          scSzrhCurrency->LocateKey(GetHeadValue("SzrhCurrency"));
          seSzrhEnrate->Text    =GetHeadValue("SzrhEnrate");
//          seSzrhAmt->Text       =GetHeadValue("SzrhAmt");
          seSzrhUser->Text=GetHeadValue("SzrhUser");
          chkSzrhCheck->Checked    =(GetHeadValue("SzrhCheck")=="1");
          seSzrhChecker->Text=GetHeadValue("SzrhChecker");
          chkSzrhCancel->Checked   =(GetHeadValue("SzrhCancel")=="1");
          seSzrhDesc->Text      =GetHeadValue("SzrhDesc");
          lbSzrhSysDate->Caption   =GetHeadValue("SzrhSysDate");
          SetCheckToolbarStatus(chkSzrhCheck->Checked);
          SetCancelToolbarStatus(chkSzrhCancel->Checked);
        }
        else
        {
          seSzrdLine->Text      =GetDetailValue("SzrdLine");
          seSzrdSogCode->Text   =GetDetailValue("SzrdSogCode");
          seSzrdSogdLine->Text  =GetDetailValue("SzrdSogdLine");
          seSzrdSoCode->Text    =GetDetailValue("SzrdSoCode");
          seSzrdSodLine->Text   =GetDetailValue("SzrdSodLine");
          seSzrdQty->Text       =GetDetailValue("SzrdQty");
          seSzrdAmt->Text       =GetDetailValue("SzrdAmt");
          seSzrdCashAmt->Text   =GetDetailValue("SzrdCashAmt");
          seSzrdDesc->Text      =GetDetailValue("SzrdDesc");

        }
}
//---------------------------------------------------------------------------

void __fastcall TfrmSzrh::SendDataToComObject(int Section)
{
       AnsiString s;
        if (Section==1)
        {
            SetHeadValue("SzrhCode",seSzrhCode->Text);
            SetHeadValue("SzrhDate",deSzrhDate->Text);
            SetHeadValue("SzrhClient",seSzrhClient->Text);
            SetHeadValue("SzrhClientName",lbSzrhClientName->Caption);
            SetHeadValue("SzrhCurrency",scSzrhCurrency->ItemData[1]);
            SetHeadValue("SzrhEnrate",seSzrhEnrate->Text);
//            SetHeadValue("SzrhAmt",seSzrhAmt->Text);
            SetHeadValue("SzrhUser",g_sdUserCode);
//            SetHeadValue("SzrhCheck",chkSzrhCheck->Checked ?"1":"0" );
//            SetHeadValue("SzrhCancel",chkSzrhCancel->Checked ?"1":"0" );
            SetHeadValue("SzrhDesc",seSzrhDesc->Text);
//            SetHeadValue("SzrhSysDate",deSzrhSysDate->Text);
        }
        else
        {
            //给单号(SzrdCode)赋值
            SetDetailValue("SzrdCode",seSzrhCode->Text);
            SetDetailValue("SzrdLine",seSzrdLine->Text);
            SetDetailValue("SzrdSogCode",seSzrdSogCode->Text);
            SetDetailValue("SzrdSogdLine",seSzrdSogdLine->Text);
            SetDetailValue("SzrdSoCode",seSzrdSoCode->Text);
            SetDetailValue("SzrdSodLine",seSzrdSodLine->Text);
            SetDetailValue("SzrdQty",seSzrdQty->Text);
            SetDetailValue("SzrdAmt",seSzrdAmt->Text);
            SetDetailValue("SzrdCashAmt",seSzrdCashAmt->Text);
            SetDetailValue("SzrdDesc",seSzrdDesc->Text);
      }
}
//---------------------------------------------------------------------------

void __fastcall TfrmSzrh::WaitUserInput(int Section)
{
       if (Section ==1)
         {
//         FloatPanel1->Enabled=true;
       if(seSzrhCode->Enabled)
          seSzrhCode->SetFocus();
         }
       else
       {
//         FloatPanel1->Enabled=false;
         sgSzrd->Visible=false;
         FloatPanel2->Visible=true;
          sgSzrd->Align=alNone;
          FloatPanel2->Align=alClient;

        if(CurrentState==caAddDetail||CurrentState==caAddBill)
            btnOK->Enabled=true;
         else
            btnOK->Enabled=false;

         btnCancel->Enabled=true;
         seSzrdLine->SetFocus();
         }
}
//---------------------------------------------------------------------------

void __fastcall TfrmSzrh::RefreshGridData(int mAction)
{

        int i;
        AnsiString ItemStr;
        switch(mAction)
        {
           case 0:
             ItemStr="\t"+GetDetailValue("SzrdLine")+"\t"+GetDetailValue("SzrdSogCode")+"\t"+
                    GetDetailValue("SzrdSogdLine")+"\t"+GetDetailValue("SzrdSoCode")+"\t"+
                    GetDetailValue("SzrdSodLine")+"\t"+GetDetailValue("SzrdQty")+"\t"+
                    GetDetailValue("SzrdAmt")+"\t"+GetDetailValue("SzrdCashAmt");
             sgSzrd->AddItem(ItemStr);
             break;
           case 1:
             ItemStr="\t"+GetDetailValue("SzrdLine")+"\t"+GetDetailValue("SzrdSogCode")+"\t"+
                    GetDetailValue("SzrdSogdLine")+"\t"+GetDetailValue("SzrdSoCode")+"\t"+
                    GetDetailValue("SzrdSodLine")+"\t"+GetDetailValue("SzrdQty")+"\t"+
                    GetDetailValue("SzrdAmt")+"\t"+GetDetailValue("SzrdCashAmt");
                 sgSzrd->ChangeItem(ItemStr,sgSzrd->Row);
             break;
           case 2:
             sgSzrd->RemoveItem(sgSzrd->Row);
        }
}
//---------------------------------------------------------------------------

void __fastcall TfrmSzrh::DisplayBill()
{
       if(comServer->RecordCount<1)
         return;
        GetDataFromComObject(1);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?