金蝶云蒼穹-插件開發(二)新建、更新、刪除數據

加載本頁面數據

關于加載數據,還要多補充一個點,如果要加載一個基礎資料/單據界面中正在操作的界面,比如要獲取剛填寫好的字段值,就要獲取當前界面的模型層,再獲取具體數據。具體操作如下:

//獲取日任務信息,并且以JSON字符串的形式展現JSONObject jsonResultObject = new JSONObject();jsonResultObject.put("taskName", this.getModel().getValue("name").toString());jsonResultObject.put("createTime", this.getModel().getValue("abq2_task_create_time").toString());//獲取當前頁面的單據體的數據DynamicObjectCollection dynamicObjectCollection = this.getModel().getEntryEntity("abq2_task_entryentity");JSONArray jsonTaskArray = new JSONArray();for (DynamicObject dynamicObjectSingle : dynamicObjectCollection) {JSONObject jsonObjectSingle = new JSONObject();jsonObjectSingle.put("taskContent", dynamicObjectSingle.getString("abq2_task_context"));jsonObjectSingle.put("expectTime", dynamicObjectSingle.getString("abq2_expect_minute"));jsonObjectSingle.put("diff", dynamicObjectSingle.getString("abq2_diff"));jsonObjectSingle.put("finishTime", dynamicObjectSingle.getString("abq2_true_minute"));jsonObjectSingle.put("finishSituation", dynamicObjectSingle.getString("abq2_finish"));jsonTaskArray.add(jsonObjectSingle);}

this就是指的當前頁面的實體,getModel就是獲取當前頁面實體的模型層數據。

新建基礎資料/單據實體

新建的操作用到的也是BusinessDataServiceHelper,例:

DynamicObject my_activity = BusinessDataServiceHelper.newDynamicObject("abq2_my_activity");

剛創建出來的這個實體各個字段值中,如果是數值型的默認為0,其他的默認為null。要對字段進行設置值的話,做相應的set操作即可,例如:

 //new一個DynamicObject表單對象DynamicObject dynamicObject = BusinessDataServiceHelper.newDynamicObject("abq2_apply");StringBuilder sb1 = new StringBuilder(); //生成一個單據編號sb1.append("AskForLeave-");for (int i = 1; i <= 10; i++) {int ascii = 48 + (int) (Math.random() * 9);char c = (char) ascii;sb1.append(c);}//設置對應屬性//將獲取到的json信息保存到單據中去dynamicObject.set("billno", sb1.toString()); //單據編號dynamicObject.set("abq2_creator", RequestContext.get().getCurrUserId()); //創建人dynamicObject.set("enable", 1);dynamicObject.set("billstatus", "A");dynamicObject.set("abq2_largetextfield",resultJsonObject.getString("reasonForLeave")); //請假理由………………

注:建議創建新的實體時,要給實體的創建人、編號、數據狀態、使用狀態都先賦值好。方便該實體的業務功能的使用。

增加單據體分錄

