本發(fā)明涉及單據(jù)設(shè)計(jì)領(lǐng)域,具體地,涉及一種單據(jù)生成方法和單據(jù)生成裝置。
背景技術(shù):
在企業(yè)的應(yīng)用中,針對同一張單據(jù),不同的部門關(guān)注點(diǎn)不同,因而針對不同部門通常需要不同的單據(jù)樣式展示相應(yīng)的數(shù)據(jù)。但是針對上述要求的軟件開發(fā)不能通過復(fù)制多套代碼來不同樣式的單據(jù),如此工作量、維護(hù)量都是特別大的。而且,不同的企業(yè)對應(yīng)的樣式也各不相同,不同的個人對應(yīng)的樣式也存在差距。然而,在軟件的開發(fā)中,針對不同業(yè)務(wù)之間的單據(jù)的格式通過代碼來實(shí)現(xiàn),如果單據(jù)數(shù)據(jù)需求有修改,或者用戶有了新的格式,需要對代碼進(jìn)行維護(hù),必然會導(dǎo)致工作量大、成本高、開發(fā)周期長等問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種單據(jù)生成方法和單據(jù)生成裝置,該單據(jù)生成方法針對不同用戶提供了不同的單據(jù)設(shè)計(jì)方案,并且降低了開發(fā)維護(hù)的工作量、減小了開發(fā)成本并縮短了開發(fā)周期。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種單據(jù)生成方法,所述單據(jù)生成方法包括:接收用戶的單據(jù)生成請求;基于所述單據(jù)生成請求獲取單據(jù)數(shù)據(jù)信息以及相應(yīng)的單據(jù)設(shè)計(jì)方案;根據(jù)所述單據(jù)數(shù)據(jù)信息對所述單據(jù)設(shè)計(jì)方案進(jìn)行同步;以及基于同步后的單據(jù)設(shè)計(jì)方案向用戶呈現(xiàn)單據(jù)。
優(yōu)選地,基于同步后的單據(jù)設(shè)計(jì)方案向用戶呈現(xiàn)單據(jù)包括:根據(jù)同步后的單據(jù)設(shè)計(jì)方案對所述個人格式進(jìn)行同步;以及將具有同步后的個人格式的 單據(jù)呈現(xiàn)給所述用戶。
優(yōu)選地,所述單據(jù)生成方法還包括:在未獲取到單據(jù)設(shè)計(jì)方案的情況下,根據(jù)單據(jù)數(shù)據(jù)信息對所述個人格式進(jìn)行同步。
優(yōu)選地,根據(jù)所述單據(jù)數(shù)據(jù)信息對所述單據(jù)設(shè)計(jì)方案進(jìn)行同步包括以下至少一者:如果所述單據(jù)數(shù)據(jù)信息指示刪除第一字段,則將所述單據(jù)設(shè)計(jì)方案中的相應(yīng)于所述第一字段的信息刪除;如果所述單據(jù)數(shù)據(jù)信息指示添加第二字段,則將所述第二字段添加至所述單據(jù)設(shè)計(jì)方案。
優(yōu)選地,所述單據(jù)生成方法還包括:在所述第二字段為具有默認(rèn)值的必錄項(xiàng)的情況下,不將該必錄項(xiàng)呈現(xiàn)給所述用戶。
相應(yīng)地,本發(fā)明還提供一種單據(jù)生成裝置,所述單據(jù)生成裝置包括:接收模塊,接收用戶的單據(jù)生成請求;獲取模塊,基于所述單據(jù)生成請求獲取單據(jù)數(shù)據(jù)信息以及相應(yīng)的單據(jù)設(shè)計(jì)方案;以及處理模塊,根據(jù)所述單據(jù)數(shù)據(jù)信息對所述單據(jù)設(shè)計(jì)方案進(jìn)行同步,并基于同步后的單據(jù)設(shè)計(jì)方案向用戶呈現(xiàn)單據(jù)。
優(yōu)選地,所述處理模塊還用于根據(jù)同步后的單據(jù)設(shè)計(jì)方案對所述個人格式進(jìn)行同步,并將具有同步后的個人格式的單據(jù)呈現(xiàn)給所述用戶。
優(yōu)選地,在未獲取到單據(jù)設(shè)計(jì)方案的情況下,所述處理模塊還用于根據(jù)單據(jù)數(shù)據(jù)信息對所述個人格式進(jìn)行同步。
優(yōu)選地,所述處理模塊還用于執(zhí)行以下至少一者:如果所述單據(jù)數(shù)據(jù)信息指示刪除第一字段,則將所述單據(jù)設(shè)計(jì)方案中的相應(yīng)于所述第一字段的信息刪除;如果所述單據(jù)數(shù)據(jù)信息指示添加第二字段,則將所述第二字段添加至所述單據(jù)設(shè)計(jì)方案。
優(yōu)選地,在所述第二字段為具有默認(rèn)值的必錄項(xiàng)的情況下,所述處理模塊不將該必錄項(xiàng)呈現(xiàn)給所述用戶。
通過上述技術(shù)方案,基于單據(jù)生成請求獲取單據(jù)數(shù)據(jù)信息以及相應(yīng)的單 據(jù)設(shè)計(jì)方案;根據(jù)所述單據(jù)數(shù)據(jù)信息對所述單據(jù)設(shè)計(jì)方案進(jìn)行同步;以及基于同步后的單據(jù)設(shè)計(jì)方案向用戶呈現(xiàn)單據(jù)。如此能夠針對不同用戶提供不同的單據(jù)設(shè)計(jì)方案,并且降低了開發(fā)維護(hù)的工作量、減小了開發(fā)成本并縮短了開發(fā)周期。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的具體實(shí)施方式部分予以詳細(xì)說明。
附圖說明
附圖是用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與下面的具體實(shí)施方式一起用于解釋本發(fā)明,但并不構(gòu)成對本發(fā)明的限制。在附圖中:
圖1是根據(jù)本發(fā)明提供的單據(jù)生成方法的流程圖;
圖2是根據(jù)本發(fā)明一種實(shí)施方式的單據(jù)生成方法的流程圖;以及
圖3是根據(jù)本發(fā)明提供的單據(jù)生成裝置的結(jié)構(gòu)示意圖。
附圖標(biāo)記說明
31接收模塊32獲取模塊
33處理模塊
具體實(shí)施方式
以下結(jié)合附圖對本發(fā)明的具體實(shí)施方式進(jìn)行詳細(xì)說明。應(yīng)當(dāng)理解的是,此處所描述的具體實(shí)施方式僅用于說明和解釋本發(fā)明,并不用于限制本發(fā)明。
圖1是根據(jù)本發(fā)明提供的單據(jù)生成方法的流程圖,如圖1所示,本發(fā)明提供的單據(jù)生成方法可以包括:在步驟11處,接收用戶的單據(jù)生成請求;在步驟12處,基于所述單據(jù)生成請求獲取單據(jù)數(shù)據(jù)信息以及相應(yīng)的單據(jù)設(shè) 計(jì)方案;在步驟13處,根據(jù)所述單據(jù)數(shù)據(jù)信息對所述單據(jù)設(shè)計(jì)方案進(jìn)行同步;以及在步驟14處,基于同步后的單據(jù)設(shè)計(jì)方案向用戶呈現(xiàn)單據(jù)。如此能夠針對不同用戶提供不同的單據(jù)設(shè)計(jì)方案,并且降低了開發(fā)維護(hù)的工作量、減小了開發(fā)成本并縮短了開發(fā)周期。
在企業(yè)的應(yīng)用中,針對同一張單據(jù),不同的部門關(guān)注點(diǎn)不同,因而需要不同的樣式展示相應(yīng)的數(shù)據(jù),而且不同的人有自己的習(xí)慣,其關(guān)注點(diǎn)也不相同。根據(jù)不同的用戶(例如,不同部門)的需求預(yù)存不同的單據(jù)設(shè)計(jì)方案,如此避免二次開發(fā)來解決個性化的需求。
同一張單據(jù),可以設(shè)計(jì)出多種方案,將不同的單據(jù)設(shè)計(jì)方案分配給不同類型的用戶。多種單據(jù)設(shè)計(jì)方案可以設(shè)置一個默認(rèn)的方案,這樣當(dāng)用戶沒有指定方案的時候,可以使用默認(rèn)的單據(jù)設(shè)計(jì)方案進(jìn)行單據(jù)生成。
針對每一張單據(jù),用戶可以設(shè)置每一個錄入項(xiàng)的顯示名稱、是否顯示、是否必錄、對齊方式、鎖定列、是否只讀、默認(rèn)值、是否合計(jì)等等。用戶也可以添加與刪除(隱藏)不在當(dāng)前界面中的錄入項(xiàng),調(diào)整錄入項(xiàng)的顯示順序。設(shè)置好格式后,用戶可以將其設(shè)置好的格式保存為單據(jù)設(shè)計(jì)方案。如此,用戶在錄入新單據(jù)時,就可以使用預(yù)存的單據(jù)設(shè)計(jì)方案。當(dāng)然可以保存多種不同的單據(jù)設(shè)計(jì)方案,以供操作用戶進(jìn)行選擇。也可以將保存好的單據(jù)設(shè)計(jì)方案分配給具體的操作用戶,使得不同的用戶擁有不同的單據(jù)設(shè)計(jì)方案。當(dāng)用戶擁有多個單據(jù)設(shè)計(jì)方案時,在新增單據(jù)時,用戶可以根據(jù)自己的需要來選擇相對應(yīng)的單據(jù)設(shè)計(jì)方案。
在本發(fā)明的一種實(shí)施方式中,用戶登錄或打開單據(jù)頁面時,服務(wù)器將登錄狀態(tài)或打開單據(jù)頁面的操作作為單據(jù)生成請求,可以獲取用戶的標(biāo)識(例如,用戶名、用戶編號等等),基于所述單據(jù)生成請求針對該用戶獲取單據(jù)數(shù)據(jù)信息以及符合該用戶要求的單據(jù)設(shè)計(jì)方案;或者,用戶可以通過客戶端向服務(wù)器發(fā)送單據(jù)生成請求,如果存在對應(yīng)于該用戶的多個單據(jù)設(shè)計(jì)方案, 則所述單據(jù)生成請求中可以包括生成對應(yīng)于所述多個單據(jù)設(shè)計(jì)方案中一者的單據(jù)。
其中,基于同步后的單據(jù)設(shè)計(jì)方案向用戶呈現(xiàn)單據(jù)包括:根據(jù)同步后的單據(jù)設(shè)計(jì)方案對所述個人格式進(jìn)行同步;以及將具有同步后的個人格式的單據(jù)呈現(xiàn)給所述用戶。
所述單據(jù)生成方法還包括:在未獲取到單據(jù)設(shè)計(jì)方案的情況下,根據(jù)單據(jù)數(shù)據(jù)信息對所述個人格式進(jìn)行同步。
用戶可以根據(jù)自己的需求對當(dāng)前選擇的單據(jù)進(jìn)行格式的設(shè)置。可以修改錄入項(xiàng)的顯示名稱、是否顯示、對齊方式、鎖定列、默認(rèn)值等。如此每一個不同的用戶可以根據(jù)自己的需求保存?zhèn)€人格式,所述個人格式是針對每個單據(jù)設(shè)計(jì)方案保存的,或者在沒有任何單據(jù)設(shè)計(jì)方案的情況下保存的。
以下將參考圖2通過具體實(shí)施方式來詳細(xì)描述本發(fā)明,但是應(yīng)該注意的是本發(fā)明并不限制于此。
圖2是根據(jù)本發(fā)明一種實(shí)施方式的單據(jù)生成方法的流程圖,如圖2所示,在步驟21處,打開單據(jù)頁面;在步驟22處,獲取單據(jù)數(shù)據(jù)信息;在步驟23處,判斷是否存在對應(yīng)于用戶的單據(jù)設(shè)計(jì)方案;如果存在,則在步驟24處,根據(jù)單據(jù)數(shù)據(jù)信息對單據(jù)設(shè)計(jì)方案進(jìn)行同步,例如,如果單據(jù)數(shù)據(jù)信息刪除或添加了某一數(shù)據(jù)信息,則在單據(jù)設(shè)計(jì)方案中進(jìn)行刪除和添加該數(shù)據(jù)信息;在步驟25處,判斷是否保存了個人格式;如果保存了個人格式,則在步驟26處,根據(jù)同步后的單據(jù)設(shè)計(jì)方案對個人格式進(jìn)行同步,例如,基于單據(jù)設(shè)計(jì)方案中刪除或添加的數(shù)據(jù)信息在對應(yīng)于該單據(jù)設(shè)計(jì)方案的個人格式中刪除或添加相同的數(shù)據(jù)信息;在步驟27處,將最終的單據(jù)呈現(xiàn)給用戶。
如果在步驟23處,不存在對應(yīng)于用戶的單據(jù)設(shè)計(jì)方案,則在步驟27處,判斷是否保存了個人格式;如果保存了個人格式,則在步驟28處,可以根據(jù)單據(jù)數(shù)據(jù)信息對個人格式進(jìn)行同步;然后轉(zhuǎn)至步驟27。
如果在步驟25處,判斷不存在個人格式,則轉(zhuǎn)至步驟27。
如果在步驟27處,判斷不存在個人格式,則轉(zhuǎn)至步驟27。
用戶的個人格式是在單據(jù)設(shè)計(jì)方案上保存,在單據(jù)設(shè)計(jì)方案進(jìn)行原有錄入項(xiàng)的格式修改而非數(shù)據(jù)信息修改時,并不影響用戶已經(jīng)設(shè)置好的個人格式的部分信息。但是當(dāng)在單據(jù)設(shè)計(jì)方案中增加或者刪除錄入項(xiàng)時,用戶的針對該單據(jù)設(shè)計(jì)方案的個人格式也將自動的增加和刪除所述錄入項(xiàng),從而能夠減少用戶操作。當(dāng)用戶想將個人格式設(shè)置為與單據(jù)設(shè)計(jì)方案保持一致時,可以向服務(wù)器發(fā)送恢復(fù)默認(rèn)的請求,所述服務(wù)器基于默認(rèn)請求可以將個人格式恢復(fù)成單據(jù)設(shè)計(jì)方案的布局格式。
其中,對于單據(jù)設(shè)計(jì)格式和個人格式,當(dāng)單據(jù)設(shè)計(jì)格式和個人格式同步后,服務(wù)器并不將同步后的單據(jù)設(shè)計(jì)格式和個人格式進(jìn)行保存,而只是在接收到保存請求之后,存儲同步后的單據(jù)設(shè)計(jì)格式和個人格式。雖然并不對單據(jù)設(shè)計(jì)格式和個人格式進(jìn)行保存,但是本發(fā)明在單據(jù)生成格式時,會獲取單據(jù)數(shù)據(jù)信息,并對其進(jìn)行同步,因而,即使不進(jìn)行保存,單據(jù)設(shè)計(jì)格式和個人格式仍舊能夠顯示與數(shù)據(jù)庫中對應(yīng)的單據(jù)數(shù)據(jù)信息,而并不會產(chǎn)生遺漏。
在需要統(tǒng)一調(diào)整單據(jù)的情況下(例如增加或刪除數(shù)據(jù)信息),如果通過所有用戶來一一調(diào)整,那么工作量會很大,而且很麻煩。通過本發(fā)明提供的單據(jù)生成方法,可以將修改的信息同步至單據(jù)設(shè)計(jì)方案和個人格式中?;趥€性化要求,同步功能可以不包含個人用戶自定義的顯示名稱、整體排序等功能,但包括:顯示、隱藏、默認(rèn)值設(shè)置等等。
其中,關(guān)于上述同步包括以下至少一者:如果所述單據(jù)數(shù)據(jù)信息指示刪除第一字段,則將所述單據(jù)設(shè)計(jì)方案中的相應(yīng)于所述第一字段的信息刪除;如果所述單據(jù)數(shù)據(jù)信息指示添加第二字段,則將所述第二字段添加至所述單據(jù)設(shè)計(jì)方案。
對于添加字段,將新添加的字段加入到單據(jù)設(shè)計(jì)方案和/或個人格式中, 例如,如果單據(jù)設(shè)計(jì)方案和/或個人格式中存在相應(yīng)的數(shù)據(jù)信息,則將將添加的字段放置在相應(yīng)數(shù)據(jù)信息的后面,例如,關(guān)于物品數(shù)量,原單據(jù)設(shè)計(jì)方案中存在選項(xiàng)2、4、5、9,而修改后的單據(jù)數(shù)據(jù)信息中包括3,則在修改單據(jù)設(shè)計(jì)方案是,將3放置在2的后面,即選項(xiàng)為2、3、4、5、9。如果單據(jù)設(shè)計(jì)方案和/或個人格式中不存在相應(yīng)的數(shù)據(jù)信息,則將修改的數(shù)據(jù)信息放置在最后面。
所述單據(jù)生成方法還包括:在所述第二字段為具有默認(rèn)值的必錄項(xiàng)的情況下,不將該必錄項(xiàng)呈現(xiàn)給所述用戶,將其隱藏。如果用戶希望顯示該必錄項(xiàng),則可以通過選擇將該隱藏的必錄項(xiàng)進(jìn)行顯示。
由于個人格式是基于單據(jù)設(shè)計(jì)方案而形成的,因而單據(jù)設(shè)計(jì)方案中設(shè)置為顯示的數(shù)據(jù)信息,在個人格式中也會顯示該數(shù)據(jù)信息。其中顯示原則可以是放置在相對應(yīng)的數(shù)據(jù)信息的后面,如果不存在相對應(yīng)的數(shù)據(jù)信息,則可以放置在最后來顯示。另外,如果數(shù)據(jù)信息具有默認(rèn)值,則可以不再單據(jù)設(shè)計(jì)方案和個人格式中顯示。
另外,在單據(jù)設(shè)計(jì)方案中將數(shù)據(jù)信息設(shè)置為隱藏的情況下,則將在對應(yīng)于該單據(jù)設(shè)計(jì)方案的個人格式中該數(shù)據(jù)信息設(shè)置為隱藏;同樣地,在單據(jù)設(shè)計(jì)方案中將數(shù)據(jù)信息設(shè)置為顯示的情況下,則將在對應(yīng)于該單據(jù)設(shè)計(jì)方案的個人格式中該數(shù)據(jù)信息設(shè)置為顯示。
相應(yīng)地,本發(fā)明還提供一種單據(jù)生成裝置,圖3是根據(jù)本發(fā)明提供的單據(jù)生成裝置的結(jié)構(gòu)示意圖,如圖3所示,所述單據(jù)生成裝置包括:接收模塊31,接收用戶的單據(jù)生成請求;獲取模塊32,基于所述單據(jù)生成請求獲取單據(jù)數(shù)據(jù)信息以及相應(yīng)的單據(jù)設(shè)計(jì)方案;以及處理模塊33,根據(jù)所述單據(jù)數(shù)據(jù)信息對所述單據(jù)設(shè)計(jì)方案進(jìn)行同步,并基于同步后的單據(jù)設(shè)計(jì)方案向用戶呈現(xiàn)單據(jù)。如此能夠針對不同用戶提供不同的單據(jù)設(shè)計(jì)方案,并且降低了開發(fā)維護(hù)的工作量、減小了開發(fā)成本并縮短了開發(fā)周期。
其中,所述處理模塊33還用于根據(jù)同步后的單據(jù)設(shè)計(jì)方案對所述個人格式進(jìn)行同步,并將具有同步后的個人格式的單據(jù)呈現(xiàn)給所述用戶。
在未獲取到單據(jù)設(shè)計(jì)方案的情況下,所述處理模塊33還用于根據(jù)單據(jù)數(shù)據(jù)信息對所述個人格式進(jìn)行同步。
所述處理模塊33還用于執(zhí)行以下至少一者:如果所述單據(jù)數(shù)據(jù)信息指示刪除第一字段,則將所述單據(jù)設(shè)計(jì)方案中的相應(yīng)于所述第一字段的信息刪除;如果所述單據(jù)數(shù)據(jù)信息指示添加第二字段,則將所述第二字段添加至所述單據(jù)設(shè)計(jì)方案。
在所述第二字段為具有默認(rèn)值的必錄項(xiàng)的情況下,所述處理模塊33不將該必錄項(xiàng)呈現(xiàn)給所述用戶。
有關(guān)單據(jù)生成裝置的具體細(xì)節(jié)及益處與上述針對單據(jù)生成方法的細(xì)節(jié)及益處相同,于此不再贅述。
以上結(jié)合附圖詳細(xì)描述了本發(fā)明的優(yōu)選實(shí)施方式,但是,本發(fā)明并不限于上述實(shí)施方式中的具體細(xì)節(jié),在本發(fā)明的技術(shù)構(gòu)思范圍內(nèi),可以對本發(fā)明的技術(shù)方案進(jìn)行多種簡單變型,這些簡單變型均屬于本發(fā)明的保護(hù)范圍。
另外需要說明的是,在上述具體實(shí)施方式中所描述的各個具體技術(shù)特征,在不矛盾的情況下,可以通過任何合適的方式進(jìn)行組合,為了避免不必要的重復(fù),本發(fā)明對各種可能的組合方式不再另行說明。
此外,本發(fā)明的各種不同的實(shí)施方式之間也可以進(jìn)行任意組合,只要其不違背本發(fā)明的思想,其同樣應(yīng)當(dāng)視為本發(fā)明所公開的內(nèi)容。