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

📄 pivoh.cpp

📁 速达开源ERP系统
💻 CPP
📖 第 1 页 / 共 3 页
字号:
    }
    sePivohAddr->Text=scPivohSupply->ItemData[4];
}
//---------------------------------------------------------------------------

void __fastcall TfrmPivoh::scPivohBankNameClick(TObject *Sender)
{
    AnsiString m_Sql;
    m_Sql = AnsiString("select distinct PsdBankNo,PsdCurrencyCode")
          + AnsiString(" FROM sdPsd")
          + AnsiString(" where PsdSupplyCode = '"+ Trim(scPivohSupply->ItemData[1])+"'")
          + AnsiString(" and PsdBankName = '"+ Trim(scPivohBankName->Text)+"' order by psdbankno");
    FillComboBox(scPivohBankNo,m_Sql,"PsdBankNo","PsdCurrencyCode");
    scPivohBankNo->ItemIndex=-1;
    scPivohBankNoClick(NULL);
}
//---------------------------------------------------------------------------

void __fastcall TfrmPivoh::CalculateAmt(char mAction, int iRow)
{
    double PivodAmt,PivohAmt;
    double PivodTaxAmt,PivohTaxAmt;
    double PivodSumAmt,PivohSumAmt;
    double PivodZkAmt,PivohZkAmt;
    PivodAmt=StrToFloat(sgPivoh->TextMatrix[iRow][6]);
    PivodTaxAmt=StrToFloat(sgPivoh->TextMatrix[iRow][8]);
    PivodSumAmt=StrToFloat(sgPivoh->TextMatrix[iRow][9]);
    PivodZkAmt=StrToFloat(sgPivoh->TextMatrix[iRow][10]);
    if(mAction=='+')
    {
     PivohAmt = StrToFloat(sePivohAmt->Text) + PivodAmt;
     PivohTaxAmt = StrToFloat(sePivohTaxAmt->Text) + PivodTaxAmt;
     PivohSumAmt = StrToFloat(sePivohSumAmt->Text) + PivodSumAmt;
     PivohZkAmt = StrToFloat(sePivohZkAmt->Text) + PivodZkAmt;
    }
    else //mAction == "-"
    {
     PivohAmt = StrToFloat(sePivohAmt->Text) - PivodAmt;
     PivohTaxAmt = StrToFloat(sePivohTaxAmt->Text) - PivodTaxAmt;
     PivohSumAmt = StrToFloat(sePivohSumAmt->Text) - PivodSumAmt;
     PivohZkAmt = StrToFloat(sePivohZkAmt->Text) - PivodZkAmt;
    }
    sePivohAmt->Text = AnsiString(PivohAmt);
    sePivohTaxAmt->Text = AnsiString(PivohTaxAmt);
    sePivohSumAmt->Text = AnsiString(PivohSumAmt);
    sePivohZkAmt->Text = AnsiString(PivohZkAmt);
}