對于要新增單據體的分錄,即增加單據體的行,操作如下:

            DynamicObjectCollection dynamicObjectCollection = dynamicObject.getDynamicObjectCollection("abq2_task_entryentity");for (Object object : resultJsonObject.getJSONArray("dayTaskList")) {JSONObject jsonObjectSingle = (JSONObject) object;//新建的基礎資料的單據體是沒有任何分錄的,要增加新的分錄使用addNewDynamicObject dynamicObjectEntry = dynamicObjectCollection.addNew();//設置單據體中的數據值dynamicObjectEntry.set("abq2_task_context", ……);dynamicObjectEntry.set("abq2_expect_minute", ……);dynamicObjectEntry.set("abq2_diff", ……);}

保存新建數據

新建的數據并不是newDynamicObject之后就已經保存了,要將其保存為一個實體,要進行一下操作:

SaveServiceHelper.saveOperate("abq2_schedule_form", new DynamicObject[] {dynamicObject}, null);

?第一個參數是基礎資料/單據的標識,第二個參數是要保存的新實體的數組

修改數據

有時候,由于一些業務,我們經常要改動數據,比如一門課程的已選人數,在有人選課時,會多加一。便要對實體進行修改操作:

//load的操作省略,activity是實體的對象
activity.set("abq2_integerfield1",activity.getInt("abq2_integerfield1") + 1);
SaveServiceHelper.update(activity);

參數就是實體的對象。

刪除數據

刪除操作如下:

DeleteServiceHelper.delete("abq2_my_course",new QFilter[]{new QFilter("abq2_my_course_stu", QCP.equals,Long.valueOf(primaryKeyValue2))});

建議使用這個方式刪除數據,第一個參數是基礎資料/單據的標識,在QFilter數組中,滿足指定過濾的對應實體都會刪除。

最基本的單據/基礎資料的操作就是這些,當然插件的知識點還有非常非常多,還有很多好玩的插件,等我這個專欄的更新會慢慢帶給大家。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/42466.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42466.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/42466.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++ 函數高級——函數的占位參數

C中函數的形參列表里可以有占位參數&#xff0c;用來做占位&#xff0c;調用函數時必須填補改位置 語法&#xff1a; 返回值類型 函數名&#xff08;數據類型&#xff09;{ } 在現階段函數的占位參數存在意義不大&#xff0c;但是后面的課程中會用到該技術 示例&#xff1a;…

STM32快速復習(八)SPI通信

文章目錄 前言一、SPI是什么&#xff1f;SPI的硬件電路&#xff1f;SPI發送的時序&#xff1f;二、庫函數二、庫函數示例代碼總結 前言 SPI和IIC通信算是我在大學和面試中用的最多&#xff0c;問的最多的通信協議 IIC問到了&#xff0c;一般SPI也一定會問到。 SPI相對于IIC多了…

heml之樣式布局技巧博客

在編寫關于 HEML&#xff08;HTML CSS JavaScript&#xff09;的樣式布局技巧博客時&#xff0c;可以涵蓋很多不同的方面 1. 響應式設計 介紹媒體查詢&#xff08;Media Queries&#xff09;以及如何根據設備尺寸調整樣式。使用百分比寬度、視口單位&#xff08;vw、vh&…

含并行連結的網絡

一、Inception塊 1、白色部分通過降低通道數來控制模型復雜度&#xff0c;藍色做特征提取工作&#xff0c;每條路上的通道數可能不同&#xff0c;大概我們會把更重要的那部分特征分配更多的通道數 2、Inception只改變高寬&#xff0c;不改變通道數 3、在不同的情況下需要選擇…

pin是什么?管腳

1.平面分割 1)啟動Allegro PCB design &#xff0c;打開.brd。深色部分屬于一個net&#xff0c;要做一下修改&#xff0c;將上面的pin包含進shape中&#xff0c;i進行a&#xff0c;b兩步操作&#xff0c;刪除以前存在的Anti Etch下的line&#xff0c;再將其進行補齊 使它保住上…

【幀中繼實驗-ensp】

實驗要求 在R1上開啟一個點對點子接口&#xff0c;用于連接 R1–R2&#xff0c;兩端IP地址為12.1.1.x 。開啟一個多點子接口 &#xff0c;用于連接R1–R3&#xff0c;R4&#xff0c;兩段IP地址為134.1.1.x。 具體DLCI分配和映射關系如下&#xff1a; R1 102 R2 201—動態映射…

python獲取海康威視所有攝像頭的OSD通道名稱

讀取IP地址的txt文檔 根據IP地址獲取監控攝像頭的OSD通道名稱 # codingutf-8 import os import time import requests from requests.auth import HTTPBasicAuth, HTTPDigestAuth import xml.etree.ElementTree as ET #注意&#xff1a;和ip.txt放在一個文件夾&#xff0c;會生…

論文略讀:Can Long-Context Language Models Subsume Retrieval, RAG, SQL, and More?

202406 arxiv 1 intro 傳統上&#xff0c;復雜的AI任務需要多個專門系統協作完成。 這類系統通常需要獨立的模塊來進行信息檢索、問答和數據庫查詢等任務大模型時代&#xff0c;尤其是上下文語言模型&#xff08;LCLM&#xff09;時代&#xff0c;上述問題可以“一體化”完成…

【程序大俠傳】大表分庫分表切換數據庫類型導致pagehelper生成sql語法報錯

前序 代碼劍宗等級分明&#xff0c;其門下弟子等級劃分如下&#xff1a; 入門弟子 剛剛拜入代碼劍宗&#xff0c;學習基礎編程語言和基本劍法&#xff08;語法和基礎概念&#xff09;。他們的代碼還顯得生澀&#xff0c;但已經開始展現出對優雅代碼的追求。 江湖小蝦 初步掌握…

《python程序語言設計》2018版第5章第53題利用turtle繪制sin和cos函數 sin藍色,cos紅色和52題類似

