U8客開插件-一、標准單據標准按鈕執行前驗證操作


 

今天要做的就是在標准的單據的標准按鈕之前進行驗證操作,如果驗證通過執行保存,如果不通過給予提示不進行保存。

下面拿銷售出庫單的保存按鈕進行舉例:

第一步:在程序中 ctrl+Shift  點擊保存之后用寫字板,粘貼  key

  取到 : 單據Key=0303、保存,按鈕Tooltip:保存     F6,按鈕Key:tlbSave;

第二步:VB工程及保存按鈕前操作類

Public Function BeforeRunSysCommand(ByVal objLogin As Object, _
                                    ByVal objForm As Object, _
                                    ByVal objVoucher As Object, _
                                    ByVal sKey As String, _
                                    ByVal VarentValue As Variant, _
                                    ByRef Cancel As Boolean, _
                                    ByVal other As String)

這里可以寫自己的判斷邏輯,取值方法在最下面

End Function


'初始化
Public Function init(ByVal objLogin As Object, ByVal objForm As Object, ByVal objVoucher As Object, msbar As Object)


End Function

  注意:在方法中Cancel = true為取消當前操作,並不往后執行

第三步:注冊插件C:\U8SOFT\KK\EFBASE\UI_UserConfig.xml

<dll>
<userdll>U8SO_SOMainSaveButton.BeforeSaveClass</userdll>
<function>
    <userfunction>BeforeRunSysCommand</userfunction>
</function>
</dll>

第四步:注冊腳步:數據庫UFMeta_999

delete from aa_customerbutton where cButtonID = '088EC6DB-2380-4457-93BF-C618BE4767EA'
go
insert into aa_customerbutton ([cButtonID],[cButtonKey],[cButtonType],[cProjectNO],[cFormKey],
[cVoucherKey],[cKeyBefore],[iOrder],[cGroup],[cCustomerObjectName],[cCaption],[cLocaleID],[cImage],
[cToolTip],[cHotKey],[bInneralCommand],[cVariant],[cVisibleAsKey],[cEnableAsKey])
values('{088EC6DB-2380-4457-93BF-C618BE4767EA}','btntest','system','U8SO_SOMainSaveButton','0303',
'0303','tlbSave','0','IEDIT','U8SO_SOMainSaveButton.BeforeSaveClass','銷售出庫單保存校驗','zh-cn','','銷售出庫單保存校驗',
'Ctrl+S',1,'銷售出庫單保存校驗','tlbSave','tlbSave')
go

腳本說明:

cButtonID:可以是 newid()

cButtonKey:要唯一,有意義的名字

cButtonType:按鈕類型 default\menu\system

cFormKey: 窗體名字,單據Key

cVoucherKey:單據Key

cKeyBefore: 要處理的按鈕key

cGroup : 按鈕所在組

cCustomerObjectName:工程名.類名EFInterface_demo.cls_aa_customerbutton。如果這個不對不會進入VB

cToolTip:提示

cVisibleAsKey:當前按鈕與哪個按鈕是否可見狀態一樣

cEnableAsKey:當前按鈕與哪個按鈕是否可用狀態一樣

cImage:按鈕圖標 credit   在 icons圖片名

第五步:vb工程啟動項選擇 EnterprisePortal.exe

 

第六步:在VB一程打上斷點,並生成dll文件到C:\U8SOFT\UAP下,運行VB工程進行調試,效果如下:

 

 

備注:記錄一下相關腳本

  一、記錄一下取值方式等

ls_dDate = objVoucher.headerText("dDate") 獲取結算日期 //  dDate U8字段名

ls_iExchRate = objVoucher.headerText("iExchRate")’獲取匯率
ls_iQuantity = objVoucher.bodyText(i,"iQuantity")'獲取數量

  二、銷售訂單腳本注冊如下:

delete from aa_customerbutton where cButtonID = '088EC6DB-2380-4457-93BF-C618BE4767EA'
go
insert into aa_customerbutton ([cButtonID],[cButtonKey],[cButtonType],[cProjectNO],[cFormKey],
[cVoucherKey],[cKeyBefore],[iOrder],[cGroup],[cCustomerObjectName],[cCaption],[cLocaleID],[cImage],
[cToolTip],[cHotKey],[bInneralCommand],[cVariant],[cVisibleAsKey],[cEnableAsKey])
values('{088EC6DB-2380-4457-93BF-C618BE4767EA}','btntest','system','U8SO_SOMainSaveButton','17',
'17','save','0','IEDIT','U8SO_SOMainSaveButton.BeforeSaveClass','銷售訂單保存校驗','zh-cn','','銷售訂單保存校驗',
'Ctrl+S',1,'銷售訂單保存校驗','save','save')
go

 作者:王春天 地址:http://www.cnblogs.com/spring_wang/p/4017877.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM