一、金蝶EAS DEP擴展腳本 表頭F7過濾javascript
var easImporter = JavaImporter(); easImporter.importPackage(Packages.com.kingdee.bos.ctrl.extendcontrols); easImporter.importPackage(Packages.com.kingdee.bos.metadata.entity); easImporter.importPackage(Packages.com.kingdee.bos.metadata.query.util); easImporter.importPackage(Packages.com.kingdee.bos.util); with(easImporter){ //表頭f7過濾 var storageid = pluginCtx.getUIContext().get("sysContext").getCurrentStorageUnit().getId().toString(); var filterInfo = new FilterInfo(); var entityViewInfo = new EntityViewInfo(); // 設置過濾條件 filterInfo.getFilterItems().add(new FilterItemInfo("STORAGEORGUNIT.ID",storageid ,CompareType.EQUALS)); // 如:id=001 filterInfo.getFilterItems().add(new FilterItemInfo("isused","1", CompareType.EQUALS)); // 設置過濾條件關係,若是隻要一個條件能夠省略 // #0 #1爲條件條件的前後順序 filterInfo.setMaskString("#0 and #1"); // 寫入過濾對象 entityViewInfo.setFilter(filterInfo); // 將過濾對象寫入控件過濾條件中 pluginCtx.getKDBizPromptBox("prmtdevhmld").setEntityViewInfo(entityViewInfo); }
二、金蝶EAS 執行SQL腳本java
--客戶端代碼執行select var sql = "select * from table" var rowset = com.kingdee.bos.dao.query.SQLExecutorFactory.getRemoteInstance(sql).executeSQL(); var arrLen = rowset.size(); while(rowset.next()){ } --客戶端代碼執行update var updateSql = "update table set column=' ' where fid=' '"; com.kingdee.eas.cp.base.DbExecuteUtilFacadeFactory.getRemoteInstance().execute(updateSql);
三、給F7添加值改變事件sql
//F7控件增長值改變監聽 pluginCtx.getKDBizPromptBox("prmtCompany").addDataChangeListener(function (event){ com.kingdee.eas.util.client.MsgBox.showInfo("F7值改變事件"); });
四、F7屬性攜帶值更新數據庫
// 選擇職員後,將職員名稱帶出 // F7控件增長值改變監聽 pluginCtx.getKDBizPromptBox("prmtPerson").addDataChangeListener(function (event){ // 獲取職員F7信息 var personInfo = pluginCtx.getKDBizPromptBox("prmtPerson ").getValue(); var name = personInfo.get("name"));//獲取職員名稱 // 將職員名稱賦值到名稱控件。 pluginCtx.getKDTextField("txtName").setStringValue(name); });
五、F7帶出關聯F7工具
// 選擇付款類型後,根據邏輯將科目F7賦值 // F7控件增長值改變監聽 // 付款類型字段監聽,當字段改變的時候觸發 pluginCtx.getKDBizPromptBox("f7PayBillType").addChangeListener(function(e){ var payBillTypeInfo = pluginCtx.getKDBizPromptBox("f7PayBillType").getValue();//獲取付款類型信息 // 獲取付款類型ID信息用於對照,這裏也能夠提取其餘信息對照,好比名稱,編碼等 var id = payBillTypeInfo.get("id"); if(id == "1234"){ // 根據ID查詢科目,並變動 var accountViewInfo=com.kingdee.eas.basedata.master.account.AccountViewFactory.getRemoteInstance().getAccountViewCollection("where Id = '//lZ0U0sSfK4Ego95AUafZ2pmCY='"); if(accountViewInfo.size() > 0){ // 改變科目字段 com.kingdee.eas.util.client.MsgBox.showInfo(accountViewInfo.get(0)); pluginCtx.getKDBizPromptBox("prmtOppAccount").setData(accountViewInfo.get(0)); } } });
六、CheckBox(複選框)值改變事件編碼
// 獲取控件 var chkIsContract= pluginCtx.getKDCheckBox("chkIsContract"); // 添加監聽事件 chkIsContract.addChangeListener(function(event){ com.kingdee.eas.util.client.MsgBox.showInfo("複選框值改變事件"); });
七、ComboBox(下拉框)值改變事件code
//選擇事件 var bizTypeCombo= pluginCtx.getKDComboBox ("bizTypeCombo"); bizTypeCombo.addItemListener (function(event,method){ com.kingdee.eas.util.client.MsgBox.showInfo("下拉框值改變事件"); });
八、Button(按鈕)值改變事件對象
// Button點擊事件 var bjButton= pluginCtx.getKDButton ("bjButton"); bjButton.addActionListener (function(event){ com.kingdee.eas.util.client.MsgBox.showInfo("按鈕值改變事件"); }); // 例編碼重複驗證按鈕,選擇付款類型後,根據邏輯將科目F7賦值 // 爲界面按鈕添加點擊監聽 pluginCtx.getKDButton("kDButton").addActionListener(function(event,methodName){ // 獲取界面編碼 var number = pluginCtx.getKDTextField("txtNumber").getStringValue(); // 拼接sql var sql = "SELECT * FROM T_DEM_PurOrderR WHERE Fnumber = '" + number + "'"; // 獲取數據庫工具接口 var fMIsqlFacade = com.kingdee.eas.fm.common.FMIsqlFacadeFactory.getRemoteInstance(); var rs = fMIsqlFacade.executeQuery(sql.toString(), null); // 結果判斷 if(rs.size() > 0){ com.kingdee.eas.util.client.MsgBox.showInfo("編碼已存在"); } });
九、TextFiled (文本框)值改變事件接口
// 獲取文本框對象 var textFiled= pluginCtx.getKDTextFiled ("textFiled"); // 添加監聽事件 textFiled.addActionListener(function(event){ com.kingdee.eas.util.client.MsgBox.showInfo("文本框值改變事件"); }); // 添加焦點事件 textFiled.addFocusListener(function(event, methodName){ com.kingdee.eas.util.client.MsgBox.showInfo("焦點事件"); // 得到焦點事件 if(methodName == "focusGained"){ com.kingdee.eas.util.client.MsgBox.showInfo("得到焦點事件"); } // 失去焦點事件 if(methodName == "focusLost"){ com.kingdee.eas.util.client.MsgBox.showInfo("失去焦點事件"); } }); // 添加鼠標事件 textFiled.addMouseListener (function(event, methodName){ com.kingdee.eas.util.client.MsgBox.showInfo("鼠標事件"); // 鼠標單擊事件 if(methodName == "mouseClicked"){ com.kingdee.eas.util.client.MsgBox.showInfo("鼠標單擊事件"); } // 鼠標按下事件 if(methodName == "mousePressed"){ com.kingdee.eas.util.client.MsgBox.showInfo("鼠標按下事件"); } // 鼠標擡起事件 if(methodName == "mouseReleased"){ com.kingdee.eas.util.client.MsgBox.showInfo("鼠標擡起事件"); } // 鼠標滑入事件 if(methodName == "mouseEntered"){ com.kingdee.eas.util.client.MsgBox.showInfo("鼠標滑入事件"); } // 鼠標滑出事件 if(methodName == "mouseExited"){ com.kingdee.eas.util.client.MsgBox.showInfo("鼠標滑出事件"); } });
十、Tree(樹形控件)值改變事件事件
//增長tree的選擇事件 var accountTree = pluginCtx.getKDTree ("accountTree"); accountTree.addTreeSelectionListener(function(event){ com.kingdee.eas.util.client.MsgBox.showInfo("樹形控件值改變事件"); });
十一、TabledPane(頁籤)改變事件
var tabbedPane = pluginCtx.getTabbedPane("tabbedPane"); // 頁籤切換事件 tabbedPane.addChangeListener(function(event){ com.kingdee.eas.util.client.MsgBox.showInfo("頁籤改變事件"); });
十二、Table(表格)編輯事件監聽
// KDTable增長表格編輯事件監聽 pluginCtx.getKDTable("kdtEntrys").addKDTEditListener(function(event,methodName){ // 開始編輯了 if(methodName == "editStarted"){ com.kingdee.eas.util.client.MsgBox.showInfo("開始編輯了"); } // 中止編輯了 if(methodName == "editStopped"){ com.kingdee.eas.util.client.MsgBox.showInfo("中止編輯了"); } // 開始編輯中 if(methodName == "editStarting"){ com.kingdee.eas.util.client.MsgBox.showInfo("開始編輯中"); } // 中止編輯中 if(methodName == "editStopping"){ com.kingdee.eas.util.client.MsgBox.showInfo("中止編輯中"); } // 編輯值改變 if(methodName == "editValueChanged"){ com.kingdee.eas.util.client.MsgBox.showInfo("編輯值改變"); } }); // KDTable增長鼠標事件監聽 pluginCtx.getKDTable("kdtEntrys").addKDTMouseListener(function(event,methodName){ if(event.getClickCount() == 2){ } else if(event.getClickCount() == 1){ } }); // KDTable增長單元格Active事件監聽 pluginCtx.getKDTable("kdtEntrys").addKDTActiveCellListener(function(event,methodName){ var table = (com.kingdee.bos.ctrl.kdf.table.KDTable) e.getSource(); var preLine = event.getPrevRowIndex(); var line = event.getRowIndex(); });
1三、DatePicker(日期控件)值改變事件
// DatePicker增長表格編輯事件監聽 pluginCtx.getKDDatePicker ("pkDatePicker").addDataChangeListener(function (event){ com.kingdee.eas.util.client.MsgBox.showInfo("日期控件值改變事件"); });