年結(jié)系統(tǒng)環(huán)境搭建
年結(jié)前,請(qǐng)?jiān)谛屡f年度賬中打過 DBhotfix ( 861 的升級(jí) 數(shù)據(jù)不能打),并且打上最新的 SPHotfix 及系統(tǒng)管理 補(bǔ)丁。 對(duì)于 85X 系列的年結(jié)時(shí),請(qǐng)一定要打上最新的 USGXLJZ.dll 和 U8CarryOver.dll 。其中 U8CarryOver.dll ( 2005-01-28 )在 852 版本中出過一 版,用以解決年結(jié)效率問題,但以前此文件并未同步 至其他版本,現(xiàn)經(jīng)研發(fā)部同仁確認(rèn)可以在 85X 系列中 通用,可從 852 的補(bǔ)丁包中獲得該文件。
數(shù)據(jù)邏輯正確性檢測(cè)
851A 、 852 、 860SP 三個(gè)版本可以使用 “ 年結(jié)前檢查工具 ” 進(jìn)行數(shù)據(jù)的業(yè)務(wù)邏輯檢測(cè),該工具基本可將數(shù)據(jù)邏輯上存在 的問題檢測(cè)出來,我們可以參照檢測(cè)結(jié)果,自行通過腳本修復(fù)數(shù)據(jù)。
數(shù)據(jù)結(jié)構(gòu)正確性檢測(cè) I
年結(jié)前,請(qǐng)使用集團(tuán)支持部發(fā)放的 “ 年結(jié)檢測(cè)工具 ” ,該 工具可以檢測(cè)出數(shù)據(jù)庫表、視圖、存儲(chǔ)過程等與模板 庫是否一致,可以將自己增加的觸發(fā)器、缺少的視 圖、字段等檢測(cè)出來,從而快速將數(shù)據(jù)庫結(jié)構(gòu)恢復(fù)為 正常狀態(tài)。(這個(gè)工具是檢測(cè)數(shù)據(jù)庫結(jié)構(gòu)的,與今年 給出的工具不同,今年的是檢測(cè)數(shù)據(jù)正確與否的。)
數(shù)據(jù)結(jié)構(gòu)正確性檢測(cè) II
年結(jié)前,對(duì)于大數(shù)據(jù)量的賬套,請(qǐng)先重建所有用戶表 索引,可以提高年結(jié)的效率。(重建表索引的工具, 集團(tuán)已經(jīng)通過工具光盤發(fā)放至分公司。或通過 DBCC DBREINDEX( ‘ TableName ' ) 自己將大數(shù)據(jù)量表重建索 引,如 Rdrecord/s 、 Dispatchlist/s 等等) 年結(jié)前,請(qǐng)一定將用戶自己增加的觸發(fā)器刪除,否則 有可能對(duì)年結(jié)效率產(chǎn)生很大影響。檢測(cè)工具可由上述 工具光盤中獲得。
年結(jié)問題 FAQ
建立新年度賬時(shí) …… 結(jié)轉(zhuǎn)上年數(shù)據(jù)時(shí) ……
建立新年度賬 I
852 版本建年度賬,提示 “ bExitMsg 字段無效 ” – 【分析】 由于在上年賬套中 GL_Vo u cherOption 表中多了該 字段 ,該字段用來描述在對(duì)憑證操作時(shí),系統(tǒng)異常中斷時(shí), 正在操作的操作員的編碼,如 demo 等 – 【解決】 通過企業(yè)管理器, 在上年數(shù)據(jù)庫中刪除該字段。 或 執(zhí)行如下腳本: Alter table GL_Vo u cherOption Drop Column bExitMsg
建立新年度賬 II
普及版建年度賬時(shí)失敗,提示 “ 傳輸網(wǎng)上銀行信息 ( NBNewAcc.dll )失敗 ” – 【分析】 數(shù)據(jù)庫表 NB_PayAccountInfo 缺少 字段,并且補(bǔ)丁 未更新 – 【解決】 可通過如下語句更改數(shù)據(jù)表:添加字段 : ALTER TABLE dbo.NB_PayAccountInfo ADD caccname varchar(60) NULL ;或者下載最新的 NBNewAcc.dll ( 2005- 12-28 )
建立新年度賬 III
建立年度賬時(shí)提示找不到路徑 – 【分析】 因?yàn)樵?ufsystem 庫中的 ua_account 表中的賬套路徑 字段 cAcc_Path ,和實(shí)際的賬套路徑不一致。 多數(shù)問題發(fā) 生在低版本產(chǎn)品中( Access 庫),修改了該字段。 – 【解決】 在數(shù)據(jù)庫中,將路徑改為實(shí)際的路徑即可 。
建立新年度賬 IV
建立年度賬過程中,或是結(jié)轉(zhuǎn)過程中,出現(xiàn)提示 “ XX 列 名無效 ” 的錯(cuò)誤 – 【分析】多數(shù)是因?yàn)閿?shù)據(jù)表缺少該字段,或缺少使用到該字 段的視圖、存儲(chǔ)過程等。 通過前面所說的檢測(cè)工具也可以檢測(cè)出來?;蛘呖梢酝ㄟ^如下語句,查找到缺少的內(nèi)容, 查看 數(shù)據(jù)表結(jié)構(gòu)即可。 建立新年度賬 IV
建立年度賬過程中,或是結(jié)轉(zhuǎn)過程中,出現(xiàn)提示 “ XX 列 名無效 ” 的錯(cuò)誤 – (接上頁) 【解決】 查找語句如下 : select
from 演示賬套 ..sysobjects a join 演示賬 套 ..syscolumns b on
=
where
= ' 提示缺少的字段 ' and
not in (select
from 用戶賬套 ..sysobjects a join 用戶賬 套 ..syscolumns b on
=
where
= ' 提示缺少的字段 ' ) – 找到后,由演示賬套將缺少的內(nèi)容導(dǎo)入或添加即可
結(jié)轉(zhuǎn)上年數(shù)據(jù) - 序
在結(jié)轉(zhuǎn)上年數(shù)據(jù)前,建議大家在上年數(shù)據(jù)中,通過一些常用的腳本和工具,最大程度確保上年數(shù)據(jù)的正確 性和完備性。 – 先進(jìn)先出記價(jià)方式的,請(qǐng)酌情使用( 85X 系列中) 851 系統(tǒng)管理補(bǔ)丁中的 “ 調(diào) ia_valuationass.sql ” 的腳本修正輔助記價(jià)表 的錯(cuò)誤; – 個(gè)別記價(jià)法的記價(jià)方式,請(qǐng)使用 85X 各版本系統(tǒng)管理中的 “ 個(gè) 別記價(jià)法年結(jié)腳本 .sql ” ; – 使用 “ 重算存貨總賬 ” 工具,修復(fù)、重算存貨明細(xì)賬和總賬;
結(jié)轉(zhuǎn)上年數(shù)據(jù) I
年度結(jié)轉(zhuǎn)的時(shí)候提示 “ 不能登陸到服務(wù)器:口令不正確 ” – 【分析】 這個(gè)問題和 asuser 密碼不正確有關(guān) 。由于 85X 系列 曾經(jīng)出過補(bǔ)丁解決操作員賬號(hào)密碼的加密問題,而 asuser 是 系統(tǒng)內(nèi)置的用戶(注:用于結(jié)轉(zhuǎn)、查詢某些賬表、系統(tǒng)生成 單據(jù)),故其密碼會(huì)被修改,導(dǎo)致該問題產(chǎn)生。 – 【解決】
結(jié)轉(zhuǎn)上年數(shù)據(jù) I
年度結(jié)轉(zhuǎn)的時(shí)候提示 “ 不能登陸到服務(wù)器:口令不正確 ” – (接上頁) 【解決】如果是 U851A 及以前的版本可以用下面語句修改: update ufsystem..ua_user set cpassword='asuser' where cuser_id='asuser' 如果是 852 的版本 ,由于 使用密碼加密的方法,可以用下面語 句: update ufsystem..ua_user set cpassword=‘DCKNCAAB@HLIKELF ' where cuser_id=‘a(chǎn)suser' 或在系統(tǒng)管理中,將某個(gè)操作員密碼設(shè)為 “ asuser ” , 然后在企 業(yè)管理器中,將該字段內(nèi)容復(fù)制粘貼在 asuser 的密碼中
結(jié)轉(zhuǎn)上年數(shù)據(jù) II
結(jié)轉(zhuǎn)過程中出現(xiàn)提示 “ 數(shù)據(jù)發(fā)生意外錯(cuò)誤 ” – 【分析】該錯(cuò)誤提示非常簡(jiǎn)單,但越簡(jiǎn)單的提示,問題越難 以定位。以近段時(shí)間處理的問題看,多數(shù)情況是 Rdrecords 表中 bGSP 字段出現(xiàn)異常。如果存貨非 GSP 管理,該字段應(yīng) 為 NULL ,錯(cuò)誤情況下為 0 。 – 【解決】可用如下語句修正: update rdrecords set bgsp=null where bgsp=0
結(jié)轉(zhuǎn)上年數(shù)據(jù) III
860SP 版本的年度結(jié)轉(zhuǎn)時(shí)遇到這樣的報(bào)錯(cuò)信息:對(duì)象 名 MaterialAppealVouch 無效 – 【分析】正如在前面提到的,對(duì)于對(duì)象名無效的問題,是因 為數(shù)據(jù)庫結(jié)構(gòu)不完整。本例中是 因?yàn)槿鄙俦?MaterialAppealVouch ,而該表是通過補(bǔ)丁程序發(fā)放的。因 此,打全補(bǔ)丁是至關(guān)重要的。 – 【 解決 】 對(duì)兩個(gè)年度的帳套除使用 hotfix 文件外還要使用庫存管理模塊補(bǔ)丁包中的補(bǔ)丁
結(jié)轉(zhuǎn)時(shí)提示:系統(tǒng)產(chǎn)品被非法刪除不能結(jié)轉(zhuǎn)上年數(shù) 據(jù)! – 【分析】該現(xiàn)象多發(fā)生于: 2005 年 不建立年度賬, 繼續(xù) 做 2006 年業(yè)務(wù) 單據(jù); 或 建立年度賬后, 先不結(jié)轉(zhuǎn), 2006 年做 新業(yè)務(wù),隨后 再 結(jié)轉(zhuǎn)財(cái)務(wù)數(shù)據(jù)。 這種情況有 可能出現(xiàn)基礎(chǔ)檔 案上下年對(duì)不上的情況,需要做相應(yīng)的刪除或增加 。 – 【解決】
結(jié)轉(zhuǎn)時(shí)提示:系統(tǒng)產(chǎn)品被非法刪除不能結(jié)轉(zhuǎn)上年數(shù) 據(jù)! – 【解決】查看各基礎(chǔ)檔案信息是否存在上下年不同步現(xiàn)象??蓞⒄杖缦履_本(列示部分內(nèi)容,其他類同): -- 查看客戶檔案上下年是否同步 SELECT cCusCode FROM UFDATA_100_2005..customer WHERE cCusCode NOT IN (SELECT cCusCode FROM customer) Go -- 查看存貨檔案上下年是否同步 SELECT cInvCode FROM UFDATA_100_2005..inventory WHERE cInvCode NOT IN (SELECT cInvCode FROM inventory) Go
結(jié)轉(zhuǎn)上年數(shù)據(jù) IV
在 12 月期末處理時(shí),提示 “ 尚 有暫估報(bào)銷單據(jù)未進(jìn)行結(jié) 算成本處理 ” ,而在結(jié)算成本處理時(shí),或者選出單據(jù)卻 不能進(jìn)行暫估處理, 或者 就根本沒有單據(jù)被過濾出 來 ? – 【分析】這個(gè)問題在年結(jié)時(shí)比較普遍。實(shí)際上,并非年結(jié)的 問題,是 12 月末的業(yè)務(wù)處理問題,但如果該步驟不能順利進(jìn)行,則無法繼續(xù)年結(jié)。那么造成該現(xiàn)象的原因是什么呢?
在 12 月期末處理時(shí),提示 “ 尚 有暫估報(bào)銷單據(jù)未進(jìn)行結(jié) 算成本處理 ” ,而在結(jié)算成本處理時(shí),或者選出單據(jù)卻 不能進(jìn)行暫估處理, 或者 就根本沒有單據(jù)被過濾出 來 ? – 【原因】造成該現(xiàn)象的原因多為采購結(jié)算單子表 bAccount 字 段有誤:已經(jīng)結(jié)算過的入庫單,并且做過結(jié)算成本處理后,在采購結(jié)算表中, baccount 字段應(yīng)為 1 ,但數(shù)據(jù)中存在部分記錄該字段為 0 ,調(diào)整的方法是 通過聯(lián)查 Ia_subsidiary 表的 bflag 字段的狀態(tài),進(jìn)行修改。如果該字段為 0 ,則可能是暫估成本處理后,做過恢復(fù)記賬再記賬操作, 此時(shí)該入庫單不再被認(rèn)為是暫估。如果該字段為 1 和 2 ,并且成對(duì)出現(xiàn)(紅藍(lán)回沖單),則表示該單據(jù)已經(jīng) 暫估處理過??傊@兩種情況需要修改 pursettlevouchs 表的 bAccount 字段。
在 12 月期末處理時(shí),提示 “ 尚 有暫估報(bào)銷單據(jù)未進(jìn)行結(jié)算成本處 理 ” ,而在結(jié)算成本處理時(shí),或者選出單據(jù)卻不能進(jìn)行暫估處 理, 或者 就根本沒有單據(jù)被過濾出來 ? – 【解決】查詢結(jié)果及更新語句 1 )查看 bflag 狀態(tài)的語句如下: select bflag ,* from ia_subsidiary a join (select rdrecords.* from rdrecord join rdrecords on
=
where rdrecords.autoid in (select pursettlevouchs.irdsid from ((rdrecord inner join rdrecords on
=
) left join pursettlevouchs on rdrecords.autoid=pursettlevouchs.irdsid) where (not rdrecord.caccounter is null) and pursettlevouchs.bAccount=0 and isnull(rdrecords.iquantity,0)=isnull(rdrecords.isquantity,0)) ) b on
= b.autoid 2 )更新 pursettlevouchs 表的 bAccount 字段的語句如下: update pursettlevouchs set bAccount=1 from ((rdrecord inner join rdrecords on
=
) left join pursettlevouchs on rdrecords.autoid=pursettlevouchs.irdsid) where (not rdrecord.caccounter is null) and pursettlevouchs.bAccount=0 and isnull(rdrecords.iquantity,0)=isnull(rdrecords.isquantity,0)
結(jié)轉(zhuǎn)上年數(shù)據(jù) V
結(jié)轉(zhuǎn)過程中至存貨核算時(shí),提示結(jié)轉(zhuǎn)失敗,無更詳細(xì) 描述 – 【分析】這種情況比較復(fù)雜,可能出現(xiàn)的問題基本都在數(shù)據(jù)本身邏輯性的錯(cuò)誤,因此不易判斷。這里給出兩個(gè)可能的錯(cuò) 誤情況,供參考。 – 【原因 1 】存貨明細(xì)賬中的數(shù)據(jù)記錄不正確,如存在 Inventory 表中沒有的存貨在 Ia_Subsidiary 、 Ia_Summary 、 CurrentStoct 等相關(guān)表中有記錄。需要清除該記錄 – 【解決 1 】使用腳本清除記錄(列示部分,其余類同);或 將檔案補(bǔ)充完整。 delete from ia_subsidiary where cinvcode not in (select cinvcode from inventory)
結(jié)轉(zhuǎn)過程中至存貨核算時(shí),提示結(jié)轉(zhuǎn)失敗,無更詳細(xì)描述 – 【原因 2 】對(duì)于使用先進(jìn)先出記價(jià)方式的數(shù)據(jù),有可能計(jì)價(jià)輔助數(shù)據(jù)表中數(shù)據(jù)有誤,比如造成某些記錄出庫金額和入庫金額同時(shí)為 NULL – 【解決 2 】 -- 更新入庫金額 update ia_valuationass Set iIprice = iIquantity * Isnull(iinCost,ioutcost) from ia_valuationass left join ia_subsidiary on ia_valuationass.inid =
and ia_valuationass.cinvcode = ia_subsidiary.cinvcode Where iIprice is null -- 更新出庫金額 update ia_valuationass Set iOPrice = iOquantity * Isnull(iinCost,ioutcost) from ia_valuationass left join ia_subsidiary on ia_valuationass.Outid =
and ia_valuationass.cinvcode = ia_subsidiary.cinvcode Where iOPrice is null
升級(jí)問題 I
升級(jí)至 861 失敗的問題,其中一方面是由于 adminsql.rar 升級(jí)包與相關(guān)補(bǔ)丁不同步。因此,我們?cè)谧畛跻呀?jīng)談到過:一 定要將補(bǔ)丁打全!當(dāng)然包括升級(jí)補(bǔ)丁的補(bǔ)丁包。將其替換原包即可。 截至目前, adminsql.rar 的最新日期為: 2006- 01-04
升級(jí)問題 II
另外一種比較常見的錯(cuò)誤是:報(bào)表模板或公共表錯(cuò)誤。比如 RPT_FLDDEF 、 AA_ColumnDic 。多數(shù)是這 些表中存在關(guān)鍵字重復(fù)記錄,而正常是不允許重復(fù)的,因此升級(jí)時(shí),會(huì)對(duì)表做重命名、插入字段等操 作。存在重復(fù)記錄就會(huì)報(bào)錯(cuò)。 【解決】這樣的問題不太直觀,多數(shù)情況下需要在升級(jí)時(shí),進(jìn)行跟蹤判斷。當(dāng)然,通過前面提到過的一些 工具,可以檢查出錯(cuò)誤。然后,刪除或修改相應(yīng)的記 錄和結(jié)構(gòu)后,重新升級(jí)。
加密問題 I
85X 系列產(chǎn)品, 12 月 31 日系統(tǒng)無法登陸,提示演示期 已過,加密盒無法認(rèn)出。 – 【分析】由于 85X 使用了破解程序,破解程序有時(shí)間控制, 在 12 月 31 日到期。故無法識(shí)別。 – 【解決】使用 U8 清除工具,徹底卸載產(chǎn)品后,重新安裝。
加密問題 II
最近支持部接到很多用戶反映加密盒注冊(cè)網(wǎng)站無法登 陸的求援電話,一般都是網(wǎng)頁錯(cuò)誤 。 – 【分析】經(jīng)與相關(guān)部門及用戶溝通討論,可能是由于登陸操 作系統(tǒng)的用戶權(quán)限不夠。 – 【解決】建議使用 Administrator 登陸操作系統(tǒng)。
相關(guān)事項(xiàng)
FTP 中可獲得以上所提到的資源: – 【維護(hù)工具】:該目錄匯集了集團(tuán)支持部制作的所有維護(hù)工 具,供分公司和伙伴使用。其中的 “ U8 年結(jié)檢測(cè)工具 ” 是針 對(duì)數(shù)據(jù)庫結(jié)構(gòu)的檢測(cè) – 【 2005 年結(jié)專用通道】:該目錄匯集了涉及年結(jié)的工具,主 要是針對(duì)數(shù)據(jù)邏輯的檢測(cè)。其中 “ 各版本年結(jié)補(bǔ)丁 ” 中已經(jīng) 加入最新的年結(jié)補(bǔ)丁,包括供應(yīng)鏈、應(yīng)收應(yīng)付、總賬等。