如何通過外掛程式攜帶第二個單據體到下游單據

2021-07-12 03:43:40 字數 2288 閱讀 6891

背景說明:

k/3 cloud 不支援在下推時,同時攜帶兩個單據體的資料;

因此,需要在轉換規則上,配置好攜帶主單據體;

而輔助單據體的資料,需要在外掛程式中自行攜帶;

案例說明:

本案例,設計了兩張單據a和b,都有兩個單據體,主單據體為fentity,第二單據體為fentity2;

主單據體的字段,已經配置的單據轉換規則 - 字段對映關係;

而第二單據體,需要通過外掛程式攜帶;

第二單據體僅有乙個文字欄位f_jd_text;

特別說明:

本案例不適用於同一張源單同時下推為多張目標單的情況:

這樣情況是分單了,而第二單據體,無法對應拆分;

示例**:

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.componentmodel;

using kingdee.bos;

using kingdee.bos.util;

using kingdee.bos.core;

using kingdee.bos.core.metadata;

using kingdee.bos.core.metadata.convertelement;

using kingdee.bos.core.metadata.convertelement.plugin;

using kingdee.bos.core.metadata.convertelement.plugin.args;

using kingdee.bos.core.metadata.entityelement;

using kingdee.bos.core.metadata.formelement;

using kingdee.bos.core.sqlbuilder;

using kingdee.bos.orm.dataentity;

using kingdee.bos.contracts;

namespace jdsample.serviceplugin.billconvert

if (linkentity == null)

// 獲取生成的全部下游單據

extendeddataentity billdataentitys = e.targetextendeddataentities.findbyentitykey("fbillhead");

// 對下游單據,逐張單據進行處理

foreach (var item in billdataentitys)}}

if (srcbillids.count == 0)

// 開始載入源單第二單據體上的字段

// 確定需要載入的源單字段(僅載入需要攜帶的字段)

listselector = new list();

selector.add(new selectoriteminfo("f_jd_text"));

// todo: 繼續新增其他需要攜帶的字段,示例**略

// 設定過濾條件

string filter = string.format(" in () ",

e.sourcebusinessinfo.getform().pkfieldname,

string.join(",", srcbillids));

oqlfilter filterobj = oqlfilter.createheadentityfilter(filter);

// 讀取源單

iviewservice viewservice = servicehelper.getservice();

var srcbillobjs = viewservice.load(this.context,

e.sourcebusinessinfo.getform().id,

selector,

filterobj);

// 開始把源單單據體資料,填寫到目標單上

dynamicobjectcollection secondentryrows =

secondentity.dynamicproperty.getvalue(dataobject) as dynamicobjectcollection;

secondentryrows.clear(); // 刪除空行

foreach (var srcbillobj in srcbillobjs)}}

}}

}

如何新增第二個git 賬號

一般出來工作了都會至少有兩個賬號,乙個是自己在github的 乙個是公司gitlab的,我我們都想同時使用,那我們如何新增第二個 git 賬號呢?以下操作步驟僅供參考的哈 前置條件 在windows 系統下已安裝好git 1 在c users ssh檔案下空白處右鍵,選擇開啟 git bash he...

程式猿的第二個坎如何度過

本人幾年就是乙個工作快5年的程式猿,在這個即將到來的五年的尾聲,我被選擇了開啟新的找工作的旅程。本以為工作了五年,招個滿意的工作問題不大,可是你永遠不知道運氣和能力哪個先來。有的人,還買怎麼找就知道了比較滿意的工作了,而我努力回想曾經的技術和基礎知識的死記硬背。結果還是以失敗而告終啊,也許這是為了讓...

excel姓名第二個字如何用星號代替

方法 首先開啟需要進行操作的excel 選中指定單元格 然後在單元格中輸入公式 replace 設成星號的單元格,從第幾個字開始設成星號,替換多少個字元,最後按下鍵盤上的 回車鍵 即可。本教程操作環境 windows7系統 wps office2019版 dell g3電腦。開啟需要進行操作的exc...