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

📄 rpttempleth.cpp

📁 速达开源ERP系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
        seRptTempletdScale->Enabled=false;
        seRptTempletdScale->Text="0";
        break;
      case 3:
        seRptTempletdWidth->Enabled=false;
        seRptTempletdWidth->Text="5";
        seRptTempletdScale->Enabled=false;
        seRptTempletdScale->Text="0";
        break;
      case 4:
        seRptTempletdWidth->Enabled=false;
        seRptTempletdWidth->Text="1";
        seRptTempletdScale->Enabled=false;
        seRptTempletdScale->Text="0";
        break;
      case 5:
        seRptTempletdWidth->Enabled=false;
        seRptTempletdWidth->Text="10";
        seRptTempletdScale->Enabled=false;
        seRptTempletdScale->Text="0";
        break;
      case 6:
        seRptTempletdWidth->Enabled=false;
        seRptTempletdWidth->Text="1";
        seRptTempletdScale->Enabled=false;
        seRptTempletdScale->Text="0";
        break;
      case 7:
        seRptTempletdWidth->Enabled=false;
        seRptTempletdWidth->Text="10";
        seRptTempletdScale->Enabled=false;
        seRptTempletdScale->Text="0";
        break;
      case 8:
        seRptTempletdWidth->Enabled=false;
        seRptTempletdWidth->Text="8";
        seRptTempletdScale->Enabled=false;
        seRptTempletdScale->Text="0";
        break;
    }

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

