freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

nc報表開發(fā)手冊(編輯修改稿)

2025-07-03 17:44 本頁面
 

【文章內(nèi)容簡介】 和列表頭 設(shè)計。表頭表尾可放置綁定參數(shù)的控件;第三步:瀏覽 F2(或掛功能節(jié)點),設(shè)置參數(shù),檢查數(shù)據(jù)與格式是否正確;動態(tài)匯總設(shè)置 第一步:同上述第一步(但也可以不設(shè)置聚合函數(shù),而是在旋轉(zhuǎn)交叉設(shè)置中把缺省的分組列 放到行列表中,把缺省的匯總列放到值列表中);第二步:同上述第二步,因交叉表的列結(jié)構(gòu)不能在設(shè)計態(tài)確定,因此只能指定非匯總列的列 格式等信息;第 17 頁第三步:同上述第三步,需要改變匯總設(shè)置的時候,利用表頭右鍵菜單的交叉功能把新的匯總列移到交叉行列表,確定即可;(關(guān)于交叉的詳細(xì)說明參見下一節(jié))【FAQ】 行 SQL 向?qū)гO(shè)計時如何指定 group by 字段? 答:無需指定,系統(tǒng)自動把不含聚合函數(shù)的查詢字段作為 group by 字段。 行 SQL 手工設(shè)計時為何 order by 字段無效? 答:需要顯式指定排序字段的排序方式(升序——asc,降序——desc)?!痉独?單位費用匯總表——各單位在指定期間范圍內(nèi)的費用匯總情況。報表中要求包括公司、期間、科目、匯總發(fā)生額等信息,用戶可以根據(jù)年度和期間范圍進(jìn)行查詢。公司期間科目借發(fā)生額貸發(fā)生額 創(chuàng)建查詢對象,編碼為 glsum,名稱為費用匯總;進(jìn)行參數(shù)定義,增加三個字符型參數(shù):年,起始期間,終止期間;進(jìn)行 SQL 向?qū)гO(shè)計:從數(shù)據(jù)字典添加憑證表、憑證分錄、科目表和公司目錄,指定表間 連接關(guān)系、查詢字段、篩選條件和排序字段(除查詢字段外均與模式 的范例相同);第 18 頁在篩選條件頁簽增加待定條件,在右操作數(shù)框中按 F12 引用參數(shù);創(chuàng)建格式對象,編碼為 glsum,名稱為“費用匯總表”。引用查詢“費用匯總”;進(jìn)行格式設(shè)計:添加表格和面板控件,表格停靠于中部,綁定數(shù)據(jù)集費用匯總,面板停 靠于北部(作為表頭容器),采用流式布局,在面板上放三個文本框控件,分別綁定費用匯 總的三個參數(shù);第 19 頁瀏覽費用匯總表(先設(shè)置參數(shù));第 20 頁當(dāng)前匯總設(shè)置是對公司、期間、科目分組統(tǒng)計發(fā)生額,如果需要動態(tài)改變匯總依據(jù),則可以使用表頭右鍵菜單中的交叉功能。比如我們需要按照公司、期間重新匯總,則把公司和 期間移至交叉行列表,發(fā)生額移至交叉值列表,確定即可;第 21 頁如果我們把科目移至交叉行,期間移至交叉列,發(fā)生額移至交叉值,那么就實現(xiàn)了帶有數(shù)據(jù)旋轉(zhuǎn)的動態(tài)匯總,即展現(xiàn)各科目在不同期間下匯總出來的發(fā)生額。關(guān)于旋轉(zhuǎn)交叉的詳細(xì) 應(yīng)用可參看模式 ;第 22 頁 列結(jié)構(gòu)依賴于查詢條件的報表(動態(tài) SQL)【概述】我們前邊提到過,SQL 查詢的結(jié)果具有固定的列結(jié)構(gòu)和動態(tài)的行結(jié)構(gòu),前兩個模式中雖然 都引入了參數(shù)來控制動態(tài)信息,但也只用于待定的篩選條件,即影響報表的行結(jié)構(gòu)。然而有 一類報表因查詢條件的不同而同時具有動態(tài)的列結(jié)構(gòu)和行結(jié)構(gòu),比如在供應(yīng)鏈的一些單據(jù)查 詢報表中,如果用戶在查詢條件中勾選了聯(lián)查訂單或到貨單,那么報表會在靜態(tài)的列結(jié)構(gòu)(可 能有 10 列)后面追加一些動態(tài)的列或列分組,用于顯示聯(lián)查單據(jù)的明細(xì)信息(此時報表可 能就變成了 20 列)?!緫?yīng)用場景】開發(fā)人員需要把靜態(tài)的查詢 SQL 同用戶對查詢條件設(shè)置的取值結(jié)合起來,構(gòu)造出幾種不同的 SQL,分別對應(yīng)于用戶希望看到的各種報表展現(xiàn)結(jié)果。這些 SQL 不僅僅存在篩選條件的 差異,也可能存在查詢字段、查詢表、分組字段、排序字段的差異。由于本模式采用的技術(shù) 方案需要通過代碼片段來描述查詢 SQL 究竟被如何矯正,因此本模式僅建議熟悉 JAVA 編 程的報表開發(fā)人員使用?!具m用性和不適用性】 適用于:第 23 頁190。 查詢結(jié)果可由規(guī)范的靜態(tài) SQL 和動態(tài)參數(shù)取值聯(lián)合決定; 不適用于:190。 查詢必須通過難以解析的復(fù)雜手工 SQL 才能描述;190。 要求對動態(tài)增加出來的列結(jié)構(gòu)進(jìn)行列格式設(shè)計的報表(因為這些列在設(shè)計態(tài)是未知的);【解決方案】取數(shù)由向?qū)?SQL 設(shè)計描述,查詢條件由參數(shù)控制機制解決,如何根據(jù)參數(shù)取值調(diào)整靜態(tài)SQL 則由 SQL 整理中的代碼片段來描述。SQL 整理中的常用數(shù)據(jù)結(jié)構(gòu)和接口方法如下所述: 查詢基本定義類 QueryBaseDef,所提供方法包括: FromTableVO[] getFromTables()。 //獲得查詢字段定義 SelectFldVO[] getSelectFlds()。 //獲得查詢字段定義 JoinCondVO[] getJoinConds()。 //獲得連接條件定義 WhereCondVO[] getWhereConds()。 //獲得篩選條件定義 GroupbyFldVO[] getGroupbyFlds()。 //獲得分組字段定義 OrderbyFldVO[] getOrderbyFlds()。 //獲得排序字段定義 以及相應(yīng) setter(設(shè)置)方法。 查詢表定義類 FromTableVO,所提供方法包括:String getTablecode()。 //獲得表物理名 String getTabledisname()。 //獲得表顯示名 String getTablealias()。 //獲得表別名void setTablecode(String)。 //設(shè)置表物理名void setTabledisname(String)。 //設(shè)置表顯示名void setTablealias(String)。 //設(shè)置表別名 查詢字段定義類 SelectFldVO,所提供方法包括:String getExpression()。 //獲得字段表達(dá)式 String getFldname()。 //獲得字段顯示名 String getFldalias()。 //獲得字段別名void setExpression (String)。 //設(shè)置字段表達(dá)式 void setFldname (String)。 //設(shè)置字段顯示名 void setFldalias (String)。 //設(shè)置字段別名 連接條件定義類 JoinCondVO,所提供方法包括:String getExpression0()。 //獲得篩選條件表達(dá)式void setExpression0(String)。 //設(shè)置篩選條件表達(dá)式 篩選條件定義類 WhereCondVO,所提供方法包括:String getExpression0()。 //獲得篩選條件表達(dá)式void setExpression0(String)。 //設(shè)置篩選條件表達(dá)式 分組字段定義類 GroupbyFldVO,所提供方法包括:String getExpression()。 //獲得分組字段void setExpression(String)。 //設(shè)置分組字段 排序字段定義類 OrderbyFldVO,所提供方法包括:String getExpression()。 //獲得排序字段UFBoolean getAsc()。 //獲得升序標(biāo)志void setExpression(String)。 //設(shè)置排序字段第 24 頁void setAsc(UFBoolean)。 //設(shè)置升序標(biāo)志 SQL 整理中獲得靜態(tài)查詢基本定義的方法為QueryBaseDef getQueryBaseDef()。整理代碼的核心目標(biāo)就是根據(jù)參數(shù)取值來調(diào)整這個 QueryBaseDef 的內(nèi)部結(jié)構(gòu)?!鹃_發(fā)步驟】第一步:在查詢引擎管理中建立查詢對象 Q3,做向?qū)?SQL 設(shè)計,描述靜態(tài)的 SQL 語句。在 Q3 的查詢模型中創(chuàng)建參數(shù)和引用參數(shù),用來描述待定的信息;第二步:在查詢模型中編寫 SQL 整理代碼,這段代碼采用純 JAVA 語法,目的是根據(jù)用戶 的參數(shù)設(shè)置取值調(diào)整靜態(tài)的查詢基本定義 QueryBaseDef,并把調(diào)整后的 QueryBaseDef 所生 成的 SQL 發(fā)到數(shù)據(jù)庫去執(zhí)行。整理界面的向?qū)鋬?nèi)置了常用的整理代碼向?qū)?,可以輔助開 發(fā)人員快速完成編碼;第三步:創(chuàng)建格式對象 F3,引用查詢對象 Q3 并嵌入表格,做相關(guān)的欄位、列格式和列表頭 設(shè)計。表頭表尾可放置綁定參數(shù)的控件;第四步:瀏覽 F3(或掛功能節(jié)點),設(shè)置參數(shù),檢查不同參數(shù)設(shè)置下數(shù)據(jù)與格式是否正確;【FAQ】 進(jìn)行 SQL 整理對查詢對象有什么要求?答:該對象必須具有 SQL 設(shè)計,且強烈建議使用向?qū)?SQL 設(shè)計。SQL 整理在何時何地進(jìn)行?答:SQL 整理在服務(wù)器端進(jìn)行,整理行為發(fā)生在數(shù)據(jù)庫查詢之前,多用于根據(jù)參數(shù)矯正 SQL?!痉独?單位費用匯總或明細(xì)表——各單位在指定期間范圍內(nèi)的費用情況,查詢匯總結(jié)果還是明細(xì)結(jié)果由參數(shù)控制。如果用戶選擇匯總,則報表中要求包括公司、期間、科目、匯總發(fā)生額等信息;如果用戶選擇明細(xì),則報表中要求包括公司、期間、科目、明細(xì)發(fā)生額和分錄摘要等信 息。用戶可以根據(jù)年度和期間范圍進(jìn)行查詢。 創(chuàng)建查詢對象,編碼為 glsumordetail,名稱為費用匯總或明細(xì);進(jìn)行參數(shù)定義,增加三個字符型參數(shù)(年,起始期間,終止期間)和一個枚舉型參數(shù)(顯 示類型,可選值為“匯總”和“明細(xì)”);第 25 頁進(jìn)行 SQL 向?qū)гO(shè)計,內(nèi)容與模式 的范例完全相同(我們在下面列出查詢字段的界面,主要是方便讀者把字段表達(dá)式與 SQL 整理中的代碼處理結(jié)合起來理解,因為整理代碼有很 強的針對性);在篩選條件頁簽增加待定條件,內(nèi)容與模式 的范例完全相同;進(jìn)行 SQL 整理設(shè)計——這段整理代碼的思路是:首先獲得用戶設(shè)置的顯示類型是“匯總” 還是“明細(xì)”,如果是后者,則繼續(xù)獲得靜態(tài)查詢定義的查詢字段數(shù)組(SelectFldVO[]),找 出其中帶有匯總函數(shù)的字段表達(dá)式,將匯總函數(shù)以及分組字段去掉,然后再增加一個新的查 詢字段,對應(yīng)憑證分錄表的摘要信息。第 26 頁這段代碼中一部分為左側(cè)的代碼向?qū)渖?,其余部分則為直接手工編寫。比如第一行代碼就是由通用向?qū)е械摹矮@得參數(shù)值”生成:而陰影部分(增加分錄字段的代碼片段)則由 SQL 整理向?qū)е械摹白芳硬樵冏侄巍鄙桑旱?27 頁創(chuàng)建格式對象,編碼為 glsumordetail,名稱為“費用匯總或明細(xì)表”。引用查詢“費用匯總或明細(xì)”;進(jìn)行格式設(shè)計:添加表格和面板控件,表格??坑谥胁?,綁定數(shù)據(jù)集費用明細(xì)或匯總, 面板停靠于北部,采用流式布局,在面板上放三個文本框控件,分別綁定三個字符型參數(shù), 再放置一個下拉框控件,綁定枚舉型參數(shù)(顯示類型);瀏覽報表(先設(shè)置參數(shù)“顯示方式”的取值為“匯總”);第 28 頁再設(shè)置參數(shù)“顯示方式”的取值為“明細(xì)”然后瀏覽報表,或者直接在瀏覽態(tài)切換表頭的下拉框控件為“明細(xì)”選項;第 29 頁3. 交叉類報表數(shù)據(jù)庫當(dāng)中的表往往是象下面這樣存儲的:姓名月份銷售業(yè)績張三1 月2000張三3 月5000李四2 月3000李四3 月4000第 30 頁但用戶要求的報表往往是象下面這樣的:姓名1 月2 月3 月張三20005000李四30004000類似這樣,把原始數(shù)據(jù)中一列(或幾列,通常有分組意義)數(shù)據(jù)的不同取值維持在表的左側(cè)不動(比如上表中的姓名),把另外一列(或幾列,通常有分類意義)數(shù)據(jù)的不同取值旋轉(zhuǎn) 到行的方向成為列標(biāo)題(比如上表中的月份),再把另外一列(或幾列,通常有統(tǒng)計意義) 數(shù)據(jù)對應(yīng)匯總到旋轉(zhuǎn)出來的列標(biāo)題下面(比如上表中的業(yè)績),就形成了交叉表。在上述過程中,我們根據(jù)交叉規(guī)則把原始數(shù)據(jù)中的列分成了三種,第一種稱為交叉行(其數(shù) 據(jù)交叉后出現(xiàn)在行上),第二種稱為交叉列(其數(shù)據(jù)交叉后出現(xiàn)在列頭上),第三種稱為交叉 值(交叉前行、列、值的數(shù)據(jù)出現(xiàn)在一行上,交叉后值的數(shù)據(jù)出現(xiàn)在行、列的交叉點上)。交叉報表比普通報表提出了很多新的問題,比如:數(shù)據(jù)交叉如何實現(xiàn),交叉后列數(shù)目的不確 定性如何處理,列的順序如何控制等等。根據(jù)實現(xiàn)方法的不同,以及能否預(yù)先確定交叉后的 列結(jié)構(gòu),本章節(jié)提供了以下三種交叉報表模式的解決方案。 列向拼接查詢型報表(復(fù)合查詢)【概述】 報表在列向可以被劃分成幾個分組,每組由若干個列構(gòu)成,每個列分組的數(shù)據(jù)能夠通過 SQL查詢獲得,而不同列分組的數(shù)據(jù)出現(xiàn)在同一行的前提是它們對應(yīng)于同一個行 ID。即報表數(shù) 據(jù)可以通過多個查
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1