用友yonsuite產品二開之簡單的yonsql查詢小工具


  和以往的用友產品不同,yonsuite產品開發了低代碼平台,滿足客戶的個性化開發需求。🙃 它支持頁面設計,前端函數以及后端函數的編寫,后端函數分普通函數和API函數,API函數才可以讓前端調用。然后在函數中可以通過yonSQL進行查詢數據,對就是yonSql,他是平台新的sql規則,和數據庫SQL有點小差別,但不影響。功能整體還是比較強大的。

            http://tinper.org/mdf/docs#/wa0ing.html

  

 

 如何進行二次開發?

  • 登錄系統(點擊左上角風車,找到應用構建平台進行應用構建) 無法沒有那就是沒有權限

  

 

  • 創建應用

  

  • 創建實體

  實體相當於數據庫表,枚舉相當於數據字典,查詢是用作設計報表,創建實體后才能創建頁面

 

  • 創建頁面

  創建頁面要基於相應的實體創建,實體時可以選擇父實體,界面就可以繪制主子表結構頁面

 

  

  • 創建函數

  

  • 使用函數

  打開頁面設計設置對應的前端函數,注意前端控件只能設置前端函數 

 

測試應用yonSQL查詢小工具

  • 前端函數

  主要實現功能獲取第一個輸入框的值,是一個yonsql,傳給后台執行sql,返回結果顯示到第二個輸入框中

  cb.rest.invokeFunction (參數1:后台API函數調試ID;參數2:請求參數)

function (event) {
  var viewModel = this;
  var strSql= viewModel.get('item0sj').getValue();
  cb.rest.invokeFunction("78645a2796ea481092c9a7b3ebf68655", {querySql:strSql},

  function(err, res) {
    console.log(err);
    console.log(res.rst);
    if(err!==null){
        cb.utils.alert('拉取數據異常,請聯系開發');
      }else{
        if(res.exception===undefined){
          viewModel.get('item2qd').setValue(""+JSON.stringify(res.rst));
        }else{
          cb.utils.alert(res.exception);
        }
      }
  });
  
}

 

  • 后端函數

  后端函數的語法也是類似javascript的語法,這里主要實現功能就是講前台傳過來的sql進行數據庫查詢接口返回給前台

let AbstractAPIHandler = require('AbstractAPIHandler');
  class MyAPIHandler extends AbstractAPIHandler {
   execute(request){
    var sql= request.querySql;
    var rst = ObjectStore.queryByYonQL(sql);
    return {"rst":rst,"request":request};
 }
}
exports({"entryPoint":MyAPIHandler});

 

  •  viewModel.get('item0sj'),如何查看對應控件的id  

 

  • cb.rest.invokeFunction("78645a2796ea481092c9a7b3ebf68655",如何查看后端API函數調試id

  •  調試界面

 


免責聲明!

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



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