用友UAP報表高級開發(fā)之輸出事件_第1頁
用友UAP報表高級開發(fā)之輸出事件_第2頁
用友UAP報表高級開發(fā)之輸出事件_第3頁
用友UAP報表高級開發(fā)之輸出事件_第4頁
用友UAP報表高級開發(fā)之輸出事件_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 報表輸出事件1. 原理運用.net動態(tài)編譯原理,所以語法上完全遵守c#語法規(guī)則,寫的代碼要在運行時期取編譯運行的2. 執(zhí)行時間加載完數(shù)據(jù)和個時候,要呈現(xiàn)前把該腳本功能應(yīng)用上3. 報表元數(shù)據(jù)組成:C#標(biāo)準(zhǔn)語法和報表中已經(jīng)存在的變量組成4. 腳本對象:4.1. filter【功能介紹】    過濾條件對象,獲取過濾條件中的值【對象函數(shù)】    返回過濾條件區(qū)間初始值(編碼):string GetValue1(string key);    返回過濾條件區(qū)間結(jié)束值(編碼):str

2、ing GetValue2(string key);    返回過濾條件區(qū)間初始值(名稱): string GetName1(string key);    返回過濾條件區(qū)間結(jié)束值(名稱):string GetName2(string key);【用例】    filter.GetValue1("訂單號")4.2. global【功能介紹】    全局對象,定義全局變量【對象函數(shù)】   

3、 執(zhí)行SQL語句:object ExecuteScalar(string sql)    執(zhí)行SQL語句并返回結(jié)果:DataSet Execute(string sql)    報表中的全局變量:.varent-定義的全局變量【用例】    global.ExecuteScalar("select top 1 ccode from SA_Sale");    global.A   A為報

4、表中定義的全局變量4.3. current 【功能介紹】    獲取當(dāng)前行【對象函數(shù)】    獲取當(dāng)前行的某列(只有g(shù)et):object currentcolumnname    獲取當(dāng)前行的某列:.columnname    -列值【用例】    current.訂單號current"訂單號"定義sb.Append("public class Currentrn"

5、); sb.Append("rn"); sb.Append("private RowData _rowdata;rn"); sb.Append("public Current(RowData rowdata)rn"); sb.Append("rn"); sb.Append("_rowdata=rowdata;rn"); sb.Append("rn"); sb.Append("public object thisstring namern"); sb.App

