BizTool自动化工具
(分分钟快速定制您的专属个性化软件应用)
(使用入门视频演示:http://3ucs.com/video.php?vid=49 )
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="2[s1] ">
<var name="refreshAfterEdit" expr="0"/>
<var name="dataRequired" expr=""/>
<var name="dataRequireless" expr=""/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lan\orderinfo.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lan\orderdetail.xml"/>
<Ctrls>
<GroupBox Text="orderinfo" Name="GBorderinfo" id="orderinfo" Size="100,100"><Ctrls>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="orderinfo_GBDEDIT.xml"></xi:include><BR AutoHeight="1"/><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="orderinfo_GBOPE.xml"></xi:include>
<TAB/><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="orderinfo_GBOPV.xml"></xi:include>
<BR/><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 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 Align="Right" Text="billtype" onload="init" Name="lb_billtype" Size="60,20"/>
<ComboBox Weight="170" Text="" ToolTip="ttp_billtype" onload="init" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" Text="client_id" onload="init" Name="lb_client_id" Size="60,20"/>
<ComboBox Weight="170" Text="" ToolTip="ttp_client_id" onload="init" 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 Align="Right" Text="storage_id" onload="init" Name="lb_storage_id" Size="60,20"/>
<ComboBox Weight="170" Text="" ToolTip="ttp_storage_id" onload="init" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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 Align="Right" 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" OnClick="(orderinfoLst)GetPage(First)" Size="50,20"/>
<TAB/><Button Text="prepage" Name="PREorderinfoLst" OnClick="(orderinfoLst)GetPage(Pre)" Size="50,20"/>
<TAB/><Button Text="nextpage" Name="NPorderinfoLst" OnClick="(orderinfoLst)GetPage(Next)" Size="50,20"/>
</Ctrls></GroupBox>
“orderinfo_V.xml”:
<WndTap Name="orderinfo_v" Text="orderinfo">
<WndTaps>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="orderinfo_Ve.xml" popup="1"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 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="http://www.w3.org/2001/XInclude" href="lan\orderinfo.xml"/>
<Ctrls><GroupBox Name="GBorderinfo" id="orderinfo" Text="orderinfo" Size="100,100"><Ctrls>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 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="http://www.w3.org/2001/XInclude" href="orderinfo_Vpg.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="orderinfo_Vpgop.xml"/>
<BR AutoHeight="1"/><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 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="http://www.w3.org/2001/XInclude"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lan\orderdetail.xml"/>
<Ctrls>
<GroupBox Name="GBorderinfo" id="orderinfo" Text="orderinfo" Size="100,100"><Ctrls>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="orderinfo_GBDEDIT.xml"/>
<BR AutoHeight="1"/><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="orderinfo_GBOPE.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="orderinfo_Vh.xml"/>
<BR/><xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 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 Align="Right" Text="Records" Name="lb_Records" Size="60,20"/>
<TextBox Weight="30" ToolTip="ttp_records" Name="records_orderinfo" Size="30,20" OnLoad="init" 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" Align="Right" onload="init"/>
<ComboBox Name="billtype" Size="170,100" Text="" Weight="170" ToolTip="ttp_billtype" onload="init">
<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" Align="Right"/>
<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" Align="Right"/>
<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" Align="Right" 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" Align="Right" onload="init"/>
<ComboBox Name="client_id" Size="170,100" Text="" Weight="170" ToolTip="ttp_client_id" onload="init">
<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" Align="Right" onload="init"/>
<ComboBox Name="storage_id" Size="170,100" Text="" Weight="170" ToolTip="ttp_storage_id" onload="init">
<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" Align="Right"/>
<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" Align="Right"/>
<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" Align="Right"/>
<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" Align="Right"/>
<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" Align="Right"/>
<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" Align="Right"/>
<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" Align="Right"/>
<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" Align="Right"/>
<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" Align="Right"/>
<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" Align="Right" 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" Align="Right" 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" Align="Right" 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" Align="Right" 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" Align="Right"/>
<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" Align="Right" 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" Align="Right"/>
<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" Align="Right"/>
<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" Align="Right"/>
<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" Align="Right"/>
<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" Align="Right"/>
<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" Align="Right" 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" Align="Right" 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" Align="Right" 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" Align="Right"/>
<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" OnLoad="init" 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="http://www.w3.org/2001/XInclude" href="lan\general.xml"/>
<WndTaps>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="clientinfo_V.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="goodsinfo_V.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="orderinfo_V.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="memberinfo_V.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="stockinfo_V.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="storageinfo_V.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="burdeninfo_v.xml"></xi:include>
</WndTaps></XI3uWnd>