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

📄 srewh.cpp

📁 速达开源ERP系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
{
       WriteFieldValue(comServer,Index,WideString(Value));
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::SetDetailValue(int Index,AnsiString Value)
{
       WriteItemValue(comServer,Index,WideString(Value));
}
//---------------------------------------------------------------------------



void __fastcall TfrmSrewh::FormShow(TObject *Sender)
{
       ClearControl(1,false);
       ClearControl(2,false);
       TGenBaseForm::MoveToFirst();
       ChangeToBrowseState(true);
}
//---------------------------------------------------------------------------

void __fastcall TfrmSrewh::sgSrewdSelectCell(TObject *Sender, int ACol,
      int ARow, bool &CanSelect)
{
    if (ARow == 0)
    {
       return;
    }
    comServer->LocateItemByKey(WideString(sgSrewd->TextMatrix[ARow][1]));
    if (!comServer->Eof)
    {
       GetDataFromComObject(2);
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::sgSrewdDblClick(TObject *Sender)
{
      int iRow;
      iRow=sgSrewd->Row;
      if (iRow == 0)
      {
         return;
      }
      comServer->LocateItemByKey(WideString(sgSrewd->TextMatrix[iRow][1]));
         GetDataFromComObject(2);
         sgSrewd->Visible=false;
         sgSrewd->Align=alNone;
         FloatPanel2->Visible=true;
         FloatPanel2->Align=alClient;
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::ChangeToBrowseState(bool Browse)
{
       FloatPanel2->Visible=false;
       FloatPanel2->Align =alNone;
       sgSrewd->Visible=true;
       sgSrewd->Align=alClient;
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::btnOKClick(TObject *Sender)
{
    if ((CurrentState==caAddDetail)||(CurrentState==caAddBill))
       {
        try
        {
          if(DetailState==caAddDetail)
            comServer->AddItem();
           SendDataToComObject(2);
           comServer->AddToObject();
           ClearControl(2,false);
         }
        catch(Exception &e)
         {
         throw Exception(e.Message);
         }
       }
     else
       ChangeToBrowseState(false);
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::btnCancelClick(TObject *Sender)
{
        CancelChange();
}
//---------------------------------------------------------------------------



void __fastcall TfrmSrewh::GenrateBill()
{
    int TempCount;
    TempCount = comServer->ItemCount;
    StartWaitForm("正在启动生成界面");
    TfrmSrewd *p=new TfrmSrewd(this);
    try
    {
      p->GetComObject(comServer);
      EndWaitForm();
      p->ShowModal();
      if (TempCount < comServer->ItemCount)
        TGenBaseForm::SaveRecord();
      else
        CancelChange();
    }
    __finally
    {
      delete p;
    }
}


void  __fastcall TfrmSrewh::RefreshUpdateData(int MsgSrc,int MsgType)
{
    AnsiString KeyCode;
    switch(MsgSrc)
    {
      case euSdSrewRr:
        if(ShowUpdateMessage(MsgSrc,MsgType))
          {
          KeyCode=scSrewhRr->Text;
          FillComboBox(scSrewhRr,"SELECT SrewRrCode FROM sdSrewRr","SrewRrCode");
          scSrewhRr->LocateKey(KeyCode);
          }
        break;
          //Srewd
      case euSdUnit:
        if(ShowUpdateMessage(MsgSrc,MsgType))
        {
         KeyCode=seSrewdUnit->Text;
          FillEdit(seSrewdUnit,"SELECT UnitCode,UnitName FROM sdUnit","UnitName","UnitCode");
         seSrewdUnit->LocateKey(KeyCode);
         }
        break;
      }
}

void __fastcall TfrmSrewh::seSrewhCodeKeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
    if(Key==13 && CurrentState==caNormal)
    {
      comServer->LocateByKey(WideString(seSrewhCode->Text));
      DisplayBill();
    }

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

void __fastcall TfrmSrewh::seSrewhClientButtonClick(TObject *Sender)
{
  AnsiString SqlStr;
  SqlStr="005[客户编码][客户名称][主币种][主税种][客户地址]select clientcode,clientname,clientcurrency,clienttaxcode,clientaddr from sdclient where clientcancel=0 order by clientcode";
  TfrmWnQuery *p;
  try
  {
    StartWaitForm("正在查询,请稍候...");
    p=new TfrmWnQuery(this,"客户资料查询",SqlStr);
  }
  __finally
  {
    EndWaitForm();
  }
  if(p->ShowModal()==mrOk)
  {
    seSrewhClient->LocateKey(p->ColData[1]);
  }
  delete p;  
}
//---------------------------------------------------------------------------

void __fastcall TfrmSrewh::seSrewhCurrencyButtonClick(TObject *Sender)
{
  AnsiString SqlStr;
  SqlStr="002[货币代码][货币名称]select Currencycode,CurrencyName from sdCurrency,sdssd where ssdCurrency=CurrencyCode and ";
  SqlStr+="ssdClient='"+seSrewhClient->ItemData[cbItem2]+"' order by CurrencyCode";
  TfrmWnQuery *p;
  try
  {
    StartWaitForm("正在查询,请稍候...");
    p=new TfrmWnQuery(this,"客户货币查询",SqlStr);
  }
  __finally
  {
    EndWaitForm();
  }
  if(p->ShowModal()==mrOk)
  {
    if(seSrewhCurrency->LocateKey(p->ColData[1]))
    {
      if(seSrewhCurrency->ItemData[cbItem4]=="1")
      {
        seSrewhEnrate->Enabled=false;
        seSrewhEnrate->Text="1";
      }
      else
      {
        seSrewhEnrate->Enabled=true;
        seSrewhEnrate->Text=seSrewhCurrency->ItemData[cbItem3];
      }
    }
  }
  delete p;
}
//---------------------------------------------------------------------------

void __fastcall TfrmSrewh::seSrewdSretCodeButtonClick(TObject *Sender)
{
  AnsiString SqlStr;
  SqlStr="010[退货单号][行号][物料编码][计量单位][换算系数][退货数量][返修数量][单价][货位][批号]";
  SqlStr+="select sretdcode,sretdline,sretdgoods,sretdunit,sretdConv,sretdqty,sretdfqty,sretdprice,sretdloc,sretdbatch from sdsretd,sdsreth where sretdcode=srethcode and srethcheck=1  and ";
  SqlStr+="srethclient='"+seSrewhClient->ItemData[cbItem2]+"' and srethcurrency='"+seSrewhCurrency->ItemData[cbItem2]+"' order by srethdate desc";
  TfrmWnQuery *p;
  try
  {
    StartWaitForm("正在查询,请稍候...");
    p=new TfrmWnQuery(this,"销售退货单查询",SqlStr);
  }
  __finally
  {
    EndWaitForm();
  }
  if(p->ShowModal()==mrOk)
  {
    seSrewdSretCode->Text=p->ColData[1];
    seSrewdSretdLine->Text=p->ColData[2];
    seSrewdGoods->Text=p->ColData[3];
    seSrewdUnit->LocateKey(p->ColData[4]);
    seSrewdConv->Text=p->ColData[5];
    if(g_sdRsGoods->LocateByKey(WideString(seSrewdGoods->Text))==0)
      seSrewdGoodsName->Text=GetGoodsValue("GoodsName");
    seSrewdLoc->LocateKey(p->ColData[9]);
    seSrewdBatch->Text=p->ColData[10];
  }
  delete p;  
}
//---------------------------------------------------------------------------

void __fastcall TfrmSrewh::seSrewdQtyButtonClick(TObject *Sender)
{
  AnsiString SqlStr;
  TfrmWnQuery *p;
  SqlStr="008[退货单号][行号][物料编码][计量单位][换算系数][退货数量][返修数量][单价]";
  SqlStr+="select Sretdcode,Sretdline,Sretdgoods,Sretdunit,Sretdconv,Sretdqty,Sretdfqty,Sretdprice from sdSretd where ";
  SqlStr+="Sretdcode='"+seSrewdSretCode->Text+"' and SretdLine="+seSrewdSretdLine->Text;

  try
  {
    StartWaitForm("正在查询,请稍候...");
    p=new TfrmWnQuery(this,"退货单查询",SqlStr);
  }
  __finally
  {
    EndWaitForm();
  }
  p->ShowModal();
  delete p;
}
//---------------------------------------------------------------------------

void __fastcall TfrmSrewh::seSrewdQtyExit(TObject *Sender)
{
  CalculateAmt();  
}
//---------------------------------------------------------------------------

void __fastcall TfrmSrewh::seSrewdPriceExit(TObject *Sender)
{
  CalculateAmt();  
}
//---------------------------------------------------------------------------


void __fastcall TfrmSrewh::CalculateAmt()
{
  double FAmt,FVal;
  FVal=seSrewdQty->Text.ToDouble()*seSrewdPrice->Text.ToDouble();
  FVal=DataCarry(FVal,2,0);
  seSrewdAmt->Text=FVal;
}
//---------------------------------------------------------------------------
void __fastcall TfrmSrewh::seSrewdBatchButtonClick(TObject *Sender)
{
  AnsiString SqlStr;
  SqlStr="005[批号代码][说明][数量][生效日期][失效日期]";
  SqlStr+=" select BatchCode,BatchDesc,BatchQty,BatchEffectDate,BatchAbateDate from sdBatch";
  SqlStr+=" where BatchEffectDate<='"+g_sdCurDate+"' and BatchAbateDate>'"+g_sdCurDate+"' order by BatchCode";
  TfrmWnQuery *p;
  try
  {
    StartWaitForm("正在查询,请稍候...");
    p=new TfrmWnQuery(this,"批号查询",SqlStr);
  }
  __finally
  {
    EndWaitForm();
  }
  if(p->ShowModal()==mrOk)
  {
    seSrewdBatch->LocateKey(p->ColData[1]);
  }
  delete p;


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

⌨️ 快捷键说明

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