⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 szrh.cpp

📁 速达开源ERP系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//---------------------------------------------------------------------------

#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)
        : TBillBaseForm(Owner,euSdSzrh,"")
{
 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,scSzrhClient,scSzrhClient->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(scSzrhUser,"SELECT UserCode FROM sdUser","UserCode");
    FillComboBox(scSzrhCurrency,sSql,"CurrencyName","CurrencyCode","CurrencyRate","CurrencyLocal");
    FillComboBox(scSzrhClient,"SELECT ClientCode FROM sdClient where ClientCancel=0","ClientCode");
    FillEdit(seSzrhUser,"select UserCode,UserName from sdUser","UserName","UserCode");
    FillEdit(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;
        scSzrhClient->Text    ="";
        lbSzrhClientName->Caption="";
        scSzrhCurrency->Text  =g_sdCurrencyCode;
        seSzrhEnrate->Text    ="1";
//        seSzrhAmt->Text       ="0";
        seSzrhUser->LocateKey(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)
        {
          if(comServer->ItemCount==0)
               seSzrdLine->Text ="1";
             else
             {
             comServer->LocateItemByIndex(comServer->ItemCount-1);
             seSzrdLine->Text=AnsiString(StrToInt(GetDetailValue(fiSzrdLine))+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(fiSzrhCode);
          deSzrhDate->Text      =GetHeadValue(fiSzrhDate);
          scSzrhClient->Text    =GetHeadValue(fiSzrhClient);
          lbSzrhClientName->Caption=GetHeadValue(fiSzrhClientName);
          scSzrhCurrency->Text  =GetHeadValue(fiSzrhCurrency);
          seSzrhEnrate->Text    =GetHeadValue(fiSzrhEnrate);
//          seSzrhAmt->Text       =GetHeadValue(fiSzrhAmt);
          seSzrhUser->LocateKey(GetHeadValue(fiSzrhUser));
          chkSzrhCheck->Checked    =(GetHeadValue(fiSzrhCheck)=="1");
          seSzrhChecker->LocateKey(GetHeadValue(fiSzrhChecker));
          chkSzrhCancel->Checked   =(GetHeadValue(fiSzrhCancel)=="1");
          seSzrhDesc->Text      =GetHeadValue(fiSzrhDesc);
          lbSzrhSysDate->Caption   =GetHeadValue(fiSzrhSysDate);
          SetCheckToolbarStatus(chkSzrhCheck->Checked);
          SetCancelToolbarStatus(chkSzrhCancel->Checked);
        }
        else
        {
          seSzrdLine->Text      =GetDetailValue(fiSzrdLine);
          seSzrdSogCode->Text   =GetDetailValue(fiSzrdSogCode);
          seSzrdSogdLine->Text  =GetDetailValue(fiSzrdSogdLine);
          seSzrdSoCode->Text    =GetDetailValue(fiSzrdSoCode);
          seSzrdSodLine->Text   =GetDetailValue(fiSzrdSodLine);
          seSzrdQty->Text       =GetDetailValue(fiSzrdQty);
          seSzrdAmt->Text       =GetDetailValue(fiSzrdAmt);
          seSzrdCashAmt->Text   =GetDetailValue(fiSzrdCashAmt);
          seSzrdDesc->Text      =GetDetailValue(fiSzrdDesc);

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

void __fastcall TfrmSzrh::SendDataToComObject(int Section)
{
       AnsiString s;
        if (Section==1)
        {
            SetHeadValue(fiSzrhCode,seSzrhCode->Text);
            SetHeadValue(fiSzrhDate,deSzrhDate->Text);
            SetHeadValue(fiSzrhClient,scSzrhClient->Text);
//            SetHeadValue(fiSzrhClientName,seSzrhClientName->Text);
            SetHeadValue(fiSzrhCurrency,scSzrhCurrency->ItemData[1]);
            SetHeadValue(fiSzrhEnrate,seSzrhEnrate->Text);
//            SetHeadValue(fiSzrhAmt,seSzrhAmt->Text);
            SetHeadValue(fiSzrhUser,g_sdUserCode);
//            SetHeadValue(fiSzrhCheck,chkSzrhCheck->Checked ?"1":"0" );
//            SetHeadValue(fiSzrhCancel,chkSzrhCancel->Checked ?"1":"0" );
            SetHeadValue(fiSzrhDesc,seSzrhDesc->Text);
//            SetHeadValue(fiSzrhSysDate,deSzrhSysDate->Text);
        }
        else
        {
            //给单号(SzrdCode)赋值
            SetDetailValue(fiSzrdCode,seSzrhCode->Text);
            SetDetailValue(fiSzrdLine ,seSzrdLine->Text);
            SetDetailValue(fiSzrdSogCode,seSzrdSogCode->Text);
            SetDetailValue(fiSzrdSogdLine,seSzrdSogdLine->Text);
            SetDetailValue(fiSzrdSoCode,seSzrdSoCode->Text);
            SetDetailValue(fiSzrdSodLine,seSzrdSodLine->Text);
            SetDetailValue(fiSzrdQty,seSzrdQty->Text);
            SetDetailValue(fiSzrdAmt,seSzrdAmt->Text);
            SetDetailValue(fiSzrdCashAmt,seSzrdCashAmt->Text);
            SetDetailValue(fiSzrdDesc,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(fiSzrdLine)+"\t"+GetDetailValue(fiSzrdSogCode)+"\t"+
                    GetDetailValue(fiSzrdSogdLine)+"\t"+GetDetailValue(fiSzrdSoCode)+"\t"+
                    GetDetailValue(fiSzrdSodLine)+"\t"+GetDetailValue(fiSzrdQty)+"\t"+
                    GetDetailValue(fiSzrdAmt)+"\t"+GetDetailValue(fiSzrdCashAmt);
             sgSzrd->AddItem(ItemStr);
             break;
           case 1:
             ItemStr="\t"+GetDetailValue(fiSzrdLine)+"\t"+GetDetailValue(fiSzrdSogCode)+"\t"+
                    GetDetailValue(fiSzrdSogdLine)+"\t"+GetDetailValue(fiSzrdSoCode)+"\t"+
                    GetDetailValue(fiSzrdSodLine)+"\t"+GetDetailValue(fiSzrdQty)+"\t"+
                    GetDetailValue(fiSzrdAmt)+"\t"+GetDetailValue(fiSzrdCashAmt);
                 sgSzrd->ChangeItem(ItemStr,sgSzrd->Row);
             break;
           case 2:
             sgSzrd->RemoveItem(sgSzrd->Row);
        }
}
//---------------------------------------------------------------------------

void __fastcall TfrmSzrh::DisplayBill()
{
       if(comServer->RecordCount<1)
         return;
        GetDataFromComObject(1);
        ChangeToBrowseState(true);
        FillGridWithData();
/*        if (sgSzrd->RowCount >1)
        {
           AnsiString Keystr;
           Keystr=sgSzrd->Cells[1][sgSzrd->Row];
           comServer->LocateItemByKey(WideString(Keystr));
           GetDataFromComObject(2);
        }*/
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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