6、end("rn"); sb.Append("getrn"); sb.Append("rn"); sb.Append("return _rowdataname;rn"); sb.Append("rn"); sb.Append("setrn"); sb.Append("rn"); sb.Append("_rowdataname=value;rn"); sb.Append("rn"); sb.Append("rn

7、");4.4. privious【功能介紹】    獲取前一行【對象函數(shù)】    獲取前一行的某列:object previouscolumnname    獲取前一行的某列:.columnname    -列值【用例】    previous.訂單號    previous"訂單號"【功能介紹】   

8、60;獲取系統(tǒng)參數(shù)【對象函數(shù)】    執(zhí)行SQL語句:void ExecuteNonQuery(string sql)    執(zhí)行SQL語句,返回結(jié)果:object ExecuteScalar(string sql)    執(zhí)行SQL語句,返回結(jié)果:DataSet Exec(string sql)    在Meta庫中執(zhí)行SQL語句,返回結(jié)果:DataSet ExecFromMeta(string sql)  

9、60; 用戶名:string UserName    當(dāng)前日期:string Date    當(dāng)前時間:string Time    當(dāng)前年:int Year    當(dāng)前月:int Month    當(dāng)前日:int Day    帳套年:int AccountYear    帳套月:int AccountMo

10、nth    用戶自定義參數(shù):string CusDefineInfo(string key)    公司信息:string CompanyInfo(string key)【用例】    datahelper.CusDefineInfo("存貨.自定義項1")4.5. args【功能介紹】    傳遞參數(shù)【對象函數(shù)】    取參數(shù)對象:object thisstring key

11、    取參數(shù)對象:object GetValue(string key);【用例】args"filterflag"4.6. indexs【功能介紹】    分組索引【對象函數(shù)】    startindex    -每一分組的開始序號    endindex      -每一分組的結(jié)束序號    c

12、urrentindex  -當(dāng)前序號4.7. groups【功能介紹】    分組函數(shù),獲取報表的分組情況及指定分組【對象函數(shù)】    取指定分組:Group thisint index     取分組級次:int Levelsget;    取此組的分組數(shù):int Countget;4.8. currenggoup【功能介紹】    分組函數(shù),獲取當(dāng)前組信息【對象函數(shù)】 &#

13、160;  獲取分組:string thisstring name     獲取下級分組:Groups ChildGroups    獲取上級分組:Group Parent     分組的可見性:bool Visible     分組的級次:int Level4.9. Cells【功能介紹】    字段組函數(shù),獲取指定字段【對象函數(shù)】   

14、0;獲取指定列:Cell thisstring namecell.Caption=cells"cInvCode".ToString();4.10. Report【功能介紹】    報表對象,獲取報表信息【對象函數(shù)】    獲取報表的分組級次:int GroupLevels    獲取二次過濾條件:string  RowFilter.FilterStringstring  GroupFilterreportsummaryData【功能介紹

15、】    報表匯總對象,獲取報表的匯總信息【對象函數(shù)】    獲取指定字段的匯總數(shù):Double thisstring mapname【用例】    this"存貨數(shù)量"5. 例子5.1. 根據(jù)已有內(nèi)容,動態(tài)顯示另外一個值比“數(shù)據(jù)權(quán)限查詢”報表中的 有權(quán)if(cell.Value.ToString().Trim() = "1")cell.Caption=""elsecell.Caption=""5

16、.2. 獲取當(dāng)前登陸語言,并且動態(tài)顯示列名稱if(cell.Value.ToString().Trim() = "")if(datahelper.Login.LocaleID.ToLower() = "zh-cn")cell.Caption="來源自身"if(datahelper.Login.LocaleID.ToLower() = "zh-tw")cell.Caption="來源自身"if(datahelper.Login.LocaleID.ToLower() = "en-us&qu

17、ot;)cell.Caption="Inherit From Self"5.3. 根據(jù)不同值,顯示不同的背景色,起醒目提示作用if (Convert.ToDouble(cell.Value) > 100000)    cell.ForeColor = Color.Red;效果】· "銷售額"字段按上述條件變化背景色;"提成額"按上述條件設(shè)置為紅色。5.4. 計算邏輯復(fù)雜計算列,需要根據(jù)上一行內(nèi)容來動態(tài)計算,完全是靠代碼寫出來的如應(yīng)付總賬表中的余額本幣列if( currentind

18、ex = 0 )/current.ye = current.ye+current.jf-current.df-current.jf2+current.df2;elsecurrent.ye = previous.ye+current.jf-current.df-current.jf2+current.df2;return current.ye;6. 附錄(編譯后的具體代碼)public class CellcWhName:ICellEventpublic void Prepaint(Report report, RowData data, Cell innercell, FilterSrv fi

19、lter, AgileArgs args, DataHelper datahelper, ReportSummaryData reportsummary, RowBalance rowbalance, AccumulateData accumulate, BalanceData balance,object others) Current current=null; int grouplevels=report.GroupLevels; int currentindex=-1; int startindex=-1; Groups groups=null; Group currentgroup=

20、null; RowData columntodata=null; Current previous=new Current(rowbalance); if(rowbalance !=null ) currentindex=rowbalance.CurrentIndex; startindex=rowbalance.StartIndex; SemiRow cells=(data!=null?data.SemiRow:null); SemiRow row=cells; IKeyToObject nametodata=cells as IKeyToObject; StimulateCell cell=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論