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

📄 pbomh.cpp

📁 速达开源ERP系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#include "Pbomh.h"
//---------------------------------------------------------------------------
#pragma hdrstop
#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"

TfrmPbomh *frmPbomh;
//---------------------------------------------------------------------------
__fastcall TfrmPbomh::TfrmPbomh(TComponent* Owner)
        : TBillBaseForm(Owner,euSdPbomh,"")
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmPbomh::InitEditControl()
{
    ClientGroup->AddComponent(1,true,true,false,sgPbomh,sgPbomh->Name);
    ClientGroup->AddComponent(1,false,false,true,FloatPanel1,FloatPanel1->Name);
    ClientGroup->AddComponent(1,true,true,true,Panel2,Panel2->Name);
    ClientGroup->AddComponent(1,true,true,true,sePbomhEoq,sePbomhEoq->Name);
    ClientGroup->AddComponent(1,false,true,false,sePbomhGoods,sePbomhGoods->Name);

    ClientGroup->AddComponent(2,false,false,true,FloatPanel2,FloatPanel2->Name);
    ClientGroup->AddComponent(2,false,true,true,btnOK,btnOK->Name);
    ClientGroup->AddComponent(2,false,false,false,btnCancel,btnCancel->Name);
    ClientGroup->AddComponent(2,true,true,true,Panel1,Panel1->Name);

    //Pbomh
    FillComboBox(scPbomhProducter,"SELECT ProducterCode,memo=ProducterCode+space(1)+'('+UserName+')' from sdProducter,sdUser where UserCode=ProducterCode order by ProducterCode","memo","ProducterCode");
    FillComboBox(scPbomhUnit,"SELECT UnitCode,UnitName FROM sdUnit order by UnitCode","UnitName","UnitCode");
    //Pbomd
    FillComboBox(scPbomdUnit,"SELECT UnitCode,UnitName FROM sdUnit order by UnitCode","UnitName","UnitCode");
    FillComboBox(scPbomdProcess,"SELECT ProcessCode+Space(1)+'('+ProcessName+')' memo,ProcessCode,ProcessName FROM sdProcess order by ProcessCode","memo","ProcessCode","ProcessName");
}
//---------------------------------------------------------------------------
void __fastcall TfrmPbomh::RefreshUpdateData(int MsgSrc,int MsgType)
{
    try
    {
       switch (MsgSrc)
       {
         case euSdUnit:
           if(ShowUpdateMessage(MsgSrc,MsgType)){
	           StartWaitForm("正在刷新引用数据!");
	           FillComboBox(scPbomhUnit,"select UnitCode,UnitName from sdUnit order by UnitCode","UnitName","UnitCode");
	           FillComboBox(scPbomdUnit,"Select UnitCode,UnitName from sdUnit order by UnitCode","UnitName","UnitCode");
	           EndWaitForm();
	           break;
           }
         case euSdProcess:
           if(ShowUpdateMessage(MsgSrc,MsgType)){
	           StartWaitForm("正在刷新引用数据!");
               FillComboBox(scPbomdProcess,"SELECT ProcessCode+Space(1)+'('+ProcessName+')' memo,ProcessCode,ProcessName FROM sdProcess order by ProcessCode","memo","ProcessCode","ProcessName");
	           EndWaitForm();
	           break;
           }
         case euSdProducter:
           if(ShowUpdateMessage(MsgSrc,MsgType)){
	           StartWaitForm("正在刷新引用数据!");
               FillComboBox(scPbomhProducter,"SELECT ProducterCode,memo=ProducterCode+space(1)+'('+UserName+')' from sdProducter,sdUser where UserCode=ProducterCode order by ProducterCode","memo","ProducterCode");
	           EndWaitForm();
	           break;
           }
         default:
           break;
       }
    }
    __finally
    {
        //AddCode;
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmPbomh::ClearControl(int Section,bool BringToNext)
{
    if (Section == 1)
    {
       if (! BringToNext)
       {
           sePbomhGoods->Text ="";
           sePbomhGoodsName->Text ="";
           sePbomhVer->Text = "";
           sePbomhModel->Text = "";
           scPbomhUnit->ItemIndex=-1;
           sePbomhEoq->Text = "0";
           sePbomhRlt->Text = "0";
           scPbomhType->ItemIndex=0;
           scPbomhOp->ItemIndex=0;
           scPbomhPp->ItemIndex=0;
           sePbomhFpr->Text = "1.00";
           scPbomhProducter->ItemIndex =-1;
           labSysDate->Caption="";
           labPbomhUser->Caption=g_sdUserCode;
           dePbomhEdate->Text=g_sdCurDate;
           dePbomhIdate->Text="";
           memPbomhDesc->Text="";
       }
       sgPbomh->RowCount=1;
    }
    else if (Section==2)
    {
        if (!BringToNext)
        {
           sePbomdSn->Text =AnsiString(comServer->ItemCount+1);
           sePbomdGoods->Text="";
           sePbomdGoodsName->Text="";
           sePbomdVer->Text="";
           sePbomdModel->Text="";
           scPbomdUnit->ItemIndex=-1;
           sePbomdQty->Text="0";
           sePbomdShl->Text="0.00";
           sePbomdFcp->Text="0.00";
           sePbomdOptNo->Text="1";
           scPbomdFrom->ItemIndex=0;
           scPbomdType->ItemIndex=0;
           scPbomdProcess->ItemIndex=-1;
           chePbomdOption->Checked=false;
           scPbomdOp->ItemIndex=0;
           scPbomdPp->ItemIndex=0;
           sePbomdLot->Text="0";
           memPbomdDesc->Text="";
        }
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmPbomh::GetDataFromComObject(int Section)
{
    if (Section==1)
    {
       sePbomhGoods->Text=GetHeadValue(fiPbomhGoods);
       g_sdRsGoods->LocateByKey(WideString(GetHeadValue(fiPbomhGoods)));
       sePbomhGoodsName->Text=GetGoodsValue("GoodsName");
       sePbomhVer->Text=GetGoodsValue("GoodsVer");
       sePbomhModel->Text=GetGoodsValue("GoodsModel");
       if(GetGoodsValue("GoodsType")!="")
          scPbomhType->ItemIndex=StrToInt(GetGoodsValue("GoodsType"));
       else
          scPbomhType->ItemIndex=-1;
       scPbomhUnit->LocateKey(GetGoodsValue("GoodsUnitCode"));
       sePbomhEoq->Text=GetHeadValue(fiPbomhEoq);
       sePbomhRlt->Text=GetHeadValue(fiPbomhRlt);
       scPbomhOp->ItemIndex=StrToInt(GetHeadValue(fiPbomhOp))-1;
       scPbomhPp->ItemIndex=StrToInt(GetHeadValue(fiPbomhPp))-1;
       sePbomhFpr->Text=GetHeadValue(fiPbomhFpr);
       scPbomhProducter->LocateKey(GetHeadValue(fiPbomhProducter));
       labSysDate->Caption=GetHeadValue(fiPbomhSysDate);
       labPbomhUser->Caption=GetHeadValue(fiPbomhUser);
       dePbomhEdate->Text=GetHeadValue(fiPbomhEdate);
       dePbomhIdate->Text=GetHeadValue(fiPbomhIdate);
       memPbomhDesc->Text=GetHeadValue(fiPbomhDesc);
    }
    else
    {
       sePbomdSn->Text=GetDetailValue(fiPbomdSn);
       sePbomdGoods->Text=GetDetailValue(fiPbomdGoods);
       g_sdRsGoods->LocateByKey(WideString(GetDetailValue(fiPbomdGoods)));
       sePbomdGoodsName->Text=GetGoodsValue("GoodsName");
       sePbomdVer->Text=GetGoodsValue("GoodsVer");
       sePbomdModel->Text=GetGoodsValue("GoodsModel");
       scPbomdUnit->LocateKey(GetGoodsValue("GoodsUnitCode"));
       scPbomdType->ItemIndex=StrToInt(GetGoodsValue("GoodsType"))-1;
       scPbomdFrom->ItemIndex=StrToInt(GetGoodsValue("GoodsFrom"))-1;

       sePbomdQty->Text=GetDetailValue(fiPbomdQty);
       sePbomdShl->Text=GetDetailValue(fiPbomdShl);
       sePbomdFcp->Text=GetDetailValue(fiPbomdFcp);
       sePbomdOptNo->Text=GetDetailValue(fiPbomdOptNo);
       scPbomdProcess->LocateKey(GetDetailValue(fiPbomdProcess));
       chePbomdOption->Checked=GetDetailValue(fiPbomdOption)=="1";
       scPbomdOp->ItemIndex=StrToInt(GetDetailValue(fiPbomdOp))-1;
       scPbomdPp->ItemIndex=StrToInt(GetDetailValue(fiPbomdPp))-1;
       sePbomdLot->Text=GetDetailValue(fiPbomdLot);
       memPbomdDesc->Text=GetDetailValue(fiPbomdDesc);
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmPbomh::SendDataToComObject(int Section)
{
    if (Section==1)
    {
        SetHeadValue(fiPbomhGoods,sePbomhGoods->Text);
        SetHeadValue(fiPbomhEoq,sePbomhEoq->Text);
        SetHeadValue(fiPbomhRlt,sePbomhRlt->Text);
        SetHeadValue(fiPbomhOp,IntToStr(scPbomhOp->ItemIndex+1));
        SetHeadValue(fiPbomhPp,IntToStr(scPbomhPp->ItemIndex+1));
        SetHeadValue(fiPbomhFpr,sePbomhFpr->Text);
        SetHeadValue(fiPbomhProducter,scPbomhProducter->ItemData[1]);
        SetHeadValue(fiPbomhUser,labPbomhUser->Caption);
        SetHeadValue(fiPbomhEdate,dePbomhEdate->Text);
        SetHeadValue(fiPbomhIdate,dePbomhIdate->Text);
        SetHeadValue(fiPbomhDesc,memPbomhDesc->Text);
    }
    else
    {
        //给物料单行的父件编码(PbomdPgoods)赋值
        SetDetailValue(fiPbomdPgoods,sePbomhGoods->Text);
        //---------------------------------------
        SetDetailValue(fiPbomdSn,sePbomdSn->Text);
        SetDetailValue(fiPbomdGoods,sePbomdGoods->Text);
        SetDetailValue(fiPbomdQty,sePbomdQty->Text);
        SetDetailValue(fiPbomdShl,sePbomdShl->Text);
        SetDetailValue(fiPbomdFcp,sePbomdFcp->Text);
        SetDetailValue(fiPbomdOptNo,sePbomdOptNo->Text);
        SetDetailValue(fiPbomdProcess,scPbomdProcess->ItemData[cbItem2]);

        SetDetailValue(fiPbomdOption,chePbomdOption->Checked ? "1":"0");
        SetDetailValue(fiPbomdOp,IntToStr(scPbomdOp->ItemIndex+1));
        SetDetailValue(fiPbomdPp,IntToStr(scPbomdPp->ItemIndex+1));
        SetDetailValue(fiPbomdLot,sePbomdLot->Text);
        SetDetailValue(fiPbomdDesc,memPbomdDesc->Text);
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmPbomh::WaitUserInput(int Section)
{
    if(Section ==1){
       if(CurrentState==caAddHead)
          sePbomhGoods->SetFocus();
       else
          sePbomhRlt->SetFocus();
    }
    else
    {
       ChangeToBrowseState(false);
       if(sePbomdSn->Enabled)
          sePbomdSn->SetFocus();
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmPbomh::RefreshGridData(int mAction)
{
    int i;
    AnsiString ItemStr=GetItemStringToGrid();
    switch(mAction)
    {
       case 0:
         sgPbomh->AddItem(ItemStr);
         sgPbomh->Row=sgPbomh->RowCount-1;
         break;
       case 1:
         sgPbomh->ChangeItem(ItemStr,sgPbomh->Row);
         break;
       case 2:
         sgPbomh->RemoveItem(sgPbomh->Row);
    }
}

⌨️ 快捷键说明

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