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

📄 sreth.cpp

📁 速达开源ERP系统
💻 CPP
📖 第 1 页 / 共 3 页
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Sreth.h"
#include "Sretd.h"
#include "func.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "GenBaseForm"
#pragma link "DateEdit"
#pragma link "fpanel"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma resource "*.dfm"

TfrmSreth *frmSreth;
//---------------------------------------------------------------------------
__fastcall TfrmSreth::TfrmSreth(TComponent* Owner)
        : TGenBaseForm(Owner,euSdSreth,"")
{
  AutoCtl=seSrethCode;
}
//---------------------------------------------------------------------------
void __fastcall TfrmSreth::InitEditControl()
{
    ClientGroup->AddComponent(1,false,false,true, FloatPanel1,FloatPanel1->Name);
    ClientGroup->AddComponent(1,true,true,true, FloatPanel3,FloatPanel3->Name);
    ClientGroup->AddComponent(1,true,true,false, sgSretd,sgSretd->Name);
    ClientGroup->AddComponent(1,false,true,false,seSrethCode,seSrethCode->Name);
    ClientGroup->AddComponent(1,false,true,true,scSrethType,scSrethType->Name);
    ClientGroup->AddComponent(1,true,true,true,scSrethFmonth,scSrethFmonth->Name);
    ClientGroup->AddComponent(1,false,true,true,seSrethClient,seSrethClient->Name);
    ClientGroup->AddComponent(1,false,true,true, scSrethTaxCode,scSrethTaxCode->Name);
    ClientGroup->AddComponent(1,false,true,true,scSrethSaler,scSrethSaler->Name);

    ClientGroup->AddComponent(2,false,false,true, FloatPanel2,FloatPanel2->Name);
    ClientGroup->AddComponent(2,true,true,true,GroupBox4,GroupBox4->Name);
    ClientGroup->AddComponent(2,true,true,true,seSretdSogdLine,seSretdSogdLine->Name);
    ClientGroup->AddComponent(2,false,true,true,seSretdSogCode,seSretdSogCode->Name);
    ClientGroup->AddComponent(2,true,true,true, seSretdGoodsName,seSretdGoodsName->Name);
    ClientGroup->AddComponent(2,true,true,true,seSretdConv,seSretdConv->Name);
    ClientGroup->AddComponent(2,true,true,true,seSretdAmt,seSretdAmt->Name);
    ClientGroup->AddComponent(2,true,true,true,seSretdTaxAmt,seSretdTaxAmt->Name);
    ClientGroup->AddComponent(2,false,false,false,btnCancel,btnCancel->Name);
    ClientGroup->AddComponent(2,false,true,true,btnOK,btnOK->Name);
    DynamicSetControlState();
    //Sreth
    FillComboBox(scSrethTaxCode,"SELECT TaxCode,TaxName,TaxRate FROM sdTax","TaxName","TaxCode","TaxRate");
    FillComboBox(scSrethFmonth,"SELECT FcMonth FROM sdFc","FcMonth");
    FillComboBox(scSrethPosType,"SELECT PosTypeCode,PosTypeName FROM sdPosType where postypeflg=2 order by PosTypeCode","PosTypeName","PosTypeCode");
    AnsiString sSql;
    sSql =AnsiString("select currencycode,currencyname,currencyrate=coalesce(rateratio,1),currencylocal from sdcurrency,sdrate");
    sSql+=" where currencycode*=ratecurrency and ";
    sSql+=" ratefmonth='"+g_sdSMonth+"'";
    FillEdit(seSrethCurrency,sSql,"CurrencyName","CurrencyCode","CurrencyRate","CurrencyLocal");
    FillEdit(seSrethClient,"SELECT ClientCode,ClientName FROM sdClient  where ClientCancel=0","ClientName","ClientCode");
    FillComboBox(scSrethSettleMode,"SELECT SettleModeCode,SettleModeName FROM sdSettleMode order by settlemodename","SettleModeName","SettleModeCode");
    FillComboBox(scSrethDeliver,"SELECT DeliverName,DeliverCode FROM sdDeliver order by delivername","DeliverName","DeliverCode");
    FillEdit(seSrethSsite,"SELECT SsiteCode,SSiteName FROM sdSsite","SsiteName","SsiteCode");
    FillComboBox(scSrethTransMode,"SELECT TransModeCode,TransModeName FROM sdTransMode order by TransModeName","TransModeName","TransModeCode");
    FillComboBox(scSrethRr,"SELECT SretRrCode,SretRrDesc FROM sdSretRr order by sretrrdesc","Sretrrdesc","SretRrCode");
    FillComboBox(scSrethSaler,"Select usercode,username from sduser,sdsaler where salercode=usercode order by username","UserName","UserCode");
    FillEdit(seSrethUser,"select UserName,UserCode from sdUser  order by usercode","UserName","UserCode");
    FillEdit(seSrethChecker,"select UserName,UserCode from sdUser  order by usercode","UserName","UserCode");
    //Sretd
    FillEdit(seSretdUnit,"SELECT UnitCode,UnitName FROM sdUnit","UnitName","UnitCode");
    FillEdit(seSretdLoc,"SELECT LocCode,LocName FROM sdLoc ","LocName","LocCode");
    FillEdit(seSretdBatch,"SELECT BatchCode,BatchDesc FROM sdBatch ","BatchDesc","BatchCode");
    scSrethType->ClearAll();
    scSrethType->AddItems("据发货单退货","1");
    scSrethType->AddItems("据客户退货","2");
    scSretdState->ClearAll();
    scSretdState->AddItems("预备","1");
    scSretdState->AddItems("确认","2");
    scSretdState->AddItems("待下达","3");
    scSretdState->AddItems("已下达","4");
    scSretdState->AddItems("已完成","5");
}
//---------------------------------------------------------------------------
void __fastcall TfrmSreth::ClearControl(int Section,bool BringToNext)
{
    if (Section == 1)
    {
       if (! BringToNext)
       {
         seSrethCode->Text = "";
         scSrethType->ItemIndex = 0;
         DynamicSetControlState();
         tbGenDetail->Enabled=true;
         scSrethFmonth->Text =g_sdSMonth;
         scSrethPosType->ItemIndex=-1;
         deSrethDate->Text=g_sdCurDate;;
         seSrethClient->ItemIndex=-1;
         seSrethCurrency->ItemIndex =-1;
         seSrethEnrate->Text = "1";
         scSrethTaxCode->ItemIndex=-1;
         scSrethSettleMode->ItemIndex=-1;
         scSrethDeliver->ItemIndex=-1;
         seSrethSsite->ItemIndex =-1;
         scSrethTransMode->ItemIndex=-1;
         seSrethUser->LocateKey(g_sdUserCode);
         cheSrethCheck->Checked = false;
         seSrethChecker->Text = "";
         cheSrethClose->Checked=false;
         cheSrethCancel->Checked = false;
         lbSrethSysDate->Caption = "";
         scSrethRr->ItemIndex=-1;
         scSrethSaler->ItemIndex=-1;
         memSrethDesc->Text = "";
       }
       sgSretd->RowCount=1;
    }
    else if (Section==2)
    {
        if (!BringToNext)
        {
          if(comServer->ItemCount==0)
               seSretdLine->Text ="1";
             else
             {
             comServer->LocateItemByIndex(comServer->ItemCount-1);
             seSretdLine->Text=AnsiString(StrToInt(GetDetailValue(fiSretdLine))+1);
             }
            seSretdSogCode->Text="";
            seSretdSogdLine->Text="";
            seSretdGoods->Text="";
            seSretdGoodsName->Text ="";
            seSretdUnit->ItemIndex =-1;
            seSretdConv->Text="1";
            seSretdQty->Text="0";
            seSretdPrice->Text="0";
            seSretdAmt->Text="0.00";
            seSretdTaxAmt->Text="0.00";
            scSretdState->ItemIndex=1;
            seSretdExes->Text="0.00";
            seSretdLoc->ItemIndex=-1;
            seSretdBatch->ItemIndex=-1;
            memSretdDesc->Text="";
            cheSretdClose->Checked=false;
            seSretdCloseDate->Text="";
            seSretdOQty->Text="0";
            seSretdFQty->Text="0";
            seSretdEQty->Text="0";
        }
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmSreth::GetDataFromComObject(int Section)
{
        if (Section==1)
        {
           seSrethCode->Text = GetHeadValue(fiSrethCode);
           scSrethType->LocateKey(GetHeadValue(fiSrethType));
           scSrethPosType->LocateKey(GetHeadValue(fiSrethPosType));
           DynamicSetControlState();
           scSrethFmonth->Text = GetHeadValue(fiSrethFmonth);
           deSrethDate->Text= GetHeadValue(fiSrethDate);
           seSrethClient->LocateKey(GetHeadValue(fiSrethClient));
           seSrethCurrency->LocateKey(GetHeadValue(fiSrethCurrency));
           if(seSrethCurrency->ItemData[cbItem4]=="1")
             seSrethEnrate->Enabled=false;
           seSrethEnrate->Text = GetHeadValue(fiSrethEnrate);
           scSrethTaxCode->LocateKey(GetHeadValue(fiSrethTaxCode));
           scSrethSettleMode->LocateKey(GetHeadValue(fiSrethSettleMode));
           scSrethDeliver->LocateKey(GetHeadValue(fiSrethDeliver));
           seSrethSsite->LocateKey(GetHeadValue(fiSrethSsite));
           scSrethTransMode->Text = GetHeadValue(fiSrethTransMode);
           seSrethUser->LocateKey(GetHeadValue(fiSrethUser));
           scSrethSaler->LocateKey(GetHeadValue(fiSrethSaler));
           cheSrethCheck->Checked =(GetHeadValue(fiSrethCheck)=="1");
           seSrethChecker->LocateKey(GetHeadValue(fiSrethChecker));
           cheSrethClose->Checked =(GetHeadValue(fiSrethClose)=="1");
           cheSrethCancel->Checked =(GetHeadValue(fiSrethCancel)=="1");
           scSrethRr->LocateKey(GetHeadValue(fiSrethRr));
           lbSrethSysDate->Caption = GetHeadValue(fiSrethSysDate);
           memSrethDesc->Text = GetHeadValue(fiSrethDesc);
           SetCheckToolbarStatus(cheSrethCheck->Checked);
           SetCancelToolbarStatus(cheSrethCancel->Checked);
           SetCloseToolbarStatus(cheSrethClose->Checked);
        }
        else
        {
            seSretdLine->Text = GetDetailValue(fiSretdLine);
            seSretdSogCode->Text = GetDetailValue(fiSretdSogCode);
            seSretdSogdLine->Text = GetDetailValue(fiSretdSogdLine);
            seSretdGoods->Text = GetDetailValue(fiSretdGoods);
            SetRelativeState(GetDetailValue(fiSretdGoods));
            seSretdUnit->LocateKey(GetDetailValue(fiSretdUnit));
            seSretdConv->Text = GetDetailValue(fiSretdConv);
            seSretdQty->Text = GetDetailValue(fiSretdQty);
            seSretdPrice->Text=GetDetailValue(fiSretdPrice);
            seSretdAmt->Text=GetDetailValue(fiSretdAmt);
            seSretdTaxAmt->Text=GetDetailValue(fiSretdTaxAmt);
            scSretdState->ItemIndex=StrToInt(GetDetailValue(fiSretdState))-1;
            seSretdExes->Text = GetDetailValue(fiSretdExes);
            seSretdLoc->LocateKey(GetDetailValue(fiSretdLoc));
            seSretdBatch->LocateKey(GetDetailValue(fiSretdBatch));
            memSretdDesc->Text=GetDetailValue(fiSretdDesc);
            seSretdOQty->Text=GetDetailValue(fiSretdOQty);
            seSretdFQty->Text=GetDetailValue(fiSretdFQty);
            seSretdEQty->Text=GetDetailValue(fiSretdEQty);
            cheSretdClose->Checked=GetDetailValue(fiSretdClose)=="1";
            seSretdCloseDate->Text=GetDetailValue(fiSretdCloseDate);
            SetCloseDetailStatus(cheSretdClose->Checked);
        }
}
//---------------------------------------------------------------------------

void __fastcall TfrmSreth::SendDataToComObject(int Section)
{
       AnsiString s;
        if (Section==1)
        {
            SetHeadValue(fiSrethCode,seSrethCode->Text);
            SetHeadValue(fiSrethType,scSrethType->ItemData[cbItem2]);
            SetHeadValue(fiSrethPosType,scSrethPosType->ItemData[cbItem2]);
            SetHeadValue(fiSrethFmonth,scSrethFmonth->Text);
            SetHeadValue(fiSrethDate,deSrethDate->Text);
            SetHeadValue(fiSrethClient,seSrethClient->ItemData[cbItem2]);
            SetHeadValue(fiSrethUser,g_sdUserCode/*scSrethUser->Text*/);
            SetHeadValue(fiSrethSaler,scSrethSaler->ItemData[cbItem2]);
            SetHeadValue(fiSrethCurrency,seSrethCurrency->ItemData[cbItem2]);
            SetHeadValue(fiSrethEnrate,seSrethEnrate->Text);
            SetHeadValue(fiSrethTaxCode,scSrethTaxCode->ItemData[cbItem2]);
            SetHeadValue(fiSrethSettleMode,scSrethSettleMode->ItemData[cbItem2]);
            SetHeadValue(fiSrethDeliver,scSrethDeliver->ItemData[cbItem2]);
            SetHeadValue(fiSrethSsite,seSrethSsite->ItemData[cbItem2]);
            SetHeadValue(fiSrethTransMode,scSrethTransMode->ItemData[cbItem2]);
            SetHeadValue(fiSrethRr,scSrethRr->ItemData[cbItem2]);
            SetHeadValue(fiSrethDesc,memSrethDesc->Text);
        }
        else
        {
            CalculateAmt();
            SetDetailValue(fiSretdCode,seSrethCode->Text);
            SetDetailValue(fiSretdLine,seSretdLine->Text);
            SetDetailValue(fiSretdSogCode,seSretdSogCode->Text);
            SetDetailValue(fiSretdSogdLine,seSretdSogdLine->Text);
            SetDetailValue(fiSretdGoods,seSretdGoods->Text);
            SetDetailValue(fiSretdUnit,seSretdUnit->ItemData[cbItem2]);
            SetDetailValue(fiSretdConv,seSretdConv->Text);
            SetDetailValue(fiSretdLoc,seSretdLoc->ItemData[cbItem2]);
            SetDetailValue(fiSretdQty,seSretdQty->Text);
            SetDetailValue(fiSretdPrice,seSretdPrice->Text);
            SetDetailValue(fiSretdAmt,seSretdAmt->Text);
            SetDetailValue(fiSretdTaxAmt,seSretdTaxAmt->Text);
            SetDetailValue(fiSretdBatch,seSretdBatch->ItemData[1]);
            SetDetailValue(fiSretdExes,seSretdExes->Text);
            SetDetailValue(fiSretdDesc,memSretdDesc->Text);
        }
}
//---------------------------------------------------------------------------
void __fastcall TfrmSreth::WaitUserInput(int Section)
{
       if (Section ==1)
         {
          FloatPanel1->Enabled=true;
         if(seSrethCode->Enabled)
           seSrethCode->SetFocus();
         }
       else
       {
          FloatPanel1->Enabled=false;
          sgSretd->Visible=false;
          sgSretd->Align=alNone;
          FloatPanel2->Visible=true;
          FloatPanel2->Align=alClient;
          if(seSretdLine->Enabled)
            seSretdLine->SetFocus();
       }
}
//---------------------------------------------------------------------------
void __fastcall TfrmSreth::RefreshGridData(int mAction)
{
         AnsiString ItemStr;
        switch(mAction)
        {
           case 0:
              ItemStr="\t"+GetDetailValue(fiSretdLine)+"\t"+GetDetailValue(fiSretdSogCode)+"\t"+
                  GetDetailValue(fiSretdSogdLine)+"\t"+GetDetailValue(fiSretdGoods)+"\t"+
                  GetDetailValue(fiSretdUnit)+"\t"+GetDetailValue(fiSretdConv)+"\t"+
                  GetDetailValue(fiSretdLoc)+"\t"+GetDetailValue(fiSretdQty)+"\t"+
                  GetDetailValue(fiSretdPrice)+"\t"+GetDetailValue(fiSretdAmt)+"\t"+
                  GetDetailValue(fiSretdTaxAmt);
              sgSretd->AddItem(ItemStr);
              break;
           case 1:
              ItemStr="\t"+GetDetailValue(fiSretdLine)+"\t"+GetDetailValue(fiSretdSogCode)+"\t"+
                  GetDetailValue(fiSretdSogdLine)+"\t"+GetDetailValue(fiSretdGoods)+"\t"+
                  GetDetailValue(fiSretdUnit)+"\t"+GetDetailValue(fiSretdConv)+"\t"+
                  GetDetailValue(fiSretdLoc)+"\t"+GetDetailValue(fiSretdQty)+"\t"+
                  GetDetailValue(fiSretdPrice)+"\t"+GetDetailValue(fiSretdAmt)+"\t"+
                  GetDetailValue(fiSretdTaxAmt);
                 sgSretd->ChangeItem(ItemStr,sgSretd->Row);
                break;
           case 2:
                sgSretd->RemoveItem(sgSretd->Row);
        }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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