一種用戶界面上智能拷貝數(shù)據(jù)的方法
【專利摘要】本發(fā)明公開了一種用戶界面上智能拷貝數(shù)據(jù)的方法,屬于數(shù)據(jù)錄入【技術領域】。該方法包括如下步驟:(一)設置數(shù)據(jù)拷貝模板,所述數(shù)據(jù)拷貝模板包含以下信息項:模板編號、模板名稱、模板描述及模板字段的集合,所述模板編號用于唯一性的標識一個模板;(二)基于數(shù)據(jù)拷貝模板,拷貝可復用的數(shù)據(jù),形成一個數(shù)據(jù)拷貝;(三)選擇數(shù)據(jù)拷貝模板的數(shù)據(jù)拷貝,自動將數(shù)據(jù)填寫到用戶界面上。與現(xiàn)有技術相比,通過在表單開發(fā)過程中應用本發(fā)明的智能拷貝數(shù)據(jù)的方法,可方便的使用戶在表單錄入過程中復用常用的反復錄入的數(shù)據(jù),提高了用戶業(yè)務錄入的效率和繁瑣性,同時也能夠避免人工錄入帶來的失誤,具有很好的推廣應用價值。
【專利說明】一種用戶界面上智能拷貝數(shù)據(jù)的方法
[0001]
【技術領域】
[0002] 本發(fā)明涉及一種數(shù)據(jù)錄入技術,具體地說是一種涉及.NET Winforms表單的用戶 界面上智能拷貝數(shù)據(jù)的方法。
【背景技術】
[0003] 在· NET Winforms技術實現(xiàn)的表單界面中,· NET Framework中內(nèi)置提供了界面綁 定技術,可以將一個數(shù)據(jù)實體對象的數(shù)據(jù),綁定到用戶界面控件上,能夠提供單向(實體到 控件)或雙向(實體到控件、控件到實體)的數(shù)據(jù)綁定。
[0004] 在一個基于.NET Winforms技術的軟件系統(tǒng)中,在一個表單(用戶界面)的多條數(shù) 據(jù)之間,存在相同的數(shù)據(jù)組成部分,在業(yè)務處理過程中,用戶錄入時,往往需要人工的錄入 多次。例如采購訂單,對于同一個供應商的多次采購之間,采購的供應商、物料(產(chǎn)品)等信 息基本一致,主要是每次采購的數(shù)量、單價等不一樣。這樣用戶往往會重復的錄入多次。如 果能夠自動的復制以前錄入的數(shù)據(jù),將提高用戶的業(yè)務處理效率,降低繁瑣程度,并避免人 為的誤操作。
[0005] 此外,一個單據(jù)展現(xiàn)的實體數(shù)據(jù),可以由一個主實體和多個子實體組成,構成主從 結構,每個實體是一個二維表結構。具體結構如附圖1所示。例如,一個銷售訂單包含訂單 基本信息(主實體)和銷售產(chǎn)品明細信息(子實體)。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的技術任務是針對上述現(xiàn)有技術的不足,提供一種能夠根據(jù)用戶自定義規(guī) 貝1J,自動復制以前錄入的數(shù)據(jù)的用戶界面上智能拷貝數(shù)據(jù)的方法。
[0007] 本發(fā)明的技術任務是按以下方式實現(xiàn)的:一種用戶界面上智能拷貝數(shù)據(jù)的方法, 包括如下步驟: (一) 設置數(shù)據(jù)拷貝模板 所述數(shù)據(jù)拷貝模板包含以下信息項:模板編號、模板名稱、模板描述及模板字段的集 合, 所述模板編號用于唯一'I"生的標識一個模板; (二) 基于數(shù)據(jù)拷貝模板,拷貝可復用的數(shù)據(jù),形成一個數(shù)據(jù)拷貝; (三) 選擇數(shù)據(jù)拷貝模板的數(shù)據(jù)拷貝,自動將數(shù)據(jù)填寫到用戶界面上。
[0008] 為了進一步方便進行重復性錄入,可以設置模板數(shù)據(jù)拷貝存儲結構,用戶可選擇 數(shù)據(jù)拷貝模板中常用的數(shù)據(jù)條目,將其拷貝出來,存到模板數(shù)據(jù)拷貝存儲結構中,用于重復 性的錄入。
[0009] 所述模板數(shù)據(jù)拷貝存儲結構包含以下信息項:模板編號、數(shù)據(jù)編號、數(shù)據(jù)描述、數(shù) 據(jù)拷貝,其中,所述模板編號用于記錄當前拷貝的數(shù)據(jù)是基于哪一個數(shù)據(jù)拷貝模板;所述數(shù) 據(jù)編號用于唯一性標識當前的數(shù)據(jù)拷貝;所述數(shù)據(jù)描述用于當前數(shù)據(jù)拷貝的描述性信息, 便于識別不同數(shù)據(jù)拷貝。
[0010] 所述模板數(shù)據(jù)拷貝存儲結構的數(shù)據(jù)拷貝,用于存儲拷貝的數(shù)據(jù),采用XML數(shù)據(jù)格 式的存儲形式。
[0011] XML數(shù)據(jù)包含一個根元素 "Data",在"Data"元素下可包含一個到多個"Entity" 子元素。
[0012] "Entity"子元素包含以下信息:一個"EntityName"屬性、一個或多個"Row"子元 素。其中,"EntityName"屬性用于指定實體名。其中,"Row"子元素,用于描述其中的數(shù)據(jù) 行,包含一個或多個"Field"子元素。"Field"子元素用于描述一行中的多個字段的值。其 中,"Field"元素包含兩個屬性 :"FieldName"、"Value"。其中,"FiledName"用于指定字段 名,"Value"用于存儲字段值。
[0013] 步驟(一)中所述模板字段包含如下信息項:編號、名稱、子實體名、實體字段名及 數(shù)據(jù)值類型,其中, 所述編號用于在模板中唯一性表示一個模板字段;所述子實體名用于標識當前字段從 屬的子實體;所述實體字段名為界面綁定的數(shù)據(jù)實體中對應的字段名;所述數(shù)據(jù)值類型分 為兩種類型:數(shù)據(jù)值或變量,數(shù)據(jù)值指的是當前模板拷貝數(shù)據(jù)時,直接存儲該字段的數(shù)值; 變量指的是當前模板拷貝數(shù)據(jù)時,該字段存儲一個變量名。
[0014] 當模板字段的數(shù)據(jù)值類型為變量類型時,其數(shù)據(jù)值為一個變量表達式,表達形式 為變量名的形式,其中的變量表達式用于在拷貝數(shù)據(jù)時,對特定上下文中變量進行解 析,獲取相應的數(shù)據(jù)值。
[0015] 步驟(三)中,當用戶選擇一個模版數(shù)據(jù)拷貝,自動填寫到表單界面時,需要表單實 現(xiàn)一個數(shù)據(jù)粘貼程序接口。
[0016] 數(shù)據(jù)粘貼程序接口提供一個接口方法:void PastEntityData(string xmlData), 其中的參數(shù)xmlData,是數(shù)據(jù)拷貝中存儲的實體數(shù)據(jù)。
[0017] 在調(diào)用具體的PastEntityData接口方法之前,需要對數(shù)據(jù)拷貝模板中存儲的變 量類型的字段進行變量的解析,將變量轉換為實際的數(shù)據(jù)值,變量解析也需要具體的表單 實現(xiàn)一個變量解析程序接口。
[0018] 變量解析程序接口包含一個接口方法:Dictionary〈string, object〉 GetVariableList (),用于提供上下文變量的列表,其中返回值是一個.NET實現(xiàn)的數(shù)據(jù)字 典集合類型。
[0019] 通過在表單開發(fā)過程中應用本發(fā)明的智能拷貝數(shù)據(jù)的方法,可方便的使用戶在表 單錄入過程中復用常用的反復錄入的數(shù)據(jù),提高了用戶業(yè)務錄入的效率和繁瑣性,同時也 能夠避免人工錄入帶來的失誤。
[0020]
【專利附圖】
【附圖說明】
[0021] 附圖1是本發(fā)明方法中的界面實體基本結構示意圖; 附圖2是本發(fā)明方法中定義的數(shù)據(jù)拷貝模板基本數(shù)據(jù)結構圖; 附圖3是實施例中描述的采購訂單界面示意圖。
【具體實施方式】
[0022] 參照說明書附圖以具體實施例對本發(fā)明的用戶界面上智能拷貝數(shù)據(jù)的方法作以 下詳細地說明。
[0023] 實施例: 本發(fā)明用戶界面上智能拷貝數(shù)據(jù)的方法包括以下步驟: (一)設置數(shù)據(jù)拷貝模板 如附圖2所示,所述數(shù)據(jù)拷貝模板包含以下信息項:模板編號、模板名稱、模板描述及 模板字段的集合,所述模板編號用于唯一'I"生的標識一個模板; 所述模板字段包含如下信息項:編號、名稱、子實體名、實體字段名及數(shù)據(jù)值類型,其 中,所述編號用于在模板中唯一性表示一個模板字段;所述子實體名用于標識當前字段從 屬的子實體;所述實體字段名為界面綁定的數(shù)據(jù)實體中對應的字段名;所述數(shù)據(jù)值類型分 為兩種類型:數(shù)據(jù)值或變量,數(shù)據(jù)值指的是當前模板拷貝數(shù)據(jù)時,直接存儲該字段的數(shù)值; 變量指的是當前模板拷貝數(shù)據(jù)時,該字段存儲一個變量名。
[0024] 當模板字段的數(shù)據(jù)值類型為變量類型時,其數(shù)據(jù)值為一個變量表達式,表達形式 為變量名的形式,其中的變量表達式用于在拷貝數(shù)據(jù)時,對特定上下文中變量進行解 析,獲取相應的數(shù)據(jù)值。
[0025] 為了進一步方便進行重復性錄入,可以設置模板數(shù)據(jù)拷貝存儲結構,用戶可選擇 數(shù)據(jù)拷貝模板中常用的數(shù)據(jù)條目,將其拷貝出來,存到模板數(shù)據(jù)拷貝存儲結構中,用于重復 性的錄入。
[0026] 所述模板數(shù)據(jù)拷貝存儲結構包含以下信息項:模板編號、數(shù)據(jù)編號、數(shù)據(jù)描述、數(shù) 據(jù)拷貝,其中,所述模板編號用于記錄當前拷貝的數(shù)據(jù)是基于哪一個數(shù)據(jù)拷貝模板;所述數(shù) 據(jù)編號用于唯一性標識當前的數(shù)據(jù)拷貝;所述數(shù)據(jù)描述用于當前數(shù)據(jù)拷貝的描述性信息, 便于識別不同數(shù)據(jù)拷貝。
[0027] 所述模板數(shù)據(jù)拷貝存儲結構的數(shù)據(jù)拷貝,用于存儲拷貝的數(shù)據(jù),采用XML數(shù)據(jù)格 式的存儲形式。XML數(shù)據(jù)包含一個根元素 "Data",在"Data"元素下可包含一個到多個 "Entity"子元素。
[0028] "Entity "子元素包含以下信息:一個"EntityName "屬性、一個或多個" Row"子元 素。其中,"EntityName"屬性用于指定實體名。其中,"Row"子元素,用于描述其中的數(shù)據(jù) 行,包含一個或多個"Field"子元素。"Field"子元素用于描述一行中的多個字段的值。其 中,"Field"元素包含兩個屬性 :"FieldName"、"Value","FiledName"用于指定字段名, "Value"用于存儲字段值。
[0029] (二)基于數(shù)據(jù)拷貝模板,拷貝可復用的數(shù)據(jù),形成一個數(shù)據(jù)拷貝; (三)選擇數(shù)據(jù)拷貝模板的數(shù)據(jù)拷貝,自動將數(shù)據(jù)填寫到用戶界面上 當用戶選擇一個模版數(shù)據(jù)拷貝,自動填寫到表單界面時,需要表單實現(xiàn)一個數(shù)據(jù)粘貼 程序接口。
[0030] 數(shù)據(jù)粘貼程序接口提供一個接口方法:void PastEntityData(string xmlData), 其中的參數(shù)xmlData,是數(shù)據(jù)拷貝中存儲的實體數(shù)據(jù)。
[0031] 在調(diào)用具體的PastEntityData接口方法之前,需要對數(shù)據(jù)拷貝模板中存儲的變 量類型的字段進行變量的解析,將變量轉換為實際的數(shù)據(jù)值,變量解析也需要具體的表單 實現(xiàn)一個變量解析程序接口。
[0032] 變量解析程序接口包含一個接口方法:Dictionary〈string, object〉 GetVariableList (),用于提供上下文變量的列表,其中返回值是一個.NET實現(xiàn)的數(shù)據(jù)字 典集合類型。
[0033] 以某單位的采購訂單為例,辦公室每月都要采購相關的辦公耗材。其中最近幾個 月都是從某個特定供應商采購同樣的多種耗材,如附圖3所示。
[0034] 用戶點擊"配置拷貝模板"按鈕,先定義一個"數(shù)據(jù)拷貝模板",將主單據(jù)信息中的 "供應商"、"地區(qū)"、"制單人"、"制單日期"等字段和采購明細子實體中的"物料類型"、"物 料"、"規(guī)格"、"單價"等字段存儲為模版。
[0035] 其中,"制單人"、"制單日期"是變量,每個月的采購人員可能不同,而制單日期應 該選擇制單當天的日期,因此將這兩個字段的數(shù)據(jù)值類型設置為變量,并分別設置變量表 達式:@creator@、@today@ 〇
[0036] 然后,用戶在錄入完一次單據(jù)后,點擊"保存為數(shù)據(jù)拷貝",選擇使用之前定義的 "數(shù)據(jù)拷貝模板",選擇性的將可反復錄入的數(shù)據(jù)信息保存到一個數(shù)據(jù)拷貝中。
[0037] 在下個月要進行采購辦公耗材時,用戶打開采購訂單,點擊"從數(shù)據(jù)拷貝中粘貼", 選擇上月保存的數(shù)據(jù)拷貝,系統(tǒng)自動將"制單人"和"制單日期"字段從變量中解析為當前 制單人和制單日期,并數(shù)據(jù)自動的填到了界面上。然后用戶修改一下本月的采購數(shù)量,點擊 保存,即可完成這次采購單據(jù)的錄入操作。
【權利要求】
1. 一種用戶界面上智能拷貝數(shù)據(jù)的方法,其特征在于包括如下步驟: (一) 設置數(shù)據(jù)拷貝模板 所述數(shù)據(jù)拷貝模板包含以下信息項:模板編號、模板名稱、模板描述及模板字段的集 合, 所述模板編號用于唯一'I"生的標識一個模板; (二) 基于數(shù)據(jù)拷貝模板,拷貝可復用的數(shù)據(jù),形成一個數(shù)據(jù)拷貝; (三) 選擇數(shù)據(jù)拷貝模板的數(shù)據(jù)拷貝,自動將數(shù)據(jù)填寫到用戶界面上。
2. 根據(jù)權利要求1所述的用戶界面上智能拷貝數(shù)據(jù)的方法,其特征在于設置有模板數(shù) 據(jù)拷貝存儲結構,用戶可選擇數(shù)據(jù)拷貝模板中常用的數(shù)據(jù)條目,將其拷貝出來,存到模板數(shù) 據(jù)拷貝存儲結構中,用于重復性的錄入。
3. 根據(jù)權利要求2所述的用戶界面上智能拷貝數(shù)據(jù)的方法,其特征在于:所述模板數(shù) 據(jù)拷貝存儲結構包含以下信息項:模板編號、數(shù)據(jù)編號、數(shù)據(jù)描述、數(shù)據(jù)拷貝,其中,所述模 板編號用于記錄當前拷貝的數(shù)據(jù)是基于哪一個數(shù)據(jù)拷貝模板;所述數(shù)據(jù)編號用于唯一性標 識當前的數(shù)據(jù)拷貝;所述數(shù)據(jù)描述用于當前數(shù)據(jù)拷貝的描述性信息,便于識別不同數(shù)據(jù)拷 貝。
4. 根據(jù)權利要求3所述的用戶界面上智能拷貝數(shù)據(jù)的方法,其特征在于:模板數(shù)據(jù)拷 貝存儲結構的數(shù)據(jù)拷貝,用于存儲拷貝的數(shù)據(jù),采用XML數(shù)據(jù)格式的存儲形式。
5. 根據(jù)權利要求1或2所述的用戶界面上智能拷貝數(shù)據(jù)的方法,其特征在于步驟(一) 中所述模板字段包含如下信息項:編號、名稱、子實體名、實體字段名及數(shù)據(jù)值類型,其中, 所述編號用于在模板中唯一性表示一個模板字段;所述子實體名用于標識當前字段從 屬的子實體;所述實體字段名為界面綁定的數(shù)據(jù)實體中對應的字段名;所述數(shù)據(jù)值類型分 為兩種類型:數(shù)據(jù)值或變量,數(shù)據(jù)值指的是當前模板拷貝數(shù)據(jù)時,直接存儲該字段的數(shù)值; 變量指的是當前模板拷貝數(shù)據(jù)時,該字段存儲一個變量名。
6. 根據(jù)權利要求5所述的用戶界面上智能拷貝數(shù)據(jù)的方法,其特征在于:當模板字段 的數(shù)據(jù)值類型為變量類型時,其數(shù)據(jù)值為一個變量表達式,表達形式為變量名的形 式,其中的變量表達式用于在拷貝數(shù)據(jù)時,對特定上下文中變量進行解析,獲取相應的數(shù)據(jù) 值。
7. 根據(jù)權利要求1所述的用戶界面上智能拷貝數(shù)據(jù)的方法,其特征在于步驟(三)中, 當用戶選擇一個模版數(shù)據(jù)拷貝,自動填寫到表單界面時,需要表單實現(xiàn)一個數(shù)據(jù)粘貼程序 接口。
8. 根據(jù)權利要求7所述的用戶界面上智能拷貝數(shù)據(jù)的方法,其特征在于數(shù)據(jù)粘貼程序 接口提供一個接口方法:void PastEntityData (string xmlData),其中的參數(shù) xmlData, 是數(shù)據(jù)拷貝中存儲的實體數(shù)據(jù)。
9. 根據(jù)權利要求8所述的用戶界面上智能拷貝數(shù)據(jù)的方法,其特征在于在調(diào)用具體的 PastEntityData接口方法之前,需要對數(shù)據(jù)拷貝模板中存儲的變量類型的字段進行變量的 解析,將變量轉換為實際的數(shù)據(jù)值,變量解析也需要具體的表單實現(xiàn)一個變量解析程序接 □。
10. 根據(jù)權利要求9所述的用戶界面上智能拷貝數(shù)據(jù)的方法,其特征在于變量解析程 序接 口包含一個接口 方法:Dictionary〈string, object〉GetVariableListO,用于提供 上下文變量的列表,其中返回值是一個.NET實現(xiàn)的數(shù)據(jù)字典集合類型。
【文檔編號】G06F17/30GK104112004SQ201410334995
【公開日】2014年10月22日 申請日期:2014年7月15日 優(yōu)先權日:2014年7月15日
【發(fā)明者】孫立新 申請人:浪潮通用軟件有限公司