* *modify date: 2002.06.04 mender: Niko 滿足菜單打開多個(gè)窗口,窗口已打開則Activate,工具條及權(quán)限隨激活窗口而改變
* *modify date: 2002.06.21 mender: Niko 增加文件,編輯,幫助三項(xiàng),文件項(xiàng)中內(nèi)容隨工具條內(nèi)按鈕相應(yīng)變更
* * 該程序動態(tài)生成 菜單根據(jù) 全局變量表 global_right
* *global_right(program_id c(6),descr c(40) null,search logic ,amend logic,new logic,candele logic)
* * 主菜單固定 (new)
* * 1.市場管理 M (Market)
* * 2.生產(chǎn)計(jì)劃 P (Production)
* * 3.工程管理 E (Engineer)
* * 4.品質(zhì)(管理) Q (Quantity)
* * 5.財(cái)務(wù)(系統(tǒng)) A (Account)
* * 6.報(bào)關(guān)(系統(tǒng)) C (Custom)
* * 7.車間(管理) W (Workshop)
* * 8.采購(管理) B (Workshop)
* * 9.倉庫(管理) S (Workshop)
* * 10.其它(功能) O (Other)
* * 11.幫助 H (Help)
* * 12.退出 X (eXit)
LPARAMETERS oFormRef, getMenuName, lUniquePopups
LOCAL cMenuName, nTotPops, a_menupops, cTypeParm2, cSaveFormName,i,macro1,programid,loginsucc
*!* IF TYPE("m.oFormRef") # "O" OR ;
*!* LOWER(m.oFormRef.BaseClass) # 'form' OR ;
*!* m.oFormRef.ShowWindow # 2
*!* MESSAGEBOX([只能從頂層表單調(diào)用該菜單。請確認(rèn)您表單的 ShowWindow 屬性已設(shè)為 2。閱讀此菜單 MPR 文件的頭部分,可以獲得詳細(xì)信息。])
*!* RETURN
*!* ENDIF
m.cTypeParm2 = TYPE("m.getMenuName")
m.cMenuName ='MAINFORM' &&& SYS(2015)
m.cSaveFormName = m.oFormRef.Name
IF m.cTypeParm2 = "C" OR (m.cTypeParm2 = "L" AND m.getMenuName)
m.oFormRef.Name = m.cMenuName
ENDIF
IF m.cTypeParm2 = "C" AND !EMPTY(m.getMenuName)
m.cMenuName = m.getMenuName
ENDIF
i=0
&& select * from global_right where len(alltrim(program_id))>3 into cursor temp &&第三級菜單
select distinct left(program_id,3) as program_id from global_right where len(alltrim(program_id))>3 into cursor temp
i=_tally &&得到有有多少個(gè)第二級菜單有第三級菜單
select * from global_right where exists(select * from temp where global_right.program_id=temp.program_id) and len(alltrim(global_right.program_id))>3 into cursor temp_menu
&&tempp_menu 得到有第三級菜單的程序代號權(quán)限表。
select * from global_right where exists(select * from temp where global_right.program_id==temp.program_id) into cursor tempp
&&tempp 得到有第三級菜單的第二級菜單項(xiàng)
DIMENSION a_menupops[i+13]
IF TYPE("m.lUniquePopups")="L" AND m.lUniquePopups
FOR nTotPops = 3 TO ALEN(a_menupops)
a_menupops[m.nTotPops]= SYS(2015)
ENDFOR
ELSE
a_menupops[1]="文件" && F
a_menupops[2]="編輯" && D
a_menupops[3]="報(bào)價(jià)" && M
a_menupops[4]="生產(chǎn)計(jì)劃" && P
a_menupops[5]="工程" && E
a_menupops[6]="品質(zhì)" && Q
a_menupops[7]="車間生產(chǎn)" && W
a_menupops[8]="采購" && B
a_menupops[9]="倉庫" && S
a_menupops[10]="報(bào)關(guān)" && C
a_menupops[11]="財(cái)務(wù)" && A
a_menupops[12]="系統(tǒng)管理" && O
a_menupops[13]="幫助" && H
j=0
select tempp
scan
j=j+1
a_menupops[13+j]=alltrim(tempp.descr)
endscan
ENDIF
* *modify date: 2002.06.21 mender: Niko 增加文件,編輯,幫助三項(xiàng),文件項(xiàng)中內(nèi)容隨工具條內(nèi)按鈕相應(yīng)變更
* * 該程序動態(tài)生成 菜單根據(jù) 全局變量表 global_right
* *global_right(program_id c(6),descr c(40) null,search logic ,amend logic,new logic,candele logic)
* * 主菜單固定 (new)
* * 1.市場管理 M (Market)
* * 2.生產(chǎn)計(jì)劃 P (Production)
* * 3.工程管理 E (Engineer)
* * 4.品質(zhì)(管理) Q (Quantity)
* * 5.財(cái)務(wù)(系統(tǒng)) A (Account)
* * 6.報(bào)關(guān)(系統(tǒng)) C (Custom)
* * 7.車間(管理) W (Workshop)
* * 8.采購(管理) B (Workshop)
* * 9.倉庫(管理) S (Workshop)
* * 10.其它(功能) O (Other)
* * 11.幫助 H (Help)
* * 12.退出 X (eXit)
LPARAMETERS oFormRef, getMenuName, lUniquePopups
LOCAL cMenuName, nTotPops, a_menupops, cTypeParm2, cSaveFormName,i,macro1,programid,loginsucc
*!* IF TYPE("m.oFormRef") # "O" OR ;
*!* LOWER(m.oFormRef.BaseClass) # 'form' OR ;
*!* m.oFormRef.ShowWindow # 2
*!* MESSAGEBOX([只能從頂層表單調(diào)用該菜單。請確認(rèn)您表單的 ShowWindow 屬性已設(shè)為 2。閱讀此菜單 MPR 文件的頭部分,可以獲得詳細(xì)信息。])
*!* RETURN
*!* ENDIF
m.cTypeParm2 = TYPE("m.getMenuName")
m.cMenuName ='MAINFORM' &&& SYS(2015)
m.cSaveFormName = m.oFormRef.Name
IF m.cTypeParm2 = "C" OR (m.cTypeParm2 = "L" AND m.getMenuName)
m.oFormRef.Name = m.cMenuName
ENDIF
IF m.cTypeParm2 = "C" AND !EMPTY(m.getMenuName)
m.cMenuName = m.getMenuName
ENDIF
i=0
&& select * from global_right where len(alltrim(program_id))>3 into cursor temp &&第三級菜單
select distinct left(program_id,3) as program_id from global_right where len(alltrim(program_id))>3 into cursor temp
i=_tally &&得到有有多少個(gè)第二級菜單有第三級菜單
select * from global_right where exists(select * from temp where global_right.program_id=temp.program_id) and len(alltrim(global_right.program_id))>3 into cursor temp_menu
&&tempp_menu 得到有第三級菜單的程序代號權(quán)限表。
select * from global_right where exists(select * from temp where global_right.program_id==temp.program_id) into cursor tempp
&&tempp 得到有第三級菜單的第二級菜單項(xiàng)
DIMENSION a_menupops[i+13]
IF TYPE("m.lUniquePopups")="L" AND m.lUniquePopups
FOR nTotPops = 3 TO ALEN(a_menupops)
a_menupops[m.nTotPops]= SYS(2015)
ENDFOR
ELSE
a_menupops[1]="文件" && F
a_menupops[2]="編輯" && D
a_menupops[3]="報(bào)價(jià)" && M
a_menupops[4]="生產(chǎn)計(jì)劃" && P
a_menupops[5]="工程" && E
a_menupops[6]="品質(zhì)" && Q
a_menupops[7]="車間生產(chǎn)" && W
a_menupops[8]="采購" && B
a_menupops[9]="倉庫" && S
a_menupops[10]="報(bào)關(guān)" && C
a_menupops[11]="財(cái)務(wù)" && A
a_menupops[12]="系統(tǒng)管理" && O
a_menupops[13]="幫助" && H
j=0
select tempp
scan
j=j+1
a_menupops[13+j]=alltrim(tempp.descr)
endscan
ENDIF