直接上題和代碼 5.53 &#xff08;Turtle&#xff1a;繪制sin和cos函數&#xff09;編寫程序繪制藍色的sin函數和紅色的cos函數。 代碼和結果 turtle.speed(10) turtle.penup() # sin 用藍色 turtle.color("blue") #這道題和上道題一樣&#xff0c;先把turtle放到起始…

架構面試-數據庫優化問題

文章目錄 如何定位慢查詢1. 開啟慢查詢日志MySQL示例&#xff1a;PostgreSQL示例&#xff1a; 2. 分析慢查詢日志MySQL&#xff1a;PostgreSQL&#xff1a; 3. 使用數據庫性能工具MySQL&#xff1a;PostgreSQL&#xff1a; 4. 優化慢查詢5. 監控與持續優化 sql語句執行的很慢&a…

從0到1制作單只鰲蝦運動軌跡追蹤軟件

前言 需要準備windows10操作系統&#xff0c;python3.11.9&#xff0c;cuDNN8.9.2.26&#xff0c;CUDA11.8&#xff0c;paddleDetection2.7 流程&#xff1a; 準備數據集-澳洲鰲蝦VOC數據集 基于RT-DETR目標檢測模型訓練導出onnx模型進行python部署平滑濾波處理視頻幀保留的…

簡介時間復雜度

好了&#xff0c;今天我們來了解一下&#xff0c;我們在做練習題中常出現的一個名詞。時間復雜度。我相信大家如果有在練習過題目的話。對這個名詞應該都不陌生吧。但是可能很少的去思考它是干什么的代表的什么意思。反正我以前練習的時候就是這樣。我只知道有這么一個名詞在題…

【全面講解下iPhone新機官網驗機流程】

&#x1f3a5;博主&#xff1a;程序員不想YY啊 &#x1f4ab;CSDN優質創作者&#xff0c;CSDN實力新星&#xff0c;CSDN博客專家 &#x1f917;點贊&#x1f388;收藏?再看&#x1f4ab;養成習慣 ?希望本文對您有所裨益&#xff0c;如有不足之處&#xff0c;歡迎在評論區提出…

MybatisPlus實現插入/修改數據自動設置時間

引言 插入數據時自動設置當前時間&#xff0c;更新數據時自動修改日期為修改時的日期。 使用MybatisPlus的擴展接口MetaObjectHandler 步驟 實現接口 實體類加注解 實現接口 package com.example.vueelementson.common;import com.baomidou.mybatisplus.core.handlers.M…

C++ 模版進階

目錄 前言 1. 非類型模版參數 1.1 概念與講解 1.2 array容器 2. 模版的特化 2.1 概念 2.2 函數模版特化 2.3 類模版特化 2.3.1 全特化 2.3.2 偏特化 3.模版的編譯分離 3.1 什么是分離編譯 3.2 模版的分離編譯 3.3 解決方法 4. 模版總結 總結 前言 本篇文章主要…

包/final/權限修飾符/代碼塊

包package 1、包的作用 包用來管理不同的類。 2、包名 包名要全部小寫&#xff0c;一般是域名反寫&#xff0c;如com.liu。在Java中&#xff0c;java解釋器會將package中的.解釋為目錄分隔符/&#xff0c;也就是說該文件的目錄結構為&#xff1a;...com/liu/... 3、全類名…

1.pwn的匯編基礎(提及第一個溢出:整數溢出)

匯編掌握程度 能看懂就行&#xff0c;絕大多數情況不需要真正的編程(shellcode題除外) 其實有時候也不需要讀匯編&#xff0c;ida F5 通常都是分析gadget&#xff0c;知道怎么用&#xff0c; 調試程序也不需要分析每一條匯編指令&#xff0c;單步執行然后查看寄存器狀態即可 但…

Text2SQL提問中包括時間的實戰方案

大家好,我是herosunly。985院校碩士畢業,現擔任算法研究員一職,熱衷于機器學習算法研究與應用。曾獲得阿里云天池比賽第一名,CCF比賽第二名,科大訊飛比賽第三名。擁有多項發明專利。對機器學習和深度學習擁有自己獨到的見解。曾經輔導過若干個非計算機專業的學生進入到算法…

實現多數相加,但是傳的參不固定

一、情景 一般實現的加法和減法等簡單的相加減函數的話。一般都是寫好固定傳的參數。比如&#xff1a; function add(a,b) {return a b;} 這是固定的傳入倆個&#xff0c;如果是三個呢&#xff0c;有人說當然好辦&#xff01; 這樣寫不就行了&#xff01; function add(a…