分分鐘快速定製您的專屬個性化軟體應用——BizTool自動化工具簡介
BizTool 自動化工具
(分分鐘快速定製您的專屬個性化軟體應用)
( 使用入門影片演示: )
1. 概述
“我們能在幾分鐘內設計出專業的個性化應用軟體”,3UCS 的工程師如是說。
事實上這一點兒也不誇張,您也可以做到,並且可以做得更好,隨心所欲的定製您的CRM 、OA 、ERP 、企業資訊化、呼叫中心業務等等各類應用,因為這得益於3UCS 釋出的BizXML 工具,憑藉此自動化工具您可以之下花不到一分鐘的時間生成一個應用介面,根據您的需要自動生成一組頁面後您還可以根據自己的應用需求進一步的個性化您的業務邏輯和流程,以及各種多語言的設計,比如A 使用者使用中文、B 使用者使用英文、C 使用者使用德文之類,這些事情最快就可以在幾分鐘內完成。
2. BizTool 介紹
什麼是BizXML 工具了?它就是遵循BizXML 業務應用規範的一個工具軟體,採用“所見即所得”技術,根據您自己的業務資料庫結構自動生成應用介面及BizXML 程式碼,生成的標準BizXML 應用可以立即被BizXML 業務平臺解析執行,真實資料線上預覽,顯示的介面直接可以操作進行資料更新等,執行效果完全與實際應用相同。同時提供相關個性化引數設定並提供線上修改調整,方便您根據自己的意願配置頁面佈局、資料間關係等實用性手段,也支援後續的邏輯流程控制修改調整。
下面就簡單瞭解下BizXML Tool 工具,如下圖所示,該工具與資料庫管理相結合,根據資料庫表結構資訊工作,不單單支援MySQL ,其他資料庫相類似,提供預覽方便工程師隨時直觀的看到生成的應用介面,根據需要調整相應的欄位引數來調整相關表的關係欄位與內容,調整完畢後可以直接輸出儲存應用介面,同時可以生成語言包,以方便多語言支援,工程師只需修改語言包的內容為所需語言版本,使用者介面將自動呈現諸如簡體中文、英文、法文等多語言支援。
該工具可自動化識別資料表結構資訊,根據表結構資訊自動組裝SQL語句、匹配相應型別控制元件生成頁面,即在無任何配置情況下(您無需寫程式碼、編輯SQL語句等)也可生成應用,同時還提供了豐富的介面生成引數設定,例如擬生成的應用介面寬度、表欄位長度與控制元件寬度的係數值、控制元件等寬設定、表間關係欄位等等。
3. 頁面級別配置及操作
圖中 ① 選擇要生成應用的資料庫;
② 重新整理資料庫列表;
③ 選擇要生成頁面的是表還是檢視;
④ 選擇生成應用的表或檢視;
⑤ 重新整理資料表或檢視;
⑥ BizXML Tool 工具頁面;
⑦ BizXML 程式碼編輯測試頁面;
⑧ 顯示錶預覽資料或SQL執行結果資料;
⑨ 執行/編輯SQL語句;
⑩ 頁面級別的設定部分,用於對錶/檢視應用頁面的全域性屬性的設定;
⑪ 欄位基礎屬性的設定部分,用於對欄位與頁面控制元件的關係、屬性設定,如控制元件型別、大小等;
⑫ 欄位擴充套件屬性的設定部分,用於設定對應控制元件屬性的設定,如與其他表的關聯等;
⑬ 載入頁面配置檔案時欄位名/控制元件對映關係設定,當我們修改表中欄位名後重新生成頁面時需配置來指示欄位新名稱與舊名稱的匹配關係,例如將欄位名“hr_shift_id”修改為“idx”則應設定<dfmap><map name="hr_shift_id" value="idx"/></dfmap>,系統將自動配置“hr_shift_id”所有屬性給“idx”;
⑭ 載入配置按鈕,用於載入頁面配置檔案xpj,預設配置檔名為表/檢視名稱,系統讀取配置並設定好相應的引數,系統在生成儲存應用程式碼的同時會自動儲存一個同名的配置檔案,例如儲存的應用頁面名為hr_shift,系統會自動儲存hr_shift.xpj;
⑮ 頁面顯示的資料檢視的模式,預設為列表(ListCtrl);
⑯ 儲存應用時是否生成語言包,至少應該生成一次,用於漢化或配置為個性化語言如法語德語等;
⑰ 儲存應用時是否自動新增至應用根檔案,若需要能在主頁面目錄直接方面該頁面,應該新增一次;
⑱ 儲存應用時是否生成2pages頁面,預設生成的是一個頁面,顯示與查增改刪在同一個頁面(主檔案為xxx.xml,例如“hr_shift.xml”,子檔案分別是“hr_shift_GBDEDIT.xml”、“hr_shift_GBDV.xml”、“hr_shift_GBOPE.xml”、“hr_shift_GBOPV.xml”),跟預覽時看到的相同,系統提供了2Pages模式,自動生成2個頁面,一個用於顯示/查刪,一個用於增改(主檔案為xxx_v.xml,例如“hr_shift_v.xml”,子檔案分別為“hr_shift _V.xml ”、“hr_shift _Ve.xml ”、“hr_shift _Vh.xml ”、“hr_shift _Vs.xml ”、“hr_shift _Vv.xml ”、“hr_shift _Vpg.xml” 、“ hr_shift _Vpgop.xml ”),系統在新增至應用根檔案時會根據該項配置選擇對應的主檔案;
⑲ 勾選該項時點選“生成應用 ⑳ ”將預覽頁面,否則儲存至檔案;
⑳ 根據“ ⑲ 預覽 ” 是否勾選來決定是預覽頁面還是儲存至檔案 ;
㉑ 擬生成的應用介面寬度;
㉒ 尺寸係數 , 即表欄位長度與控制元件寬度的係數值;
㉓ 等寬設定 , 預設值為 0, 若非 0 值則啟用所有控制元件等寬 , 若控制元件含有 label 則 label 寬度也分享該寬度值;
㉔ lable 預設寬度值;
㉕ 下拉框 Combobox 預設寬度值;
㉖ 日期時間 DateTime 控制元件預設寬度值;
㉗ 日期控制元件 Date 預設寬度值;
㉘ tab 方式生成的頁面及 tab 個數(單頁面有效);
㉙ 初始化表同時載入資料(單頁面有效)!
㉚ 載入資料自動觸發 Click 事件(單頁面有效)!
㉛ 更新操作關聯表內容(有 primary key )(單頁面有效)!
㉜ 關聯表,顯示關聯表內容替代主表 ID ,讓列表內容更具可讀性(單頁面有效);
㉝ 擬生成的應用介面資料檢視(如 ListCtrl )附加屬性引數 ,eg:Size="15,20" Text="5" ;
㉞ 擬生成的應用介面資料檢視(如 ListCtrl )附加元素 ,eg:<dfmap><map name="text" value="name"/></dfmap> ; ㉟ 彈出式選單項, Operators For view list,eg:<operator firstpage="1" nextpage="1" refresh="1" prepage="1"><op text="xx">x</op></operator> ;
㊱ 附加控制元件項,在頁面末尾增加定義的控制元件; AddOn control for this Tap ;
㊲ 附加選擇欄位名,在選擇語句( select ) data 末尾部分增加相應的欄位, additional data field for select ;
㊳ 表頭 - 行結構之欄位 ID ,用於關聯該表對應的表頭(例如訂單行表關聯訂單頭,此處設定訂單行表中訂單頭 ID ); Header-line link, header primary key field name, eg:cc_co_header_id of table cc_co_header; if not empty sys will auto generate menu 'addone' from list view ;
㊴ 表頭 - 行結構之行表名,用於關聯該表對應的錶行(例如訂單頭表關聯訂單行,則此處設定訂單行表名), Header-line link, line table name, eg:cc_co_line, seperate by ','; if not empty sys will generate Ve/VV links and query action on header_id'modification" ;
㊵ 自定義插入語句,替換自動生成的 sql 語句; Query Format for Create op, eg:insert into %{table} %{data} ;
㊶ 自定義更新語句,替換自動生成的 sql 語句; Query Format for Update op, eg:update %{table} set %{data} where %{where} ;
㊷ 開啟選擇視窗為“ ㉝ ”選擇元素屬性;
㊸ 開啟選擇視窗為“ ㉞ ”選擇元素屬性;
㊹ 開啟選擇視窗為“ ㉟ ”選擇彈出式選單(模板);
㊺ 開啟選擇視窗為“ ㊱ ”選擇附加控制元件(模組);
㊻ 欄位資訊;
4. 欄位級基礎配置及操作
圖中 ① 將選中的欄位移動至最頂端(應用生成時將作為第一個控制元件);
② 將選中的欄位上移一行;
③ 將選中的欄位下移一行;
④ 將選中的欄位動至最尾端(應用生成時將作為最後一個控制元件);
⑤ 若勾選該欄位無效,既不生成控制元件出現在中也不參與 sql 資料的查增改刪;
⑥ 將所有欄位至無效,然後可以個別欄位透過手動方式啟用;
⑦ 該欄位是否必須輸入值,在執行“增改”操作時做檢查;
⑧ 該欄位是否可為空,預設為均可不填,但若有指定某欄位可不填,則其他未明確設定的均為必填項;
⑨ 自動化資料,無須新增或更新的欄位,自增欄位應設定;
⑩ 是否隱藏該欄位內容;
⑪ 該欄位只讀,內容不可修改;
⑫ 所有欄位將統一設定為只讀,不可修改;
⑬ 控制元件前留空預設 20 個單位尺寸;
⑭ No Label ,該欄位的生成控制元件時不生成相對應的 Label ,預設跟隨欄位屬性;
⑮ 與前面的欄位生成的控制元件合併在一個顯示單元裡(合併至前一欄位對應控制元件的 GroupBox ) , 預設跟隨欄位屬性;
⑯ 該控制元件前另起一行;
⑰ ;
⑱ ctrl 的 text 屬性,預設顯示的文字;
⑲ ctrl 的 size 屬性,控制元件長寬值,用逗號分隔, eg:100,20 ;亦可只設定寬度,省去逗號及高度,高度將使用預設值;
⑳ 對頁面做多 Tab 顯示控制,每個 Tab 顯示的第一個欄位設定這個 Tab 的名稱,不得使用控制元件名 ( 欄位名 ) ;
㉑ 插入資料( insert )時是否插入該欄位值,預設為是;
㉒ 插入資料( insert )時自定義欄位取值 ,eg:%{x[x]},@xyz ,預設為系統自動匹配;
㉓ 修改資料( update )時是否修改該欄位值,預設為是;
㉔ 修改資料( update )時自定義欄位取值 ,eg:%{x[x]},@xyz ,預設為系統自動匹配;
㉕ 讀取( select )操作時是否修改該欄位值,預設為是;
㉖ 讀取( select )操作時自定義欄位格式 ,eg:bc as xyz ,預設為系統自動匹配;
㉗ 附加控制元件項(與該控制元件合併在同一顯示單元 GroupBox ); AddOn control(merged in) for after this control ;
㉘ 附加控制元件項(新增在該控制元件後); AddOn control(External) for after this control ; ㉙ 附加選擇欄位名,新增到查詢語句( select )裡,緊跟在該欄位後, additional data field for select after this control ;
㉚ 開啟選擇視窗為“ ㉘ ”選擇附加控制元件(模組);
㉛ 開啟選擇視窗為“ ㉙” 選擇附加控制元件(模組);
5. 欄位級擴充套件屬性配置及操作
圖中 ① 設定欄位控制元件型別;
② 資料表欄位控制元件自動匹配;
③ 重置下面的資訊以重新選擇或輸入;
④ 欄位附加屬性引數 ,eg:Size="15,20" Text="5" ;
⑤ 欄位對應控制元件附加元素 ,eg:<dfmap><map name="text" value="name"/></dfmap> ;
⑥ 表 / 檢視 ;Table|View ,選擇“ ⑦ ”顯示的是表還是檢視;
⑦ 當前資料庫表 / 檢視,選中後填入“ ⑩” 更新“ ⑧” 的資料 ;
⑧ 表 / 檢視的欄位,選中後填入“ ⑪” 更新“ ⑨” ;
⑨ 控制元件資料與表中關聯的欄位 ctrldb data rel, ;
⑩ 控制元件項值讀取表 ctrldbtable ;
⑪ 控制元件項值欄位列表 , ctrldbdata ,當資料庫表為空時則為選項內容(選項格式支援為 1|2|3,1~3,1~3*10 );
⑫ 控制元件項值讀取條件, ctrldb where , eg: id=0, id=%{id[id]} ;
⑬ 控制元件項值自定義讀取格式 (query format) ,預設自動生成, eg:select %{data} from %{dbtable} ;
⑭ ;
6. 一個簡單例項
下面以OrderInfo表為例展示X+平臺一次生成同時相容電腦客戶端、手機客戶端、瀏覽器的頁面自適應顯示、訪問及操作。
設定相應引數後單頁面顯示如下,三個Tab顯示(BizTool預覽顯示):(生成5個應用檔案、一個配置檔案xpj及一個語言包檔案:“orderinfo.xml”、“orderinfo_GBDEDIT.xml”、“orderinfo_GBDV.xml”、“orderinfo_GBOPE.xml”、“orderinfo_GBOPV.xml”、“orderinfo.xpj”、“lan/ orderinfo.xml ”)。
2Pages 模式顯示如下(額外生成7個檔案:“orderinfo_V.xml”,“orderinfo_Ve.xml”,“orderinfo_Vh.xml”,“orderinfo_Vs.xml”,“orderinfo_Vv.xml”,“orderinfo_Vpg.xml”,“orderinfo_Vpgop.xml”,根檔案引用orderinfo_V即可),一個是查詢顯示頁面(用於查刪及彈出式選單操作),另一個是編輯頁面(用於資料增改),生成的應用介面不做任何修改在電腦客戶端、IE瀏覽器、手機客戶端、手機瀏覽器顯示如下:
電腦客戶端顯示:
查詢顯示頁面分查詢條件及操作區域與查詢結果顯示上下兩個部分,系統提供智慧查詢引擎,上部查詢條件區域顯示且有填入內容的控制元件自動作為查詢條件提供查詢操作使用,提供“初始”選單返回到初始查詢條件顯示查詢結果,支援模糊查詢,可刪除或欄位不做查詢條件(orderinfo_Vs.xml及orderinfo_V中search元素)
編輯頁面預設是不帶列表框的,但本例中關聯了訂單行表,即列表框顯示的是訂單行,並在此開啟訂單行的編輯管理選單
IE 瀏覽器訪問
手機客戶端、瀏覽器訪問
7. 補充說明
您應該注意到BizXML Tool 工具實際上也是遵循BizXML 規範 的一個應用,這也更進一步表明BizXML 業務應用系統的智慧性和功能的強大。
注意事項:
1. 滑鼠懸停各控制元件時會有提示資訊;
2. 自增欄位應設定為自動,另可設定隱藏以不顯示;
3. 表結構欄位先後順序可調整,對應於介面裡控制元件排序;
4. 關聯它表欄位可使用Comobox 、TextBox 等控制元件關聯,比如圖中class ;
5. 列表等可初始化自動載入資料和分頁,選擇一個或多個引數組合;
6. 模糊查詢中生成的語法參考的是MySQL ,其他資料庫應作相應修改調整;
7. 不同資料庫的分頁操作不相同,也需要做相應的修改和調整;
8. 所生成的頁面程式碼都遵循BizXML ,您也可以自行調整修改佈局、資料關係及邏輯控制等,參考BizXML 規範;
9. 生成的語言包可漢化或其他任何語言版本,注意檔案格式為UTF-8 ;
BizTool 目前有釋出MySQL 、SQLite 、MSSQL 、Firebird 、PostgreSQL 等版本,其他資料庫可修改這些版本的相關內容獲得,主要區別在於SQL 語句,可參考\biztools \*cfg.xml 檔案及\demo\ bt*.xml
8. 示例生成文件說明
“orderinfo.xml”
<?xml version="1.0" encoding="UTF-8" standalone="no"?><WndTap Text="orderinfo" Name="orderinfo" Ver=" [s1] ">
<var name="refreshAfterEdit" expr="0"/>
<var name="dataRequired" expr=""/>
<var name="dataRequireless" expr=""/>
<xi:include xmlns:xi=" href="lan\orderinfo.xml"/>
<xi:include xmlns:xi=" href="lan\orderdetail.xml"/>
<Ctrls>
<GroupBox Text="orderinfo" Name="GBorderinfo" id="orderinfo" Size="100,100"><Ctrls>
<xi:include xmlns:xi=" href="orderinfo_GBDEDIT.xml"></xi:include><BR AutoHeight="1"/><xi:include xmlns:xi=" href="orderinfo_GBOPE.xml"></xi:include>
<TAB/><xi:include xmlns:xi=" href="orderinfo_GBOPV.xml"></xi:include>
<BR/><xi:include xmlns:xi=" href="orderinfo_GBDV.xml"></xi:include></Ctrls></GroupBox>
</Ctrls>
<OnChanged/>
<OnActivate/>
</WndTap>
“orderinfo_GBDEDIT.xml”
<GroupBox Name="GBDEDITorderinfo"><Ctrls>
<GroupBox feature="tab" Text="Main" Name="Main"><Ctrls>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_billtype"><Ctrls>
<Label Text="billtype" Name="lb_billtype" Size="60,20"/>
<ComboBox Weight="170" Text="" ToolTip="ttp_billtype" Name="billtype" Size="170,100">
<DbDetails>
<Index>id</Index>
<DbTable>invoicing.billtypeinfo</DbTable>
<Data>BILL_NAME,CODE_PRE,ID</Data>
<Where/>
<queryFormat/></DbDetails></ComboBox>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_order_no"><Ctrls>
<Label Text="order_no" Name="lb_order_no" Size="60,20"/>
<TextBox Weight="170" Text="" ToolTip="ttp_order_no" Name="order_no" Size="170,20">
<DbDetails>
<Index>order_no</Index>
<DbTable>invoicing.orderinfo</DbTable>
<Data>ORDER_NO</Data>
<Where/>
<queryFormat/></DbDetails></TextBox>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_order_date"><Ctrls>
<Label Text="order_date" Name="lb_order_date" Size="60,20"/>
<DateTime Weight="170" Text="" ToolTip="ttp_order_date" Name="order_date" Size="170,20" Format="yyyy-MM-dd HH:mm:ss"/>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" overlap="pre" Name="GB_delivery_date" Visible="false"><Ctrls>
<Label Text="delivery_date" overlap="pre" Name="lb_delivery_date" readonly="true" Size="60,20" Visible="false"/>
<DateTime Weight="170" Text="" ToolTip="ttp_delivery_date" overlap="pre" Name="delivery_date" readonly="true" Size="170,20" Visible="false" Format="yyyy-MM-dd HH:mm:ss"/>
</Ctrls></GroupBox>
<BR AutoHeight="1"/><GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_client_id"><Ctrls>
<Label Text="client_id" Name="lb_client_id" Size="60,20"/>
<ComboBox Weight="170" Text="" ToolTip="ttp_client_id" Name="client_id" Size="170,100">
<DbDetails>
<Index>clientinfo_id</Index>
<DbTable>invoicing.clientinfo</DbTable>
<Data>CLIENT_NAME,clientinfo_ID</Data>
<Where/>
<queryFormat/></DbDetails></ComboBox>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_storage_id"><Ctrls>
<Label Text="storage_id" Name="lb_storage_id" Size="60,20"/>
<ComboBox Weight="170" Text="" ToolTip="ttp_storage_id" Name="storage_id" Size="170,100">
<DbDetails>
<Index>storageinfo_id</Index>
<DbTable>invoicing.storageinfo</DbTable>
<Data>STO_NAME,storageinfo_ID</Data>
<Where/>
<queryFormat/></DbDetails></ComboBox>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_summary"><Ctrls>
<Label Text="summary" Name="lb_summary" Size="60,20"/>
<TextBox Weight="170" Text="" ToolTip="ttp_summary" Name="summary" Size="170,20"/>
</Ctrls></GroupBox>
<BR AutoHeight="1"/><GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_note"><Ctrls>
<Label Text="note" Name="lb_note" Size="60,20"/>
<TextBox Weight="170" Text="" ToolTip="ttp_note" Name="note" Size="170,20"/>
</Ctrls></GroupBox>
</Ctrls></GroupBox>
<BR NULLHeight="1"/><GroupBox feature="tab" Text="Money" Name="Money"><Ctrls>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_sum_money"><Ctrls>
<Label Text="sum_money" Name="lb_sum_money" Size="60,20"/>
<TextBox Weight="170" Text="" ToolTip="ttp_sum_money" Name="sum_money" Size="170,20"/>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_derate_money"><Ctrls>
<Label Text="derate_money" Name="lb_derate_money" Size="60,20"/>
<TextBox Weight="170" Text="" ToolTip="ttp_derate_money" Name="derate_money" Size="170,20"/>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_derate_type"><Ctrls>
<Label Text="derate_type" Name="lb_derate_type" Size="60,20"/>
<TextBox Weight="170" Text="" ToolTip="ttp_derate_type" Name="derate_type" Size="170,20"/>
</Ctrls></GroupBox>
<BR AutoHeight="1"/><GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_derate_agion"><Ctrls>
<Label Text="derate_agion" Name="lb_derate_agion" Size="60,20"/>
<TextBox Weight="170" Text="" ToolTip="ttp_derate_agion" Name="derate_agion" Size="170,20"/>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_ought_money"><Ctrls>
<Label Text="ought_money" Name="lb_ought_money" Size="60,20"/>
<TextBox Weight="170" Text="" ToolTip="ttp_ought_money" Name="ought_money" Size="170,20"/>
</Ctrls></GroupBox>
</Ctrls></GroupBox>
<BR NULLHeight="1"/><GroupBox feature="tab" Text="Pay" Name="Pay"><Ctrls>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_pay_account"><Ctrls>
<Label Text="pay_account" Name="lb_pay_account" Size="60,20"/>
<TextBox Weight="170" Text="" ToolTip="ttp_pay_account" Name="pay_account" Size="170,20"/>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_pay_money"><Ctrls>
<Label Text="pay_money" Name="lb_pay_money" Size="60,20"/>
<TextBox Weight="170" Text="" ToolTip="ttp_pay_money" Name="pay_money" Size="170,20"/>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" overlap="pre" Name="GB_state" Visible="false"><Ctrls>
<Label Text="state" overlap="pre" Name="lb_state" readonly="true" Size="60,20" Visible="false"/>
<TextBox Weight="170" Text="" ToolTip="ttp_state" overlap="pre" Name="state" readonly="true" Size="170,20" Visible="false"/>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" overlap="pre" Name="GB_curphasenum" Visible="false"><Ctrls>
<Label Text="curphasenum" overlap="pre" Name="lb_curphasenum" Size="60,20" Visible="false"/>
<TextBox Weight="170" Text="" ToolTip="ttp_curphasenum" overlap="pre" Name="curphasenum" Size="170,20" Visible="false">
<DbDetails>
<Index>phasenum</Index>
<DbTable>invoicing.flowphase</DbTable>
<Data>PHASENAME,PHASENUM</Data>
<Where/>
<queryFormat/></DbDetails></TextBox>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" overlap="pre" Name="GB_curphasedate" Visible="false"><Ctrls>
<Label Text="curphasedate" overlap="pre" Name="lb_curphasedate" Size="60,20" Visible="false"/>
<DateTime Weight="170" Text="" ToolTip="ttp_curphasedate" overlap="pre" Name="curphasedate" Size="170,20" Visible="false" Format="yyyy-MM-dd HH:mm:ss"/>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" overlap="pre" Name="GB_curphaseuserid" Visible="false"><Ctrls>
<Label Text="curphaseuserid" overlap="pre" Name="lb_curphaseuserid" readonly="true" Size="60,20" Visible="false"/>
<TextBox Weight="170" Text="" ToolTip="ttp_curphaseuserid" overlap="pre" Name="curphaseuserid" readonly="true" Size="170,20" Visible="false">
<DbDetails>
<Index>id</Index>
<DbTable>invoicing.userinfo</DbTable>
<Data>USER_NAME,ID</Data>
<Where/>
<queryFormat/></DbDetails></TextBox>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_exestate"><Ctrls>
<Label Text="exestate" Name="lb_exestate" Size="60,20"/>
<TextBox Weight="170" Text="" ToolTip="ttp_exestate" Name="exestate" Size="170,20"/>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" overlap="pre" Name="GB_finishedate" Visible="false"><Ctrls>
<Label Text="finishedate" overlap="pre" Name="lb_finishedate" Size="60,20" Visible="false"/>
<DateTime Weight="170" Text="" ToolTip="ttp_finishedate" overlap="pre" Name="finishedate" Size="170,20" Visible="false" Format="yyyy-MM-dd HH:mm:ss"/>
</Ctrls></GroupBox>
<BR AutoHeight="1"/><GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_ispatch"><Ctrls>
<Label Text="ispatch" Name="lb_ispatch" Size="60,20"/>
<TextBox Weight="170" Text="" ToolTip="ttp_ispatch" Name="ispatch" Size="170,20"/>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_rec_money_sum"><Ctrls>
<Label Text="rec_money_sum" Name="lb_rec_money_sum" Size="60,20"/>
<TextBox Weight="170" Text="" ToolTip="ttp_rec_money_sum" Name="rec_money_sum" Size="170,20"/>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_pay_money_sum"><Ctrls>
<Label Text="pay_money_sum" Name="lb_pay_money_sum" Size="60,20"/>
<TextBox Weight="170" Text="" ToolTip="ttp_pay_money_sum" Name="pay_money_sum" Size="170,20"/>
</Ctrls></GroupBox>
<BR AutoHeight="1"/><GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_maxnum"><Ctrls>
<Label Text="maxnum" Name="lb_maxnum" Size="60,20"/>
<TextBox Weight="170" Text="" ToolTip="ttp_maxnum" Name="maxnum" Size="170,20"/>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_inout_type"><Ctrls>
<Label Text="inout_type" Name="lb_inout_type" Size="60,20"/>
<TextBox Weight="170" Text="" ToolTip="ttp_inout_type" Name="inout_type" Size="170,20"/>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" overlap="pre" Name="GB_baozhengj" Visible="false"><Ctrls>
<Label Text="baozhengj" overlap="pre" Name="lb_baozhengj" readonly="true" Size="60,20" Visible="false"/>
<TextBox Weight="170" Text="" ToolTip="ttp_baozhengj" overlap="pre" Name="baozhengj" readonly="true" Size="170,20" Visible="false"/>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" overlap="pre" Name="GB_create_userid" Visible="false"><Ctrls>
<Label Text="create_userid" overlap="pre" Name="lb_create_userid" readonly="true" Size="60,20" Visible="false"/>
<TextBox Weight="170" Text="" ToolTip="ttp_create_userid" overlap="pre" Name="create_userid" readonly="true" Size="170,20" Visible="false">
<DbDetails>
<Index>id</Index>
<DbTable>invoicing.userinfo</DbTable>
<Data>USER_NAME,ID</Data>
<Where/>
<queryFormat/></DbDetails></TextBox>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" overlap="pre" Name="GB_create_date" Visible="false"><Ctrls>
<Label Text="create_date" overlap="pre" Name="lb_create_date" readonly="true" Size="60,20" Visible="false"/>
<DateTime Weight="170" Text="" ToolTip="ttp_create_date" overlap="pre" Name="create_date" readonly="true" Size="170,20" Visible="false" Format="yyyy-MM-dd HH:mm:ss"/>
</Ctrls></GroupBox>
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GB_orderinfo_id"><Ctrls>
<Label Text="orderinfo_id" Name="lb_orderinfo_id" Size="60,20"/>
<TextBox Weight="170" Text="" ToolTip="ttp_orderinfo_id" Name="orderinfo_id" Size="170,20"><OnEnChange><if cond="'%{orderinfo_id}'"><DbDetails><Where>orderinfo_id='%{orderinfo_id}'</Where></DbDetails><submit next="orderdetail_vLst" namelist="DbDetails"/><else/><submit next="orderdetail_vLst" function="resetcontent"/></if></OnEnChange></TextBox>
</Ctrls></GroupBox>
</Ctrls></GroupBox></Ctrls></GroupBox>
“orderinfo_GBDV.xml”
<GroupBox cols="xs12 sm12 md12 lg12" Name="GBDVorderinfo"><Ctrls>
<ListCtrl Heading="billtype,120;order_no,500;order_date,150;delivery_date,150;client_id,120;storage_id,120;summary,640;note,640;sum_money,90;derate_money,90;derate_type,50;derate_agion,90;ought_money,90;pay_account,640;pay_money,90;state,50;curphasenum,90;curphasedate,150;curphaseuserid,90;exestate,50;finishedate,150;ispatch,50;rec_money_sum,90;pay_money_sum,90;maxnum,90;inout_type,500;baozhengj,90;create_userid,90;create_date,150;orderinfo_id,100;" loadedclick="0" ToolTip="ttp_orderinfo" Name="orderinfoLst" Size="700,450">
<DbDetails fcsm="1">
<Index>orderinfo_id</Index>
<DbTable>invoicing.orderinfo o left join invoicing.billtypeinfo b on o.billtype=b.id left join invoicing.clientinfo c on o.client_id=c.clientinfo_id left join invoicing.storageinfo s on o.storage_id=s.storageinfo_id left join invoicing.flowphase f on o.curphasenum=f.phasenum left join invoicing.userinfo u on o.curphaseuserid=u.id left join invoicing.userinfo u0 on o.create_userid=u0.id</DbTable>
<Data>b.BILL_NAME billtype,o.order_no,o.order_date,o.delivery_date,c.CLIENT_NAME client_id,s.STO_NAME storage_id,o.summary,o.note,o.sum_money,o.derate_money,o.derate_type,o.derate_agion,o.ought_money,o.pay_account,o.pay_money,o.state,f.PHASENAME curphasenum,o.curphasedate,u.USER_NAME curphaseuserid,o.exestate,o.finishedate,o.ispatch,o.rec_money_sum,o.pay_money_sum,o.maxnum,o.inout_type,o.baozhengj,u0.USER_NAME create_userid,o.create_date,o.orderinfo_id</Data>
<Order>orderinfo_id</Order></DbDetails>
<DbDetails fcsm="1"><queryFormat xml:base="d:\Program Files (x86)\3UCS\3UCS Server\layout\biztools\mysqlcfg.xml" id="tbpages">select %{data} from %{dbtable} %{where} limit %{StartRow},%{PgSize}</queryFormat></DbDetails><DbDetails fcsm="1"><queryFormat xml:base="d:\Program Files (x86)\3UCS\3UCS Server\layout\biztools\mysqlcfg.xml" id="tbpages">select %{data} from %{dbtable} %{where} limit %{StartRow},%{PgSize}</queryFormat></DbDetails>
<operator firstpage="1" nextpage="1" refresh="1" prepage="1">
<op text="modify"><DbDetails><Where>orderinfo_id='%{orderinfo_vLst[orderinfo_id]}'</Where></DbDetails><submit next="$this.orderinfo.orderinfoLst" namelist="DbDetails"/></op>
<op text="delete" needconfirm="1"><DbDetails>
<DbTable>invoicing.orderinfo</DbTable>
<Where>orderinfo_id='%{orderinfo_vLst[orderinfo_id]}'</Where>
<queryFormat>delete from %{table} where %{where}</queryFormat></DbDetails>
<submit namelist="DbDetails"/><submit/></op>
</operator>
</ListCtrl>
</Ctrls></GroupBox>
“orderinfo_GBOPE.xml”
<GroupBox cols="xs12 sm6 md4 lg3" Name="GBOPEorderinfo" Size="100,100"><Ctrls>
<Button sqlpkinsert="orderinfo_id" Text="create" ToolTip="ttp_createorderinfo" Name="insertorderinfo" Size="50,20">
<OnClick>
<DbDetails mode="insert" fcsm="1">
<DbTable>invoicing.orderinfo</DbTable>
<Required>%{dataRequired}</Required>
<Requireless>%{dataRequireless}</Requireless>
<Data>billtype[id],client_id[clientinfo_id],storage_id[storageinfo_id],summary,note,sum_money,derate_money,derate_type,derate_agion,ought_money,pay_account,pay_money,exestate,ispatch,rec_money_sum,pay_money_sum,maxnum,inout_type,orderinfo_id</Data>
<DataEx>order_no,order_date,curphaseuserid,create_userid,create_date;IF('%{ORDER_NO}'!='%{ORDER_NO}','%{ORDER_NO}','%{GEN_NO}'),now(),'%{user_id}','%{user_id}',now()</DataEx>
<queryFormat>insert into %{table} %{data}</queryFormat></DbDetails>
<submit namelist="DbDetails"/><if cond="%{refreshAfterEdit}==1"><submit next="orderinfoLst" delay="1000"/><elseif cond="%{refreshAfterEdit}==2"/><submit next="$parent.orderinfo_vLst" delay="1000"/></if>
</OnClick>
</Button><TAB/>
<Button Text="modify" ToolTip="ttp_modifyorderinfo" Name="modifyorderinfo" Size="50,20">
<OnClick>
<DbDetails mode="update" fcsm="1">
<DbTable>invoicing.orderinfo</DbTable>
<Required>%{dataRequired}</Required>
<Requireless>%{dataRequireless}</Requireless>
<Data>billtype[id],client_id[clientinfo_id],storage_id[storageinfo_id],summary,note,sum_money,derate_money,derate_type,derate_agion,ought_money,pay_account,pay_money,exestate,ispatch,rec_money_sum,pay_money_sum,maxnum,inout_type,orderinfo_id</Data>
<DataEx/>
<Where>orderinfo_id='%{orderinfo_id}'</Where>
<queryFormat>update %{table} set %{data} where %{where}</queryFormat></DbDetails>
<submit namelist="DbDetails"/><if cond="%{refreshAfterEdit}==1"><submit next="orderinfoLst" delay="1000"/><elseif cond="%{refreshAfterEdit}==2"/><submit next="$parent.orderinfo_vLst" delay="1000"/></if>
</OnClick>
</Button><TAB/>
<Button Text="reset" ToolTip="ttp_resetorderinfo" Name="resetorderinfo" Size="50,20">
<OnClick>
<submit next="GBDEDITorderinfo" function="reset"/>
</OnClick>
</Button><TAB/>
<Button Text="gsearch" ToolTip="ttp_gsearchorderinfo" Name="gsearchorderinfo" Size="50,20" visible="false">
<OnClick>
<search next="orderinfoLst" listed="0" prefixwhere="0" prefixand="0" inputed="1"><zone_id op="(" ref=""/></search><submit next="GBDEDITorderinfo" namelist="search" function="search"/>
</OnClick>
</Button><TAB/>
</Ctrls></GroupBox>
“orderinfo_GBOPV.xml”
<GroupBox cols="xs12 sm6 md4 lg3" Name="GBOPVorderinfo" Size="100,100"><Ctrls>
<Button Text="delete" ToolTip="ttp_deleteorderinfo" Name="deleteorderinfo" Size="50,20">
<OnClick>
<DbDetails fcsm="1">
<DbTable>invoicing.orderinfo</DbTable>
<Where>orderinfo_id='%{orderinfoLst[orderinfo_id]}'</Where>
<queryFormat>delete from %{table} where %{where}</queryFormat></DbDetails>
<submit namelist="DbDetails"/><submit next="searchorderinfo" function="click"/>
</OnClick>
</Button><TAB/>
<Button Text="refresh" ToolTip="ttp_refreshorderinfo" Name="searchorderinfo" Size="50,20">
<OnClick><submit next="orderinfoLst"/> </OnClick>
</Button>
<TAB/><TAB/><Button Text="firstpage" Name="FPorderinfoLst" Size="50,20"/>
<TAB/><Button Text="prepage" Name="PREorderinfoLst" Size="50,20"/>
<TAB/><Button Text="nextpage" Name="NPorderinfoLst" Size="50,20"/>
</Ctrls></GroupBox>
“orderinfo_V.xml”:
<WndTap Name="orderinfo_v" Text="orderinfo">
<WndTaps>
<xi:include xmlns:xi=" href="orderinfo_Ve.xml" popup="1"/>
<xi:include xmlns:xi=" href="orderdetail_Ve.xml" popup="1"/>
</WndTaps>
<var name="searchtmpl"><billtype format="billtype='%{opvalue}'"/><order_no format="order_no='%{opvalue}'"/><client_id format="client_id='%{opvalue}'"/><storage_id format="storage_id='%{opvalue}'"/><summary format="(summary like '%%{opvalue}%')"/><note format="(note like '%%{opvalue}%')"/><sum_money format="(sum_money like '%%{opvalue}%')"/><derate_money format="(derate_money like '%%{opvalue}%')"/><derate_type format="(derate_type like '%%{opvalue}%')"/><derate_agion format="(derate_agion like '%%{opvalue}%')"/><ought_money format="(ought_money like '%%{opvalue}%')"/><pay_account format="(pay_account like '%%{opvalue}%')"/><pay_money format="(pay_money like '%%{opvalue}%')"/><state format="(state like '%%{opvalue}%')"/><curphasenum format="curphasenum='%{opvalue}'"/><curphaseuserid format="curphaseuserid='%{opvalue}'"/><exestate format="(exestate like '%%{opvalue}%')"/><ispatch format="(ispatch like '%%{opvalue}%')"/><rec_money_sum format="(rec_money_sum like '%%{opvalue}%')"/><pay_money_sum format="(pay_money_sum like '%%{opvalue}%')"/><maxnum format="(maxnum like '%%{opvalue}%')"/><inout_type format="(inout_type like '%%{opvalue}%')"/><baozhengj format="(baozhengj like '%%{opvalue}%')"/><create_userid format="create_userid='%{opvalue}'"/><orderinfo_id format="(orderinfo_id like '%%{opvalue}%')"/></var>
<xi:include xmlns:xi=" href="lan\orderinfo.xml"/>
<Ctrls><GroupBox Name="GBorderinfo" id="orderinfo" Text="orderinfo" Size="100,100"><Ctrls>
<xi:include xmlns:xi=" href="orderinfo_Vs.xml"/>
<BR AutoHeight="1"/><GroupBox Name="GBOPVorderinfo" Size="100,20" cols="xs12 sm6 md4 lg3"><Ctrls>
<Button Text="addone" ToolTip="ttp_addone" Name="addone" Size="50,20"> <OnClick><submit next="$this.orderinfo.GBDEDITorderinfo" function="reset"/></OnClick> </Button><TAB/>
<Button Text="reset" ToolTip="ttp_resetorderinfo" Name="resetorderinfo" Size="50,20"> <OnClick> <submit next="GBDEDITorderinfo" function="reset"/> </OnClick> </Button><TAB/>
<Button Text="gsearch" ToolTip="ttp_gsearchorderinfo" Name="gsearchorderinfo" Size="50,20"> <OnClick>
<search next="orderinfo_vLst" listed="0" prefixwhere="1" prefixand="0" inputed="1">%{searchtmpl}</search><submit next="GBDEDITorderinfo" namelist="search" function="search"/>
<search next="records_orderinfo" listed="0" prefixwhere="1" prefixand="0" inputed="1">%{searchtmpl}</search><submit next="GBDEDITorderinfo" namelist="search" function="search"/>
</OnClick></Button><TAB/></Ctrls></GroupBox>
<xi:include xmlns:xi=" href="orderinfo_Vpg.xml"/>
<xi:include xmlns:xi=" href="orderinfo_Vpgop.xml"/>
<BR AutoHeight="1"/><xi:include xmlns:xi=" href="orderinfo_Vv.xml"/>
</Ctrls></GroupBox>
</Ctrls></WndTap>
“orderinfo_Ve.xml”
<WndTap Name="orderinfo" Text="orderinfo" Ver="2">
<var name="refreshAfterEdit" expr="0"/>
<var name="dataRequired" expr=""/>
<var name="dataRequireless" expr=""/>
<xi:include href="lan\orderinfo.xml" xmlns:xi="/>
<xi:include xmlns:xi=" href="lan\orderdetail.xml"/>
<Ctrls>
<GroupBox Name="GBorderinfo" id="orderinfo" Text="orderinfo" Size="100,100"><Ctrls>
<xi:include xmlns:xi=" href="orderinfo_GBDEDIT.xml"/>
<BR AutoHeight="1"/><xi:include xmlns:xi=" href="orderinfo_GBOPE.xml"/>
<xi:include xmlns:xi=" href="orderinfo_Vh.xml"/>
<BR/><xi:include xmlns:xi=" href="orderdetail_Vv.xml"/>
</Ctrls></GroupBox></Ctrls>
<OnChanged></OnChanged>
<OnActivate><SetVisible name="insertorderinfo" Visible="1"/><SetVisible name="modifyorderinfo" Visible="0"/></OnActivate>
</WndTap>
“orderinfo_Vh.xml”
<GroupBox Name="GBDVorderinfo" cols="xs12 sm12 md12 lg12" visible="0"><Ctrls>
<ListCtrl Name="orderinfoLst" ToolTip="ttp_orderinfo" Size="70,20" visible="0" loadedclick="1">
<DbDetails fcsm="1">
<Index>orderinfo_id</Index>
<DbTable>invoicing.orderinfo</DbTable>
<Data>billtype,order_no,order_date,delivery_date,client_id,storage_id,summary,note,sum_money,derate_money,derate_type,derate_agion,ought_money,pay_account,pay_money,state,curphasenum,curphasedate,curphaseuserid,exestate,finishedate,ispatch,rec_money_sum,pay_money_sum,maxnum,inout_type,baozhengj,create_userid,create_date,orderinfo_id</Data>
<Order>orderinfo_id</Order></DbDetails>
<OnClick><assign name="billtype[id]" expr="%{orderinfoLst[billtype]}" function="SetSel"/><assign name="order_no[order_no]" expr="%{orderinfoLst[order_no]}" function="SetSel"/><assign name="client_id[clientinfo_id]" expr="%{orderinfoLst[client_id]}" function="SetSel"/><assign name="storage_id[storageinfo_id]" expr="%{orderinfoLst[storage_id]}" function="SetSel"/><assign name="curphasenum[phasenum]" expr="%{orderinfoLst[curphasenum]}" function="SetSel"/><assign name="curphaseuserid[id]" expr="%{orderinfoLst[curphaseuserid]}" function="SetSel"/><assign name="create_userid[id]" expr="%{orderinfoLst[create_userid]}" function="SetSel"/>
<if cond="%{orderinfo_id}"><SetVisible name="insertorderinfo" Visible="0"/><SetVisible name="modifyorderinfo" Visible="1"/></if>
</OnClick>
</ListCtrl>
</Ctrls></GroupBox>
“orderinfo_Vpg.xml”
<GroupBox cols="xs12 sm6 md4 lg3" Multiline="0" Name="GBPGorderinfo"><Ctrls>
<Label Text="Records" Name="lb_Records" Size="60,20"/>
<TextBox Weight="30" ToolTip="ttp_records" Name="records_orderinfo" Size="30,20" readonly="1">
<DbDetails fcsm="1">
<Index>orderinfo_id</Index>
<DbTable>invoicing.orderinfo o left join invoicing.billtypeinfo b on o.billtype=b.id left join invoicing.clientinfo c on o.client_id=c.clientinfo_id left join invoicing.storageinfo s on o.storage_id=s.storageinfo_id left join invoicing.flowphase f on o.curphasenum=f.phasenum left join invoicing.userinfo u on o.curphaseuserid=u.id left join invoicing.userinfo u0 on o.create_userid=u0.id</DbTable>
<Data>count(*) records</Data>
<Order>orderinfo_id</Order><Queryformat>select %{data} from (select orderinfo_id from %{dbtable} %{where} GROUP BY orderinfo_id ORDER BY orderinfo_id) t</Queryformat></DbDetails>
<OnEnchange>
<assign name="pgs_orderinfo" expr="js(Math.ceil(%{records_orderinfo}/%{orderinfo_vLst[countsperpage]}))"/>
<assign name="pgscb_orderinfo" expr="js('1~'+Math.ceil(%{records_orderinfo}/%{orderinfo_vLst[countsperpage]}))" function="setitems"/>
</OnEnchange>
</TextBox>
<!--ComboBox Weight="60" ToolTip="ttp_pgs" Name="pgscb_orderinfo" Size="60,20"><OnSelEndOK><submit next="orderinfo_vLst" function="GetPage(%{pgscb_orderinfo}-1)"/></OnSelEndOK></ComboBox-->
<TextBox Weight="30" ToolTip="ttp_pgs" Name="pgs_orderinfo" Size="30,20" readonly="1"/>
<TextBox Weight="30" ToolTip="ttp_pgcur" Name="pgcur_orderinfo" Size="30,20"/>
<Button Text="go2Page" Name="go2pageorderinfo_vLst" Size="50,20"><OnClick><submit next="orderinfo_vLst" function="GetPage(%{pgcur_orderinfo}-1)"/></OnClick></Button>
</Ctrls></GroupBox>
“orderinfo_Vpgop.xml”
<GroupBox cols="xs12 sm6 md4 lg3" Name="GBOPVorderinfo" Size="100,10"><Ctrls>
<TAB/><Button Text="initial" ToolTip="ttp_initial" Name="initialorderinfo" Size="50,20">
<OnClick><submit next="orderinfo_vLst" function="initial"/><submit next="records_orderinfo" function="initial"/></OnClick></Button>
<TAB/><Button Text="firstpage" Name="FPorderinfo_vLst" Size="50,20">
<OnClick><submit next="orderinfo_vLst" function="GetPage(first)"/><submit next="records_orderinfo"/></OnClick></Button>
<Button Text="prepage" Name="PREorderinfo_vLst" Size="50,20">
<OnClick><submit next="orderinfo_vLst" function="GetPage(Pre)"/></OnClick></Button>
<Button Text="nextpage" Name="NPorderinfo_vLst" Size="50,20">
<OnClick><submit next="orderinfo_vLst" function="GetPage(Next)"/></OnClick></Button>
</Ctrls></GroupBox>
“orderinfo_Vs.xml”
<GroupBox Name="GBDEDITorderinfo" toggle="1"><Ctrls>
<GroupBox Name="Main" Text="Main" feature="tab"><Ctrls>
<GroupBox Name="GB_billtype" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_billtype" Size="60,20" Text="billtype" >
<ComboBox Name="billtype" Size="170,100" Text="" Weight="170" ToolTip="ttp_billtype" >
<DbDetails>
<Index>id</Index>
<DbTable>invoicing.billtypeinfo</DbTable>
<Data>BILL_NAME,CODE_PRE,ID</Data>
<Where></Where>
<queryFormat></queryFormat></DbDetails></ComboBox>
</Ctrls></GroupBox>
<GroupBox Name="GB_order_no" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_order_no" Size="60,20" Text="order_no"/>
<TextBox Name="order_no" Size="170,20" Text="" Weight="170" ToolTip="ttp_order_no">
<DbDetails>
<Index>order_no</Index>
<DbTable>invoicing.orderinfo</DbTable>
<Data>ORDER_NO</Data>
<Where></Where>
<queryFormat></queryFormat></DbDetails></TextBox>
</Ctrls></GroupBox>
<GroupBox Name="GB_order_date" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_order_date" Size="60,20" Text="order_date"/>
<DateTime Name="order_date" Format="yyyy-MM-dd HH:mm:ss" Size="170,20" Text="" Weight="170" ToolTip="ttp_order_date"></DateTime>
</Ctrls></GroupBox>
<GroupBox Name="GB_delivery_date" Multiline="0" cols="xs12 sm6 md4 lg3" Visible="false" overlap="pre"><Ctrls>
<Label Name="lb_delivery_date" Size="60,20" Text="delivery_date" Visible="false" overlap="pre" readonly="true"/>
<DateTime Name="delivery_date" Format="yyyy-MM-dd HH:mm:ss" Size="170,20" Text="" Weight="170" ToolTip="ttp_delivery_date" Visible="false" overlap="pre" readonly="true"></DateTime>
</Ctrls></GroupBox>
<BR AutoHeight="1"/><GroupBox Name="GB_client_id" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_client_id" Size="60,20" Text="client_id" >
<ComboBox Name="client_id" Size="170,100" Text="" Weight="170" ToolTip="ttp_client_id" >
<DbDetails>
<Index>clientinfo_id</Index>
<DbTable>invoicing.clientinfo</DbTable>
<Data>CLIENT_NAME,clientinfo_ID</Data>
<Where></Where>
<queryFormat></queryFormat></DbDetails></ComboBox>
</Ctrls></GroupBox>
<GroupBox Name="GB_storage_id" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_storage_id" Size="60,20" Text="storage_id" >
<ComboBox Name="storage_id" Size="170,100" Text="" Weight="170" ToolTip="ttp_storage_id" >
<DbDetails>
<Index>storageinfo_id</Index>
<DbTable>invoicing.storageinfo</DbTable>
<Data>STO_NAME,storageinfo_ID</Data>
<Where></Where>
<queryFormat></queryFormat></DbDetails></ComboBox>
</Ctrls></GroupBox>
<GroupBox Name="GB_summary" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_summary" Size="60,20" Text="summary"/>
<TextBox Name="summary" Size="170,20" Text="" Weight="170" ToolTip="ttp_summary"></TextBox>
</Ctrls></GroupBox>
<BR AutoHeight="1"/><GroupBox Name="GB_note" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_note" Size="60,20" Text="note"/>
<TextBox Name="note" Size="170,20" Text="" Weight="170" ToolTip="ttp_note"></TextBox>
</Ctrls></GroupBox>
</Ctrls></GroupBox>
<BR NULLHeight="1"/><GroupBox Name="Money" Text="Money" feature="tab"><Ctrls>
<GroupBox Name="GB_sum_money" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_sum_money" Size="60,20" Text="sum_money"/>
<TextBox Name="sum_money" Size="170,20" Text="" Weight="170" ToolTip="ttp_sum_money"></TextBox>
</Ctrls></GroupBox>
<GroupBox Name="GB_derate_money" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_derate_money" Size="60,20" Text="derate_money"/>
<TextBox Name="derate_money" Size="170,20" Text="" Weight="170" ToolTip="ttp_derate_money"></TextBox>
</Ctrls></GroupBox>
<GroupBox Name="GB_derate_type" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_derate_type" Size="60,20" Text="derate_type"/>
<TextBox Name="derate_type" Size="170,20" Text="" Weight="170" ToolTip="ttp_derate_type"></TextBox>
</Ctrls></GroupBox>
<BR AutoHeight="1"/><GroupBox Name="GB_derate_agion" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_derate_agion" Size="60,20" Text="derate_agion"/>
<TextBox Name="derate_agion" Size="170,20" Text="" Weight="170" ToolTip="ttp_derate_agion"></TextBox>
</Ctrls></GroupBox>
<GroupBox Name="GB_ought_money" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_ought_money" Size="60,20" Text="ought_money"/>
<TextBox Name="ought_money" Size="170,20" Text="" Weight="170" ToolTip="ttp_ought_money"></TextBox>
</Ctrls></GroupBox>
</Ctrls></GroupBox>
<BR NULLHeight="1"/><GroupBox Name="Pay" Text="Pay" feature="tab"><Ctrls>
<GroupBox Name="GB_pay_account" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_pay_account" Size="60,20" Text="pay_account"/>
<TextBox Name="pay_account" Size="170,20" Text="" Weight="170" ToolTip="ttp_pay_account"></TextBox>
</Ctrls></GroupBox>
<GroupBox Name="GB_pay_money" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_pay_money" Size="60,20" Text="pay_money"/>
<TextBox Name="pay_money" Size="170,20" Text="" Weight="170" ToolTip="ttp_pay_money"></TextBox>
</Ctrls></GroupBox>
<GroupBox Name="GB_state" Multiline="0" cols="xs12 sm6 md4 lg3" Visible="false" overlap="pre"><Ctrls>
<Label Name="lb_state" Size="60,20" Text="state" Visible="false" overlap="pre" readonly="true"/>
<TextBox Name="state" Size="170,20" Text="" Weight="170" ToolTip="ttp_state" Visible="false" overlap="pre" readonly="true"></TextBox>
</Ctrls></GroupBox>
<GroupBox Name="GB_curphasenum" Multiline="0" cols="xs12 sm6 md4 lg3" Visible="false" overlap="pre"><Ctrls>
<Label Name="lb_curphasenum" Size="60,20" Text="curphasenum" Visible="false" overlap="pre"/>
<TextBox Name="curphasenum" Size="170,20" Text="" Weight="170" ToolTip="ttp_curphasenum" Visible="false" overlap="pre">
<DbDetails>
<Index>phasenum</Index>
<DbTable>invoicing.flowphase</DbTable>
<Data>PHASENAME,PHASENUM</Data>
<Where></Where>
<queryFormat></queryFormat></DbDetails></TextBox>
</Ctrls></GroupBox>
<GroupBox Name="GB_curphasedate" Multiline="0" cols="xs12 sm6 md4 lg3" Visible="false" overlap="pre"><Ctrls>
<Label Name="lb_curphasedate" Size="60,20" Text="curphasedate" Visible="false" overlap="pre"/>
<DateTime Name="curphasedate" Format="yyyy-MM-dd HH:mm:ss" Size="170,20" Text="" Weight="170" ToolTip="ttp_curphasedate" Visible="false" overlap="pre"></DateTime>
</Ctrls></GroupBox>
<GroupBox Name="GB_curphaseuserid" Multiline="0" cols="xs12 sm6 md4 lg3" Visible="false" overlap="pre"><Ctrls>
<Label Name="lb_curphaseuserid" Size="60,20" Text="curphaseuserid" Visible="false" overlap="pre" readonly="true"/>
<TextBox Name="curphaseuserid" Size="170,20" Text="" Weight="170" ToolTip="ttp_curphaseuserid" Visible="false" overlap="pre" readonly="true">
<DbDetails>
<Index>id</Index>
<DbTable>invoicing.userinfo</DbTable>
<Data>USER_NAME,ID</Data>
<Where></Where>
<queryFormat></queryFormat></DbDetails></TextBox>
</Ctrls></GroupBox>
<GroupBox Name="GB_exestate" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_exestate" Size="60,20" Text="exestate"/>
<TextBox Name="exestate" Size="170,20" Text="" Weight="170" ToolTip="ttp_exestate"></TextBox>
</Ctrls></GroupBox>
<GroupBox Name="GB_finishedate" Multiline="0" cols="xs12 sm6 md4 lg3" Visible="false" overlap="pre"><Ctrls>
<Label Name="lb_finishedate" Size="60,20" Text="finishedate" Visible="false" overlap="pre"/>
<DateTime Name="finishedate" Format="yyyy-MM-dd HH:mm:ss" Size="170,20" Text="" Weight="170" ToolTip="ttp_finishedate" Visible="false" overlap="pre"></DateTime>
</Ctrls></GroupBox>
<BR AutoHeight="1"/><GroupBox Name="GB_ispatch" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_ispatch" Size="60,20" Text="ispatch"/>
<TextBox Name="ispatch" Size="170,20" Text="" Weight="170" ToolTip="ttp_ispatch"></TextBox>
</Ctrls></GroupBox>
<GroupBox Name="GB_rec_money_sum" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_rec_money_sum" Size="60,20" Text="rec_money_sum"/>
<TextBox Name="rec_money_sum" Size="170,20" Text="" Weight="170" ToolTip="ttp_rec_money_sum"></TextBox>
</Ctrls></GroupBox>
<GroupBox Name="GB_pay_money_sum" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_pay_money_sum" Size="60,20" Text="pay_money_sum"/>
<TextBox Name="pay_money_sum" Size="170,20" Text="" Weight="170" ToolTip="ttp_pay_money_sum"></TextBox>
</Ctrls></GroupBox>
<BR AutoHeight="1"/><GroupBox Name="GB_maxnum" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_maxnum" Size="60,20" Text="maxnum"/>
<TextBox Name="maxnum" Size="170,20" Text="" Weight="170" ToolTip="ttp_maxnum"></TextBox>
</Ctrls></GroupBox>
<GroupBox Name="GB_inout_type" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_inout_type" Size="60,20" Text="inout_type"/>
<TextBox Name="inout_type" Size="170,20" Text="" Weight="170" ToolTip="ttp_inout_type"></TextBox>
</Ctrls></GroupBox>
<GroupBox Name="GB_baozhengj" Multiline="0" cols="xs12 sm6 md4 lg3" Visible="false" overlap="pre"><Ctrls>
<Label Name="lb_baozhengj" Size="60,20" Text="baozhengj" Visible="false" overlap="pre" readonly="true"/>
<TextBox Name="baozhengj" Size="170,20" Text="" Weight="170" ToolTip="ttp_baozhengj" Visible="false" overlap="pre" readonly="true"></TextBox>
</Ctrls></GroupBox>
<GroupBox Name="GB_create_userid" Multiline="0" cols="xs12 sm6 md4 lg3" Visible="false" overlap="pre"><Ctrls>
<Label Name="lb_create_userid" Size="60,20" Text="create_userid" Visible="false" overlap="pre" readonly="true"/>
<TextBox Name="create_userid" Size="170,20" Text="" Weight="170" ToolTip="ttp_create_userid" Visible="false" overlap="pre" readonly="true">
<DbDetails>
<Index>id</Index>
<DbTable>invoicing.userinfo</DbTable>
<Data>USER_NAME,ID</Data>
<Where></Where>
<queryFormat></queryFormat></DbDetails></TextBox>
</Ctrls></GroupBox>
<GroupBox Name="GB_create_date" Multiline="0" cols="xs12 sm6 md4 lg3" Visible="false" overlap="pre"><Ctrls>
<Label Name="lb_create_date" Size="60,20" Text="create_date" Visible="false" overlap="pre" readonly="true"/>
<DateTime Name="create_date" Format="yyyy-MM-dd HH:mm:ss" Size="170,20" Text="" Weight="170" ToolTip="ttp_create_date" Visible="false" overlap="pre" readonly="true"></DateTime>
</Ctrls></GroupBox>
<GroupBox Name="GB_orderinfo_id" Multiline="0" cols="xs12 sm6 md4 lg3"><Ctrls>
<Label Name="lb_orderinfo_id" Size="60,20" Text="orderinfo_id"/>
<TextBox Name="orderinfo_id" Size="170,20" Text="" Weight="170" ToolTip="ttp_orderinfo_id"><OnEnChange><if cond="'%{orderinfo_id}'"><DbDetails><Where>orderinfo_id='%{orderinfo_id}'</Where></DbDetails><submit namelist="DbDetails" next="orderdetail_vLst"/><else/><submit function="resetcontent" next="orderdetail_vLst"/></if></OnEnChange></TextBox>
</Ctrls></GroupBox>
</Ctrls></GroupBox></Ctrls></GroupBox>
“orderinfo_Vv.xml”
<GroupBox Name="GBDVorderinfo" cols="xs12 sm12 md12 lg12"><Ctrls>
<ListCtrl Name="orderinfo_vLst" ToolTip="ttp_orderinfo_v" Size="700,450" Heading="billtype,120;order_no,500;order_date,150;delivery_date,150;client_id,120;storage_id,120;summary,640;note,640;sum_money,90;derate_money,90;derate_type,50;derate_agion,90;ought_money,90;pay_account,640;pay_money,90;state,50;curphasenum,90;curphasedate,150;curphaseuserid,90;exestate,50;finishedate,150;ispatch,50;rec_money_sum,90;pay_money_sum,90;maxnum,90;inout_type,500;baozhengj,90;create_userid,90;create_date,150;orderinfo_id,100;" loadedclick="0">
<DbDetails >
<Index>orderinfo_id</Index>
<DbTable>invoicing.orderinfo o left join invoicing.billtypeinfo b on o.billtype=b.id left join invoicing.clientinfo c on o.client_id=c.clientinfo_id left join invoicing.storageinfo s on o.storage_id=s.storageinfo_id left join invoicing.flowphase f on o.curphasenum=f.phasenum left join invoicing.userinfo u on o.curphaseuserid=u.id left join invoicing.userinfo u0 on o.create_userid=u0.id</DbTable>
<Data>b.BILL_NAME billtype,o.order_no,o.order_date,o.delivery_date,c.CLIENT_NAME client_id,s.STO_NAME storage_id,o.summary,o.note,o.sum_money,o.derate_money,o.derate_type,o.derate_agion,o.ought_money,o.pay_account,o.pay_money,o.state,f.PHASENAME curphasenum,o.curphasedate,u.USER_NAME curphaseuserid,o.exestate,o.finishedate,o.ispatch,o.rec_money_sum,o.pay_money_sum,o.maxnum,o.inout_type,o.baozhengj,u0.USER_NAME create_userid,o.create_date,o.orderinfo_id</Data>
<Order>orderinfo_id</Order></DbDetails>
<DbDetails fcsm="1"><queryFormat xml:base="d:\Program Files (x86)\3UCS\3UCS Server\layout\biztools\mysqlcfg.xml" id="tbpages">select %{data} from %{dbtable} %{where} limit %{StartRow},%{PgSize}</queryFormat></DbDetails>
<operator refresh="1" firstpage="1" prepage="1" nextpage="1">
<op text="modify"><DbDetails><Where>orderinfo_id='%{orderinfo_vLst[orderinfo_id]}'</Where></DbDetails><submit namelist="DbDetails" next="$this.orderinfo.orderinfoLst"/></op>
<op text="delete" needconfirm="1"><DbDetails>
<DbTable>invoicing.orderinfo</DbTable>
<Where>orderinfo_id='%{orderinfo_vLst[orderinfo_id]}'</Where>
<queryFormat>delete from %{table} where %{where}</queryFormat></DbDetails>
<submit namelist="DbDetails"/><submit/></op>
</operator>
<OnChanged>
<assign name="pgcur_orderinfo" expr="js(%{orderinfo_vLst[currentpage]}+1)"/>
<assign name="pgscb_orderinfo" expr="js(%{orderinfo_vLst[currentpage]}+1)" function="SetSel"/>
</OnChanged></ListCtrl>
</Ctrls></GroupBox>
“index.xml”
<?xml version="1.0" encoding="UTF-8"?><XI3uWnd keywords="" debug="0" Title="Invoicing" logo="http://centyou.com/images/logo.png" description=" “x+ ”是一套跨平臺、安全、高效並支援應用專屬定製的SOA 軟體應用執行平臺">
<DbDetails>
<SubDriver>MySQL</SubDriver>
<Host>localhost</Host>
<database>invoicing</database>
<characterset>utf8</characterset>
<User>i3u</User>
<password>i3u</password>
</DbDetails>
<xi:include xmlns:xi=" href="lan\general.xml"/>
<WndTaps>
<xi:include xmlns:xi=" href="clientinfo_V.xml"/>
<xi:include xmlns:xi=" href="goodsinfo_V.xml"/>
<xi:include xmlns:xi=" href="orderinfo_V.xml"/>
<xi:include xmlns:xi=" href="memberinfo_V.xml"/>
<xi:include xmlns:xi=" href="stockinfo_V.xml"/>
<xi:include xmlns:xi=" href="storageinfo_V.xml"/>
<xi:include xmlns:xi=" href="burdeninfo_v.xml"></xi:include>
</WndTaps></XI3uWnd>
轉載於:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70020543/viewspace-2908473/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 7項營銷自動化技巧幫您打造個性化、情境化體驗
- 【智慧物流】分分鐘瞭解透徹自動化立體倉庫
- 學會Python+Selenium,分分鐘搭建Web自動化框架!PythonWeb框架
- 專案管理軟體設定任務流程自動化專案管理
- Fastjson定製屬性的序列化和反序列化ASTJSON
- Deeper for mac - Mac系統個性化深度定製工具Mac
- 個性化定製:提高專案管理效率的秘密武器?專案管理
- 軟體自動化測試工具的那些事兒
- 用 python 寫一個自動化部署工具Python
- 《Python自動化運維快速入門(第2版)》簡介Python運維
- 分分鐘掌握快速排序排序
- 軟體將決定工業自動化的未來
- 自動化測試在國際軟體測試中的應用
- 定製龍頭索菲亞養成記:專業化、規模化、個性化
- 用HMS Core地圖服務自定義地圖樣式,給你的應用製作專屬個性化地圖地圖
- 自動化測試工具Cucumber的簡單介紹,入門篇!
- 談軟體自動化測試工具的評測方法
- 軟體自動化測試工具的歷史演進
- 自動化測試:Monkey工具實踐應用~
- 軟體自動化測試的四個階段
- 自動化運維工具Ansible介紹運維
- 簡單介紹自動化在各個行業的發展!行業
- 透過個性化定製將通用型CRM打造成企業專屬CRM系統
- Vagrant定製個性化CentOS7模板CentOS
- airtest自動化測試工具快速入門AI
- 桌面應用自動化winappdriverAPP
- 自動化測試是什麼?什麼軟體專案適合自動化測試?
- 微軟自動化測試工具palywright微軟
- 自動化整合:Docker容器入門簡介Docker
- DevOps,CI,CD,自動化簡單介紹dev
- 化學繪圖軟體ChemDraw,繪製簡單的化學元素繪圖
- Android自動化-如何獲取檢視元素屬性?Android
- 自動化清理軟體:Hazel for MacMac
- 簡單介紹實體類或物件序列化時,忽略為空屬性的操作物件
- 自動化專項應當研究的是什麼,請教一個落地方向 (介面自動化)
- 【Python自動化Excel】pandas處理Excel的“分分合合”PythonExcel
- 5S軟體就是將軟體應用全維度簡單化的軟體系統
- 5個營銷自動化技巧幫您輕鬆提高轉化率