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

📄 rep.cpp

📁 科思ERP部分源码及控件
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Rep.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "RecBaseForm"
#pragma link "SDComboBox"
#pragma link "SDEdit"
#pragma link "SDGrid"
#pragma link "DateEdit"
#pragma resource "*.dfm"

TfrmRep *frmRep;
AnsiString OldRepPgoods;
//---------------------------------------------------------------------------
__fastcall TfrmRep::TfrmRep(TComponent* Owner, HWND chWnd, AnsiString MidCode,AnsiString WhereStr)
        : TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
}
//---------------------------------------------------------------------------
__fastcall TfrmRep::TfrmRep(TComponent* Owner, HWND chWnd, AnsiString MidCode,
           AnsiString WhereStr,AnsiString ParamString)
    : TRecBaseForm(Owner,chWnd,MidCode,WhereStr)
{
    RepWhereStr=ParamString;
    InitEditControl();
}
//---------------------------------------------------------------------------
void __fastcall TfrmRep::InitEditControl()
{
    ClientGroup->AddComponent(2,false,false,true,FloatPanel1,FloatPanel1->Name);
    ClientGroup->AddComponent(2,false,false,true,FloatPanel3,FloatPanel3->Name);
    ClientGroup->AddComponent(2,true,true,false, sgRep,sgRep->Name);
    ClientGroup->AddComponent(2,true,false,true, chkRepCheck,chkRepCheck->Name);
    ClientGroup->AddComponent(2,true,true,false, FloatPanel2,FloatPanel2->Name);
    ClientGroup->AddComponent(2,true,true,true, Panel1,Panel1->Name);
    ClientGroup->AddComponent(2,true,true,true, seRepLlc,seRepLlc->Name);
    ClientGroup->AddComponent(2,true,true,true, seRepPGoodsName,seRepPGoodsName->Name);
    ClientGroup->AddComponent(2,false,true,true, scRepOGoods,scRepOGoods->Name);
    ClientGroup->AddComponent(2,true,true,true, seRepOGoodsName,seRepOGoodsName->Name);

    FillComboBox(Handle,scRepUnit,"select UnitCode,UnitName From sdUnit order by UnitCode","UnitName","UnitCode");
    FillComboBox(Handle,scRepProcess,"select memo=ProcessCode+space(1)+'('+ProcessName+')',ProcessCode From sdProcess order by ProcessCode","memo","ProcessCode");
    if(RepWhereStr.IsEmpty())
        FillComboBox(Handle,scRepPGoods,"Select BomhGoods,GoodsName,memo=BomhGoods+space(1)+'('+GoodsName+')' from sdBomh,sdGoods where BomhGoods=GoodsCode Order by BomhGoods","memo","BomhGoods","GoodsName");
    else
    {
        AnsiString WhereStr;
        WhereStr="Select BomhGoods,GoodsName,memo=BomhGoods+space(1)+'('+GoodsName+')' from sdBomh,sdGoods where BomhGoods=GoodsCode and "+RepWhereStr+" Order by BomhGoods";
        FillComboBox(Handle,scRepPGoods,WhereStr,"memo","BomhGoods","GoodsName");
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmRep::ClearControl(bool BringToNext)
{
    if(!BringToNext)
    {
      scRepOGoods->ItemIndex=   -1;
      seRepOGoodsName->Text =   "";
      seRepNGoods->Text= "";
      seRepNGoodsName->Text =   "";
      seRepVer->Text        =   "";
      seRepModel->Text      =   "";
      scRepType->ItemIndex  =   0;
      scRepFrom->ItemIndex  =   0;
      scRepUnit->ItemIndex  =   -1;
      seRepQty->Text        =   "0.00";
      seRepShl->Text        =   "0.00";
      scRepProcess->ItemIndex=  -1;
      scRepCfg->ItemIndex   =   0;
      seRepLot->Text        =   "0";
      seRepLlc->Text        =   "1";
      scRepPp->ItemIndex    =   0;
      scRepOp->ItemIndex    =   0;
      deRepEdate->Text      =   g_sdCurDate;
      deRepIdate->Text      =   "";
      chkRepCheck->Checked  =   false;
      labChecker->Caption   =   "";
      labCheckDate->Caption =   "";
      labUserCode->Caption  =   g_sdUserCode;
      memRepDesc->Text      =   "";
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmRep::GetDataFromComObject()
{
    scRepOGoods->LocateKey(GetFieldValue("RepOgoods"));
    seRepOGoodsName->Text=scRepOGoods->ItemData[2];
    InitRsGoods(WideString(GetFieldValue("RepNgoods")));
//    l_RsGoods->LocateByKey(WideString(GetFieldValue("RepNgoods")));
    seRepNGoods->Text = GetGoodsValue(gtInitRs,"GoodsCode");
    seRepNGoodsName->Text = GetGoodsValue(gtInitRs,"GoodsName");
    seRepVer->Text = GetGoodsValue(gtInitRs,"GoodsVer");
    seRepModel->Text = GetGoodsValue(gtInitRs,"GoodsModel");
    if(GetGoodsValue(gtInitRs,"GoodsType")!="")
       scRepType->ItemIndex = StrToInt(GetGoodsValue(gtInitRs,"GoodsType"))-1;
    else
       scRepType->ItemIndex =-1;
    if(GetGoodsValue(gtInitRs,"GoodsFrom")!="")
       scRepFrom->ItemIndex = StrToInt(GetGoodsValue(gtInitRs,"GoodsFrom"))-1;
    else
       scRepFrom->ItemIndex =-1;
    scRepUnit->LocateKey(GetGoodsValue(gtInitRs,"GoodsUnitCode"));
    seRepQty->Text = GetFieldValue("RepQty");
    seRepShl->Text = GetFieldValue("RepShl");
    scRepProcess->LocateKey(GetFieldValue("RepProcess"));
    scRepCfg->ItemIndex   =   StrToInt(GetFieldValue("RepCfg"))-1;
    seRepLot->Text        =   GetFieldValue("RepLot");
    chkRepCheck->Checked  =   GetFieldValue("RepCheck")=="1";
    //设置check时的操作状态
    if(chkRepCheck->Checked)
       SetCheckToolbarStatus(true);
    else
       SetCheckToolbarStatus(false);
    labChecker->Caption   =   GetFieldValue("RepChecker");
    labCheckDate->Caption =   GetFieldValue("RepCheckDate");
    labUserCode->Caption  =   GetFieldValue("RepUser");
    seRepLlc->Text        =   GetFieldValue("RepLlc");
    scRepPp->ItemIndex    =   StrToInt(GetFieldValue("RepPp"))-1;
    scRepOp->ItemIndex    =   StrToInt(GetFieldValue("RepOp"))-1;
    deRepEdate->Text      =   GetFieldValue("RepEdate");
    deRepIdate->Text      =   GetFieldValue("RepIdate");
    memRepDesc->Text      =   GetFieldValue("RepDesc");
}
//---------------------------------------------------------------------------

void __fastcall TfrmRep::SendDataToComObject()
{
    SetFieldValue("RepPgoods",scRepPGoods->ItemData[1]);
    //-----------------------------------------------------------
    SetFieldValue("RepOgoods",scRepOGoods->ItemData[1]);
    SetFieldValue("RepNgoods",seRepNGoods->Text);
    SetFieldValue("RepUnit",scRepUnit->ItemData[1]);
    SetFieldValue("RepFrom",IntToStr(scRepFrom->ItemIndex+1));
    SetFieldValue("RepQty",seRepQty->Text);
    SetFieldValue("RepShl",seRepShl->Text);
    SetFieldValue("RepProcess",scRepProcess->ItemData[cbItem2]);
    SetFieldValue("RepCfg",IntToStr(scRepCfg->ItemIndex+1));
    SetFieldValue("RepLot",seRepLot->Text);
    SetFieldValue("RepLlc",seRepLlc->Text);
    SetFieldValue("RepOp",IntToStr(scRepOp->ItemIndex+1));
    SetFieldValue("RepPp",IntToStr(scRepPp->ItemIndex+1));
    SetFieldValue("RepEdate",deRepEdate->Text);
    SetFieldValue("RepIdate",deRepIdate->Text);
    SetFieldValue("RepCheck",chkRepCheck->Checked ? "1":"0");
    if(chkRepCheck->Checked){
       SetFieldValue("RepChecker",labChecker->Caption);
       SetFieldValue("RepCheckDate",labCheckDate->Caption);
    }
    SetFieldValue("RepUser",g_sdUserCode);
    SetFieldValue("RepDesc",memRepDesc->Text);
}
//---------------------------------------------------------------------------

void __fastcall TfrmRep::WaitUserInput()
{
    PageControl1->ActivePage=BaseInfo;
    if(scRepPGoods->Text == "")
       scRepPGoods->SetFocus();
    else
       if(scRepOGoods->Enabled)
          scRepOGoods->SetFocus();
}
//---------------------------------------------------------------------------

AnsiString __fastcall TfrmRep::GetDataToGrid()
{
    AnsiString  s,s1;
    s1= GetFieldValue("RepUnit");
    scRepUnit->LocateKey(s1);
    s = GetFieldValue("RepOgoods")+
        "\t" + GetFieldValue("RepNgoods")+
        "\t" + scRepUnit->ItemData[0]+
        "\t" + GetFieldValue("RepQty")+
        "\t" + GetFieldValue("RepShl");
    return(s);
}
//---------------------------------------------------------------------------

void __fastcall TfrmRep::RefreshGridData(int mAction)
{
    AnsiString ItemStr;
    ItemStr = GetDataToGrid();
    // 新增
    if(mAction == 0)
    {
        sgRep->AddItem(ItemStr);
        sgRep->Row=sgRep->RowCount-1;
    }
    // 修改
    else if(mAction == 1)
    {
        sgRep->ChangeItem(ItemStr,sgRep->Row);
    }
    // 删除
    else if(mAction == 2)
    {
        sgRep->RemoveItem(sgRep->Row);
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmRep::FillGridWithData()
{
    AnsiString ItemStr;
    comServer->MoveFirst();
    sgRep->RowCount = 1;
    while(comServer->Eof == 0)
    {
        ItemStr = GetDataToGrid();
        sgRep->AddItem(ItemStr);
        comServer->MoveNext();
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmRep::FormClose(TObject *Sender, TCloseAction &Action)
{
    TRecBaseForm::FormClose(Sender,Action);
}
//---------------------------------------------------------------------------
void __fastcall TfrmRep::FormShow(TObject *Sender)
{

⌨️ 快捷键说明

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