




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
9/14金蝶核算項目常見問題及數據結構分析科目掛核算項目的業務在總帳與基礎資料部分涉及的范圍比較廣,如果對應此部分的后臺數據發生錯亂,則會導致軟件無法正常進行,下面對常見報錯進行了匯總,用戶可以在學習完基礎數據結構與邏輯的基礎上自行進行分析與處理,從而解決問題。1、科目設置了核算項目,在憑證錄入時不提示需要輸入核算2、科目設置了核算項目,在憑證查詢時,看不到核算項目信息3、在科目余額表中無法查看核算項目明細,但未過賬前在包括未過賬憑證時可以正常顯示4、無法結轉損益,提示分錄缺少核算項目5、憑證無法過賬,提示分錄缺少核算項目6、賬薄查詢時,提示F3001列無效7、憑證過賬時提示:在結果列中多次出現列名F18、應收應付系統初始化轉余額到總賬失敗9、其他憑證模板如自動轉賬、各類型的單據模板等生成憑證失敗10、修改核算項目明細時,提示定義的應用程序或對象錯誤11、單據錄入時F7無法調出客戶或者供應商12、科目余額表有部分供應商顯示兩行數據,正確數據為這兩行數據之和,供應商編碼相同上述錯誤,都是因為與Fdetailid值相關的記錄不正確造成的。比照數據邏輯進行處理。另外,即使同樣的報錯,執行處理的語句也會因不同帳套或不同期間而略有不同,請一定在理解基礎數據結構與邏輯的基礎上進行處理。基礎數據結構與邏輯1.核算項目類別增加一核算項目類別,一般先在t_itemclass中生成記錄,如果新生成的核算項目類別有具體的屬性則會繼續在t_itempropdesc中生成記錄,同時在對應的t_itemclass中的Fsqltablename中會為對應的類別生成一個具體的數據表來記錄它的專有屬性。例如:新增一個核算項目類別“銀行”,包括的屬性有銀行的代碼、名稱、地址、區域。如下圖:
則t_itemclass表中會發生如下變化:注:Fitemclassid(核算項目類別內碼)。代表不同的核算項目類別,1為客戶,2為部門,3為職員,4為物料,5為倉庫,6為備注,7為計量單位,8為供應商,9為現金流量項目…如果是自定義的核算項目,一般Fitemclassid字段的值都比較大,一般均在3001以后。t_itemclass是保存核算項目類別的一些共有屬性的,如Fnumber代表核算項目類別的代碼,Fname代表名稱,另外有一個FsqlTableName字段,它表示每個核算項目對應的詳細情況表名稱,由圖可見銀行類對應的核算項目詳細情況表為T_item_3001,這個稍后作介紹。由于我們還定義了銀行類的一些專有屬性,所以在t_itempropdesc中會有如下變化:t_itempropdesc表是通過Fitemclassid與T_itemclass聯系的,這里對應Fitemclassid為3001的共有4條記錄,就是我們剛才定義的銀行類的專有屬性,其中字段fsqlcolumnname為四個屬性分別在核算項目詳情表T_item_3001對應的字段。2.核算項目具體的核算項目是保存在表t_item中的,若核算項目類還有專有屬性,則其專有信息保存在t_itemclasss中FsqlTableName對應的表中。在核算項目類銀行下新增一核算項目明細,如圖:此時,在t_item表中會增加一條明細,如下圖第64條記錄:
同時在保存該核算項目詳細情況的表中會增加以下一條記錄:以上兩表是通過fitemid(核算項目內碼)進行關聯的。3.核算項目橫縱表核算項目橫表:涉及的表為t_ItemDetail,此表是聯接各個核算項目業務表的紐帶,如科目表,憑證表,余額表等等都與此表有很大的聯系。核算項目縱表為t_ItemDetailV,此表是由核算項目橫表來生成的,可以用SP_CleanItemDetailV這個存儲過程來生成。是核算項目橫表另一種形式的表現。在平時的各種報表計算時,程序是直接關聯的該表。下面我們以一實例來說明核算項目橫縱表是如何來管理核算項目的:在科目應收賬款下掛客戶的核算項目類別,則在t_itemdetail中會出現如下記錄:其中fdetailid為核算項目組合內碼,fdetailcount代表核算項目組合數目,后面的以F開頭的類分別代表該組合的具體內容,上圖中的fdetailid=1的記錄就代表某一科目下掛一個核算項目類,該類為客戶,其中F后面的數字具體代表什么類別是根據t_itemclass中核算項目類別對應的fitemclassid來決定的。如下圖:t_itemclass與t_itemdetail,t_itemdetailv的關系:
同時我們也會看到科目表t_account中關于應收賬款的記錄作了如下變化:t_account中應收賬款對應的fdetailid字段由未掛核算項目前的0變為了1,也就是說進行了核算項目管理的科目的具體情況,都可以通過該表中的這個字段來表示,該字段與核算項目橫表是一一對應的。如果我們在錄入憑證的時候選擇了科目下的具體核算項目,如圖:
其中f1下面的64代表核算項目t_item表中fitemid為64的核算項目,即我們在憑證錄入時候選擇的核算項目。該憑證在憑證分錄表中保存信息如下:
當該憑證過帳時,科目余額表中也會保存不同幣別的兩條相應的記錄:也就是說對于核算項目橫表中FX列對應的不是0或者-1的fdetailid會在憑證表與科目表中被引用,對于-1的則被科目表所引用。以下Fdetailid只能為科目屬性值使用,即只能出現在t_account表中:select*fromt_itemdetailwherefdetailidin(selectFdetailidfromt_itemdetailvwherefitemid=-1)以下Fdetailid只能出現在各余額表、憑證分錄表中:select*fromt_itemdetailwherefdetailidin(selectFdetailidfromt_itemdetailvwherefitemid<>-1)另外:在t_itemdetail中有一條fdetail為0的記錄,這條記錄是系統預設的,不能丟失,丟失了要手工參照標準帳套補入,否則會導致無法過帳,不能正常查看帳簿等問題。此外還不允許在Fx列中出現NULL值。如果出現Null值,一般都是該表的約束或默認值值丟失,需要更正:updatet_itemdetailsetF3003=0whereF3003isnullALTERTABLEt_ItemDetailALTERcolumnF3003intNOTNULL綜上,核算項目橫縱表與各數據表之間的關系可以通過下圖來表示:案例1.修改客戶的核算項目明細時報“定義的應用程序或對象錯誤”,或錄入單據時候F7調不出數據:這種情況很有可能是保存客戶詳細記錄的表t_Organization中記錄丟失,可在查詢分析器中執行如下語句補入:insertintot_Organization(Fitemid,Fnumber,Fparentid,Fshortnumber)selectFitemid,Fnumber,Fparentid,Fshortnumberfromt_itemwherefitemclassid=1andfdetail=1andfitemidnotin(selectfitemidfromt_Organization)updatet_OrganizationsetFregionid=0,ftrade=0,Fvalueaddrate=0,Fsaleid=0wherefitemidin(selectfitemidfromt_itemwherefdetail=1)updateaseta.fname=b.fnamefromt_Organizationajoint_itembona.fitemid=b.fitemid同理,其他核算項目類別下的明細表記錄丟失,也可模仿此語句補入。2.憑證無法過賬、賬薄報表無法查詢、無法結轉損益結轉損益之后無法過帳或仍有余額,提示:在結果列中多次出現F1,名稱或代碼已存在等一般是fdetailcount數目不對或者相同的核算項目組合出現重復,對于錯誤的fdetailcount,首先要執行如下語句進行更新:execsp_cleanitemdetailv--橫表生成縱表的存儲結構updateaseta.fdetailcount=b.Fcountfromt_itemdetailajoin(selectFdetailid,count(Fitemid)Fcountfromt_itemdetailvwherefitemid<>0groupbyFdetailid)bona.fdetailid=b.fdetailid--更新fdetailcountexecsp_cleanitemdetailv--重新生成縱表作了以上更新后發現表中還存在相同組合的重復記錄,這是不允許的:圖中f2=-1的記錄一共有兩條,對應的fdetailid分別為8,224,其在科目表t_account引用狀況如下:而我們只需要保留一個fdetailid即可,此時我們取最小的fdetailid,執行如下語句更新科目表:updatet_accountsetFdetailid=(selectmin(fdetailid)fromt_itemdetailwherefdetailidin(selectFdetailidfromt_itemdetailvwherefitemid=-1)andFdetailcount=1andF2=-1)whereFdetailidin(select(fdetailid)fromt_itemdetailwherefdetailidin(selectFdetailidfromt_itemdetailvwherefitemid=-1)andFdetailcount=1andF2=-1)執行之后科目表更新為以下狀況:同時我們還要刪除核算項目橫表中的多余記錄,執行如下語句:deletefromt_itemdetailwhereFdetailidin(select(fdetailid)fromt_itemdetailwherefdetailidin(selectFdetailidfromt_itemdetailvwherefitemid=-1)andFdetailcount=1andF2=-1)andFdetailid<>(selectmin(fdetailid)fromt_itemdetailwherefdetailidin(selectFdetailidfromt_itemdetailvwherefitemid=-1)andFdetailcount=1andF2=-1)execsp_cleanitemdetailv--重新生成縱表執行之后核算項目橫表itemdetail中多余的fdetailid=224的記錄被刪除另外還要查看各余額表中有沒有非法的fdetailid,即不在核算項目橫縱表中的,有的話則需要刪除:--查找科目余額表中有沒有非法的fdetailidselect*fromt_balancewherefdetailidnotin(selectfdetailidfromt_itemdetail)--刪除科目余額表中非法的fdetailiddeletefromt_balancewherefdetailidnotin(selectfdetailidfromt_itemdetail)同理進行以下操作查找數量余額表中有沒有非法的fdetailidselect*fromt_quantitybalancewherefdetailidnotin(selectfdetailidfromt_itemdetail)刪除數量余額表中非法的fdetailiddeletefromt_quantitybalancewherefdetailidnotin(selectfdetailidfromt_itemdetail)查找損益類科目實際發生額表中有沒有非法的fdetailidselect*fromt_profitandlosswherefdetailidnotin(selectfdetailidfromt_itemdetail)刪除損益類科目實際發生額表中有沒有非法的fdetailiddeletefromt_profitandlosswherefdetailidnotin(selectfdetailidfromt_itemdetail)3.查詢賬薄時提示列名‘f3001’無效出現如上報錯則需要查看t_itemdetail表中該對應的列是否存在,如果不存在,應該補充執行如下語句:IfNotExists(Selectc.Namefromsyscolumnsc,sysobjectsowherec.Id=o.I='F3001'='t_ItemDetail')BeginAlterTablet_ItemDetailAddF3001intnotnulldefault(0)CreateIndexix_ItemDetail_3001Ont_ItemDetail(F3001)END4.科目余額表過濾本期,科目選擇'應付帳款',顯示核算項目,確定.報表顯示有部分供應商顯示兩行數據,正確數據為這兩行數據之和,供應商編碼相同.例:供應商代碼2001.0001這種情況一般是由于核算項目橫表中被憑證表,余額表引用的核算項目組合有重復記錄,如下圖:象這種情況,需要做如下處理:(1)創建臨時表t_itemdetail_error,把重復核算項目記錄插入該表selecta.*,a.fdetailidFdetailid_tempintot_itemdetail_errorfromt_itemdetailajoint_itemdetailbona.f8=b.f8anda.fdetailcount=b.fdetailcountwherea.fdetailcount=1anda.fdetailid<>b.fdetailidanda.f8>0orderbya.f8(2)在臨時表t_itemdetail_error中修改錯誤的fdetailid值(以最小的fdetailid值為基準):updatebsetb.fdetailid_temp=a.fdetailidfromt_itemdetail_errorajoint_itemdetail_errorbona.f8=b.f8anda.fdetailcount=b.fdetailcountwherea.fdetailcount=1anda.fdetailidanda.f8>0(3)創建余額表臨時表t_balance_temp:select*intot_balance_tempfromt_balanceorderbyfyear,fperiod,faccountid,fdetailid,fcurrencyid(4)更新余額表臨時表的錯誤detailid值:updateaseta.fdetailid=b.fdetailid_tempfromt_balance_tempajoint_itemdetail_errorbona.fdetailid=b.fdetailid(5)創建臨時表temp002:selecttop0*intotemp002fromt_balance(6)合并t_balance_temp相同核算項目項的金額,把結果插入temp002:insertintotemp002(fyear,fperiod,faccountid,fdetailid,fcurrencyid,FFrameWorkID,FBeginBalanceFor,FDebitFor,FCreditFor,FYtdDebitFor,FYtdCreditFor,FEndBalanceFor,FBeginBalance,FDebit,FCredit,FYtdDebit,FYtdCredit,FEndBalance)selectfyear,fperiod,faccountid,fdetailid,fcurrencyid,FFrameWorkID,sum(FBeginBalanceFor)FBeginBalanceFor,sum(FDebitFor)FDebitFor,sum(FCreditFor)FCreditFor,sum(FYtdDebitFor)FYtdDebitFor,sum(FYtdCreditFor)FYtdCreditFor,sum(FEndBalanceFor)FEndBalanceFor,sum(FBeginBalance)FBeginBalance,sum(FDebit)FDebit,sum(FCredit)FCredit,sum(FYtdDebit)FYtdDebit,sum(FYtdCredit)FYtdCredit,sum(FEndBalance)FEndBalancefromt_balance_tempgroupbyfyear,fperiod,faccountid,fdetailid,fcurrencyid,FFrameWorkID(7)清空t_balance數據:deletefromt_balance(8)把temp002的值寫回t_balance:insertintot_balance(fyear,fperiod,faccountid,fdetailid,fcurrencyid,FBeginBalanceFor,FDebitFor,FCreditFor,FYtdDebitFor,FYtdCreditFor,FEndBalanceFor,FBeginBalance,FDebit,FCredit,FYtdDebit,FYtdCredit,FEndBalance,FFrameWorkID)selectfyear,fperiod,fac
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45690-2025地理標志產品質量要求普洱咖啡
- 鄉鎮教師崗位管理制度
- 企業道路安全管理制度
- 倉庫設備租賃管理制度
- 東北特鋼安全管理制度
- 中企動力公司管理制度
- 食品公司精細化管理制度
- 中國工廠銷售管理制度
- xx公司基本管理制度
- 食品制造業庫房管理制度
- 《oracle性能優化》課件
- 小學生手工剪紙課件
- 中藥結腸透析治療慢性腎衰竭的技術規范
- 2024年廣東省廣州市中考英語真題卷及答案解析
- 化工設備機械基礎習題及參考答案
- 《課件旅游法培訓》課件
- 高中生物(部編版)選擇性必修3知識清單(問答版)
- 山東師范大學《高級英語(二)》2021-2022學年第一學期期末試卷
- 手術體位擺放原則及注意事項
- 2024年熔化焊接與熱切割理論考試1000題(附答案)
- 零售藥店計算機管理系統操作規程
評論
0/150
提交評論