環境:金蝶旗艦版4.0+windows server2008r2+sql server 2005
客戶**鏈期末結賬的時候,結賬介面卡在結轉本期成本,過後無響應,與此同時系統記憶體佔用率直線飆公升,直至系統提示記憶體溢位。此時調出系統任務管理器顯示記憶體佔用率已經達到97%
初步用k3maindbg跟蹤元件無報錯
後用sql***跟蹤發現金蝶最後執行的語句為:
delete from icbal where 過濾條件
sql server查詢分析器執行該語句耗時緩慢,最後查詢分析器同樣報錯『超出記憶體』
後台執行查詢語句
select * from icbal where 過濾條件
耗時長,查詢結果百萬行
查閱往期icbal,發現資料都只有幾萬行,由此推定是icbal導致的結賬異常
繼續查詢查詢發現icbal中重複出現了同乙個物料+同乙個批號,記錄下來,在金蝶裡面查詢該物料的庫存,但是庫存為0,庫存為0按道理是不會顯示的,繼續跟蹤
我查詢了一下金蝶官方的結賬後台流程
可以得知icbal的資料始發點是icinvbal,而icinvbal的取數又是**於庫存單據
通過查詢icstockbillentry表,過濾語句為
select a.fdate,a.fbillno,b.fitemid,b.fbatchno
from icstockbillentry b
inner join icstockbill a on a.finterid=b.finterid
where
b.fitemid=11948 and b.fbatchno='問題批號 '
order by a.fdate
發現了問題所在
該物料在某一期中,出現了兩個不一樣的批號,括號乙個是中文乙個是英文,
對於資料庫來說,這兩個是乙個東西,但是金蝶可能就不是這麼認為的,導致金蝶沒辦法判斷該物料的出入庫情況,讓金蝶以為這個物料還沒有完全出庫,從而導致往icbal中重複寫入該值
問題找到了,解決就很簡單了,**鏈反結賬到問題批號第一次出現的那期,兩個批號選乙個,用sql把問題單據的批號統一更新一下,重新結賬。問題解決
vs 2010旗艦版問題
在vs2010學習版中這個可以執行!為啥在vs2010旗艦版中執行不了啊!錯誤提示在下面 code include using namespace std template void jhuan t a,t b struct kt template void jhuan kt kt1,kt kt2 ...
VS2010旗艦版無法安裝
今天早上裝vs2010旗艦版,可是剛開始裝的時候它就要求強制重啟,但重啟之後就報告安裝失敗。如下圖所示 因為我的電腦是win10企業版,本身已經安裝.net framework 我vs也會安裝.net framework,我以為是這兩者衝突。結果後來才想起來自己將windows modules in...
Intellij IDEA 最新旗艦版註冊啟用破解
1 2017 年親測參考 安裝intellij idea 最新版 啟動intellij idea 輸入license 時,選擇輸入 license server 在 license serveraddress 輸入框中輸入 或者。然後單擊 activate 按鈕就可啟用 親測,該方法對於 2016....