void __fastcall TfrmPivoh::FillPodLine()
{
 if(scPivohPoCode->Text != "")
 {
  AnsiString sSQL;
  sSQL=" select podcode+'-'+ltrim(str(podline)) memo,podline,podgoods,podprice,podqty ";
  sSQL=sSQL+" from sdpod ";
  sSQL=sSQL+" where podcode ='"+scPivohPoCode->Text+"' order by podline";
  FillComboBox(scPivodPodLine,sSQL,"memo","podline","podgoods","podqty","podprice");
  scPivodPodLine->ItemIndex=-1;

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

void __fastcall TfrmPivoh::AutoCalculate()
{
   //自动计算合计金额和含税合计
   double TempAmt,TempPrice,TempQty;
   if((sePivodTaxPrice->Text!="")&&(sePivodQty->Text!=""))
   {
    TempQty=StrToFloat(sePivodQty->Text);
    //单价=含税价/(1+税率)
    TempPrice=StrToFloat(sePivodTaxPrice->Text);
    //Func.h  double _EXPORT_TYPE DataCarry(double data,int scale,int method)
    //精度scale:0,1,2 方式method:0-四舍五入,1-取整,2-向上取整
    sePivodPrice->Text=FloatToStr(DataCarry(TempPrice/(1+StrToFloat(sePivohTaxRate->Text)),2,0));
    //金额=单价*数量
    TempAmt=StrToFloat(sePivodPrice->Text)*TempQty;
    sePivodAmt->Text = AnsiString(TempAmt);
    if((sePivodAmt->Text!="")&&(sePivohEnrate->Text!=""))
    {
     //税额=金额*税率
     TempAmt=StrToFloat(sePivodAmt->Text)*StrToFloat(sePivohTaxRate->Text);
     sePivodTaxAmt->Text=AnsiString(TempAmt);
     //价税合计=金额+税额
     TempAmt=StrToFloat(sePivodAmt->Text)+StrToFloat(sePivodTaxAmt->Text);
     sePivodSumAmt->Text = AnsiString(TempAmt);
    }
   }
}
//---------------------------------------------------------------------------

void __fastcall TfrmPivoh::sePivodQtyExit(TObject *Sender)
{
 AutoCalculate();
}
//---------------------------------------------------------------------------

void __fastcall TfrmPivoh::scPivohBuyerClick(TObject *Sender)
{
 if(scPivohBuyer->ItemIndex > -1)
  sePivohTel->Text=scPivohBuyer->ItemData[2];
}
//---------------------------------------------------------------------------

void __fastcall TfrmPivoh::sePivodGoodsButtonClick(TObject *Sender)
{
 OpenGoodsQuery("select * from sdgoods,sdpgd where goodscode=pgdgoodscode and pgdsupplycode='"
                +scPivohSupply->ItemData[1]+"'");
 if(QueryStatus==1)
 {
  sePivodGoods->Text=GetGoodsValue("GoodsCode");
  sePivodGoodsName->Text=GetGoodsValue("GoodsName");
  sePivodUnit->Text=GetGoodsValue("GoodsUnitCode");
 }

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

void __fastcall TfrmPivoh::scPivohCurrencyClick(TObject *Sender)
{
 //获取汇率
 TComResultSet *RsRate;
 AnsiString sSql;
 if(scPivohCurrency->ItemIndex > -1)
 {
  sSql=" select rateratio from sdrate where ratefmonth ='"
      +scPivohFmonth->Text+"' and ratecurrency = '"+scPivohCurrency->ItemData[1]+"'";
  RsRate=NewResultSet();
  RsRate->Open(sSql,"");
  if(RsRate->RecordCount > 0)
   sePivohEnrate->Text=RsRate->FieldByName("rateratio");
  else
   sePivohEnrate->Text="1";
  RsRate->Close();
 }
 delete RsRate;

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


void __fastcall TfrmPivoh::sePivodGoodsExit(TObject *Sender)
{
 if(Trim(sePivodGoods->Text)!="")
 {
  g_sdRsGoods->LocateByKey(WideString(Trim(sePivodGoods->Text)));
  sePivodGoods->Text=GetGoodsValue("GoodsCode");
  sePivodGoodsName->Text=GetGoodsValue("GoodsName");
  sePivodUnit->Text=GetGoodsValue("GoodsUnitCode");
 }
}
//---------------------------------------------------------------------------
void __fastcall TfrmPivoh::RefreshUpdateData(int MsgSrc,int MsgType)
{
  switch(MsgSrc)
  {
   case euSdPoh:
    if(ShowUpdateMessage(MsgSrc,MsgType))
    {
     AnsiString sSQL;
     sSQL=" select pohcode,PohContract,PohSupply,PohSettleMode,supplyaddr ";
     sSQL=sSQL+" from sdpoh,sdsupply ";
     sSQL=sSQL+" where pohcheck=1 and pohcancel=0 and pohstop=0 and pohsupply=supplycode order by pohcode";
     FillComboBox(scPivohPoCode,sSQL,"pohcode","PohContract","PohSupply","PohSettleMode","supplyaddr");
    }
    break;
   case euSdFc:
    scPivohFmonth->Text=g_sdPMonth;
    break;
   case euSdSupply:
    if(ShowUpdateMessage(MsgSrc,MsgType))
    {
     FillComboBox(scPivohSupply,"SELECT SupplyCode,SupplyName,SupplyTaxCode,SupplyTaxNo,supplyaddr FROM sdSupply  where supplycancel=0  order by SupplyCode",
                   "SupplyName","SupplyCode","SupplyTaxCode","SupplyTaxNo","supplyaddr");
    }
    break;
   case euSdCurrency:
    if(ShowUpdateMessage(MsgSrc,MsgType))
    {
     FillComboBox(scPivohCurrency,"SELECT currencyname memo,currencycode FROM sdCurrency order by currencycode","memo","CurrencyCode");
    }
    break;
   case euSdTax:
    if(ShowUpdateMessage(MsgSrc,MsgType))
    {
     FillComboBox(scPivohTaxCode,"SELECT taxname memo,TaxCode,taxrate FROM sdTax order by taxcode","memo","TaxCode","taxrate");
    }
    break;
   case euSdSettleMode:
    if(ShowUpdateMessage(MsgSrc,MsgType))
    {
     FillComboBox(scPivohSettleMode,"SELECT SettleModeName memo,SettleModeCode FROM sdSettleMode order by settlemodename","memo","SettleModeCode");
    }
    break;
   case euSdDept:
    if(ShowUpdateMessage(MsgSrc,MsgType))
    {
     FillComboBox(scPivohDept,"SELECT DeptName memo,DeptCode FROM sdDept where deptend=1 order by deptcode","memo","DeptCode");
    }
    break;
   case euSdBuyer:
    if(ShowUpdateMessage(MsgSrc,MsgType))
    {
     FillComboBox(scPivohBuyer,"SELECT BuyerName memo,BuyerCode,BuyerTel FROM sdBuyer order by buyercode","memo","BuyerCode","BuyerTel");
    }
    break;
   case euSdCac:
    if(ShowUpdateMessage(MsgSrc,MsgType))
    {
     FillComboBox(scPivohCacCode,"SELECT CacbankName memo,CacCode FROM sdCac order by caccode","memo","CacCode");
    }
    break;
   default:
    break;
  }
}
//---------------------------------------------------------------------------


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

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

void __fastcall TfrmPivoh::scPivohBankNoClick(TObject *Sender)
{
 if(scPivohBankNo->Text!="")
 {
  scPivohCurrency->LocateKey(scPivohBankNo->ItemData[1]);
  scPivohCurrencyClick(NULL);
 }
}
//---------------------------------------------------------------------------

void __fastcall TfrmPivoh::scPivohTypeClick(TObject *Sender)
{
 if(scPivohType->ItemIndex==0) // 普通发票
 {
  scPivohTaxCode->ItemIndex=-1;
  scPivohTaxCode->Enabled=false;
  sePivohTaxNo->Text="";
  sePivohTaxRate->Text="0";
 }
 else
 {
  scPivohTaxCode->Enabled=true;
  scPivohTaxCode->LocateKey(scPivohSupply->ItemData[2]);
  scPivohTaxCodeExit(NULL);
  sePivohTaxNo->Text=scPivohSupply->ItemData[3];
 }
}
//---------------------------------------------------------------------------

void __fastcall TfrmPivoh::scPivohPoCodeExit(TObject *Sender)
{
 CheckComboBoxText(scPivohPoCode);
 if(scPivohPoCode->ItemIndex > -1)
 {
  sePivohContract->Text=scPivohPoCode->ItemData[1];
  scPivohSupply->LocateKey(scPivohPoCode->ItemData[2]);
  scPivohSupplyClick(NULL);
  scPivohSettleMode->LocateKey(scPivohPoCode->ItemData[3]);
  sePivohAddr->Text=scPivohPoCode->ItemData[4];
  sePivohContract->Enabled=false;
  scPivohSupply->Enabled=false;
  scPivohSettleMode->Enabled=false;
 }
 else
 {
  sePivohContract->Text="";
  scPivohSupply->Text="";
  scPivohSupplyClick(NULL);
  scPivohSettleMode->ItemIndex=-1;
  scPivohSettleMode->Text="";
  sePivohAddr->Text="";
  sePivohContract->Enabled=true;
  scPivohSupply->Enabled=true;
  scPivohSettleMode->Enabled=true;
 }
}
//---------------------------------------------------------------------------

void __fastcall TfrmPivoh::scPivohTaxCodeExit(TObject *Sender)
{
 CheckComboBoxText(scPivohTaxCode);
 if(scPivohTaxCode->ItemIndex >-1)
 {
  sePivohTaxRate->Text=scPivohTaxCode->ItemData[2];
 }

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

void __fastcall TfrmPivoh::scPivohDeptExit(TObject *Sender)
{
 CheckComboBoxText(scPivohDept);
}
//---------------------------------------------------------------------------

void __fastcall TfrmPivoh::scPivodPodLineExit(TObject *Sender)
{
 CheckComboBoxText(scPivodPodLine);
 if(scPivodPodLine->ItemIndex > -1)
 {

  g_sdRsGoods->LocateByKey(WideString(scPivodPodLine->ItemData[cbItem3]));
  sePivodGoods->Text = GetGoodsValue("GoodsCode");
  sePivodGoodsName->Text = GetGoodsValue("GoodsName");
  sePivodUnit->Text = GetGoodsValue("GoodsUnitCode");
  sePivodPrice->Text=scPivodPodLine->ItemData[cbItem5];
  sePivodQty->Text=scPivodPodLine->ItemData[cbItem4];
  sePivodQtyExit(NULL);
 }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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