void __fastcall TfrmRptTempleth::scRptTempletdTypeExit(TObject *Sender)
{
    switch(scRptTempletdType->ItemIndex)
    {
      case 0:
        seRptTempletdWidth->Enabled=true;
        seRptTempletdWidth->Text="18";
        seRptTempletdScale->Enabled=false;
        seRptTempletdScale->Text="0";
        break;
      case 1:
        seRptTempletdWidth->Enabled=true;
        seRptTempletdWidth->Text="12";
        seRptTempletdScale->Enabled=true;
        seRptTempletdScale->Text="0";
        break;
      case 2:
        seRptTempletdWidth->Enabled=false;
        seRptTempletdWidth->Text="10";
        seRptTempletdScale->Enabled=false;
        seRptTempletdScale->Text="0";
        break;
      case 3:
        seRptTempletdWidth->Enabled=false;
        seRptTempletdWidth->Text="5";
        seRptTempletdScale->Enabled=false;
        seRptTempletdScale->Text="0";
        break;
      case 4:
        seRptTempletdWidth->Enabled=false;
        seRptTempletdWidth->Text="1";
        seRptTempletdScale->Enabled=false;
        seRptTempletdScale->Text="0";
        break;
      case 5:
        seRptTempletdWidth->Enabled=false;
        seRptTempletdWidth->Text="10";
        seRptTempletdScale->Enabled=false;
        seRptTempletdScale->Text="0";
        break;
      case 6:
        seRptTempletdWidth->Enabled=false;
        seRptTempletdWidth->Text="1";
        seRptTempletdScale->Enabled=false;
        seRptTempletdScale->Text="0";
        break;
      case 7:
        seRptTempletdWidth->Enabled=false;
        seRptTempletdWidth->Text="10";
        seRptTempletdScale->Enabled=false;
        seRptTempletdScale->Text="0";
        break;
      case 8:
        seRptTempletdWidth->Enabled=false;
        seRptTempletdWidth->Text="8";
        seRptTempletdScale->Enabled=false;
        seRptTempletdScale->Text="0";
        break;
    }
}
//---------------------------------------------------------------------------
void __fastcall TfrmRptTempleth::seRptTemplethCodeKeyDown(TObject *Sender,
      WORD &Key, TShiftState Shift)
{
    if(Key==13 && CurrentState==caNormal)
    {
      comServer->LocateByKey(WideString(seRptTemplethCode->Text));
      DisplayBill();
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmRptTempleth::scRptTemplethViewClick(TObject *Sender)
{
 if(!scRptTemplethView->Text.IsEmpty())
   {
   SetHeadValue(fiRptTemplethView,scRptTemplethView->ItemData[1]);
   scRptTemplethClassID->LocateKey(GetHeadValue(fiRptTemplethClassID));
   }
}
//---------------------------------------------------------------------------



void __fastcall TfrmRptTempleth::BtnSortClick(TObject *Sender)
{
 if(!seRptTemplethCode->Text.IsEmpty())
 {
  TfrmRptSort *frmSort= new TfrmRptSort(this);
   try{
         frmSort->SortTemplet=GetHeadValue(fiRptTemplethCode);
         frmSort->ShowModal();
       }
     __finally
     {
     delete frmSort;
     }
  }
}
//---------------------------------------------------------------------------

void __fastcall TfrmRptTempleth::BtnGroupClick(TObject *Sender)
{
 if(!seRptTemplethCode->Text.IsEmpty())
 {
  TfrmRptGroup *frmGroup= new TfrmRptGroup(this);
  try{
         frmGroup->GroupTemplet=GetHeadValue(fiRptTemplethCode);
         frmGroup->ShowModal();
       }
     __finally
     {
     delete frmGroup;
     }
   }
}
//---------------------------------------------------------------------------

void __fastcall TfrmRptTempleth::BtnQueryClick(TObject *Sender)
{
 if(!seRptTemplethCode->Text.IsEmpty())
 {
  TfrmTestQuery *TestQuery= new TfrmTestQuery(this);
  TComResultSet *RsQuery;
  try{
      AnsiString FieldStr,sSql;
      sSql="select * from sdRptSort where RptSortTemplet='"+seRptTemplethCode->Text+"'";
      RsQuery=NewResultSet();
      RsQuery->Open(WideString(sSql),WideString(""));
      FieldStr="";
      if(RsQuery->RecordCount>0)
      {
       RsQuery->MoveFirst();
       while(RsQuery->Eof==0)
        {
         FieldStr=FieldStr+RsQuery->FieldByName("RptSortField")+",";
         RsQuery->MoveNext();
        }
        FieldStr=FieldStr.SubString(1,FieldStr.Length()-1);
       }
       RsQuery->Close();
       TestQuery->SortField=FieldStr;
       sSql="select * from sdRptGroup where RptGroupTemplet='"+seRptTemplethCode->Text+"'";
       RsQuery->Open(WideString(sSql),WideString(""));
       FieldStr="";
       if(RsQuery->RecordCount>0)
       {
        RsQuery->MoveFirst();
        while(RsQuery->Eof==0)
        {
         FieldStr=FieldStr+RsQuery->FieldByName("RptGroupField")+",";
         RsQuery->MoveNext();
        }
        FieldStr=FieldStr.SubString(1,FieldStr.Length()-1);
       }
       TestQuery->GroupField=FieldStr;
       TestQuery->RptTemplet=Trim(seRptTemplethCode->Text);
       TestQuery->ShowModal();
       }
     __finally
     {
     delete TestQuery;
     delete RsQuery;
     }
   }

}
//---------------------------------------------------------------------------
void __fastcall TfrmRptTempleth::GenrateBill()
{
 if(scRptTemplethView->Text.IsEmpty())
   {
    ShowMessageWindow("视图名不能为空!",mwsInformation);
    CancelChange();
    return;
   }
   TfrmViewList *VFieldList= new TfrmViewList(this);
   try{
         VFieldList->BillNumID=Trim(scRptTemplethView->ItemData[cbItem2]);
         VFieldList->ShowModal();
       if(VFieldList->ModalResult==mrOk)
         {
           int MaxLine=1;
           double Amt;
           if(comServer->ItemCount>0)
            {
             comServer->LocateItemByIndex(comServer->ItemCount-1);
             MaxLine=StrToInt(GetDetailValue(fiRptTempletdNo))+1;
            }
           for(int i=1;i<VFieldList->sgVField->RowCount;i++)
             {
              if(VFieldList->sgVField->TextMatrix[i][1]=="√")
                 {
                 VFieldList->comServer->LocateItemByKey(WideString(VFieldList->sgVField->TextMatrix[i][2]));
                  comServer->AddItem();
                  //给视图名(VFieldView)赋值
                  SetDetailValue(fiRptTempletdCode,seRptTemplethCode->Text);
                  SetDetailValue(fiRptTempletdNo,IntToStr(MaxLine++));
                  SetDetailValue(fiRptTempletdField,VFieldList->GetDetailValue(fiVFieldName));
                  SetDetailValue(fiRptTempletdName,VFieldList->GetDetailValue(fiVFieldDesc));
                  SetDetailValue(fiRptTempletdDesc,VFieldList->GetDetailValue(fiVFieldDesc));
                  SetDetailValue(fiRptTempletdType,VFieldList->GetDetailValue(fiVFieldType));
                  SetDetailValue(fiRptTempletdWidth,VFieldList->GetDetailValue(fiVFieldWidth));
                  SetDetailValue(fiRptTempletdScale,VFieldList->GetDetailValue(fiVFieldScale));
//                  SetDetailValue(fiRptTempletdFlg,VFieldList->GetDetailValue(fiVFieldFlg));
//                  SetDetailValue(fiRptTempletdExpr,VFieldList->GetDetailValue(fiVFieldExpr));
                  comServer->AddToObject();
                  CheckGroupField(GetDetailValue(fiRptTempletdField),GetDetailValue(fiRptTempletdType));
               }
              }
            FillGridWithData();
          }
       }
     __finally
     {
        delete VFieldList;
//        CancelChange();
    }
}


void __fastcall TfrmRptTempleth::sgRptTemplethClick(TObject *Sender)
{
    if (sgRptTempleth->Row> 0)
         comServer->LocateItemByKey(WideString(sgRptTempleth->TextMatrix[sgRptTempleth->Row][2]));
    if (!comServer->Eof)
         GetDataFromComObject(2);

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

void __fastcall TfrmRptTempleth::BtnFilterClick(TObject *Sender)
{
  if(!seRptTemplethCode->Text.IsEmpty())
 {
  TfrmRptFilter *frmFilter= new TfrmRptFilter(this);
  try{
         frmFilter->FilterTemplet=GetHeadValue(fiRptTemplethCode);
         frmFilter->ShowModal();
       }
     __finally
     {
     delete frmFilter;
     }
   }

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



void __fastcall TfrmRptTempleth::BtnExprEditClick(TObject *Sender)
{
if(CurrentState!=caNormal&&chkRptTempletdFlg->Checked)
{
 TfrmTempletExprEdit *ExprEdit=new TfrmTempletExprEdit(this);
 try
 {
  ExprEdit->BillNumID=scRptTemplethView->ItemData[cbItem2];
  ExprEdit->TempletdExpr=GetDetailValue(fiRptTempletdExpr);
  if(ExprEdit->ShowModal()==mrOk)
    memRptTempletdExpr->Text=ExprEdit->TempletdExpr;
  }
  __finally
  {
  delete ExprEdit;
  }
 }
}
//---------------------------------------------------------------------------


void __fastcall TfrmRptTempleth::CheckGroupField(AnsiString FieldName,AnsiString FieldType)
{
           AnsiString TempletName,sSql;
           TComResultSet *RsQuery;
           RsQuery=NewResultSet();
           TempletName=seRptTemplethCode->Text;
           sSql="select rptgroupfield from sdrptgroup where rptgrouptemplet='"+TempletName+"'";
           RsQuery->Open(WideString(sSql),WideString(""));
           if(RsQuery->RecordCount>0)
           {
             if(FieldType!="F"&&FieldType!="N"&&FieldType!="L")
               {
                 sSql="select rptgroupfield from sdrptgroup where rptgrouptemplet='"+TempletName+"' and rptgroupfield='"+FieldName+"'";
                 RsQuery->Open(WideString(sSql),WideString(""));
                 if(RsQuery->RecordCount<1)
                   ShowMessageWindow("请调整分组定义字段,\n"+FieldName+"该字段未包含在分组里面",mwsWarning);
               }
              else
              {
               if(GetDetailValue(fiRptTempletdFlg)=="0")
                 ShowMessageWindow("该字段"+FieldName+"应是虚构字段,或许是最大MAX()、最小MIN()、\n平均AVG()、计数COUNT()、加和SUM()等的组合表达式",mwsError);
              }
          }
          delete RsQuery;

}

⌨️ 快捷键说明

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