# 倉儲巨集函數

簡介

**一般使用者可在表單中利用** [**字典角色**](https://cgmh-kj.gitbook.io/strucmed/zi-dian-xuan-xiang-dictionary-option#zi-dian-jue-se-xuan-ze)**，指定寫入讀取來存取倉**儲資料。進階使用者則可透過倉儲查詢函數，利用 req 參數映射來源字典，以及目標 ID 項目，進行比對就醫號(opdno)、IOT名稱(recType)等不同維度，以及時間區間的倉儲資料查詢。

## LOOKUPDEFAULTSETTING&#x20;

* 設定表單預設查詢倉儲條件。於 **表單開啟時** 自動查詢帶入倉儲資料。
* 相對於字典設定讀寫動作時，只能將字典資料帶入同字典欄位的限制，利用本函數設定映射條件，可將指定字典資料帶入指定ID項目中，不限字典名稱。具體步驟如下：

#### 格式

* req: 映射條件 (必要)，來源字典 : 帶入目標 ID
* condition (option): 比對表單號，收件號，資料型態等條件，預設為表單的病歷號以及收件號。如不指定，請將該項 contion 指定為 null。
* duration (option): 資料製作時間區間，預設為 **7天**，最多可查詢 **30 天內** 資料。

```excel-formula
// Example code
LOOKUPDEFAULTSETTING([req],{condition},{duration})
1. [req]: 映射條件 "dicName1:fieldID1; dicName2:fieldID2;..."
2. {condition}: "opdno:null; sheetid:AcerMed; recType:VeriSeeDr; recNo:0025302"（可選）
3. {duration}: 指定天數，例如30, 0.5（預設為 7 天，最多可查詢 30 天內資料) (可選）

// [] 表示必填項，{} 表示選填項。
```

## **LOOKUPDW**&#x20;

* 設定表單按須查詢倉儲條件，於 **巨集執行時** 自動查詢帶入資料。
* 相對於 LOOKUPDEFAULTSETTING 只能在表單開啟的時候自動應對查詢倉儲資料，這個功能可依照需求，在點選巨集按鈕的時候，依照 req 映射條件，將指定字典資料帶入指定ID項目中。參數格式如下：

#### 格式

* req: 映射條件 (必要)，來源字典 : 帶入目標 ID
* condition (option): 比對表單號，收件號，資料型態等條件，預設為表單的病歷號以及收件號。如不指定，請將該項 contion 指定為 null。
* duration (option): 資料製作時間區間，預設為 **7天**，最多可查詢 **30 天內** 資料。

<pre class="language-excel-formula"><code class="lang-excel-formula"><strong>// Example code
</strong>LOOKUPDW([req],{condition},{duration})
1. [req]: 映射條件 "dicName1:fieldID1; dicName2:fieldID2;..."
2. {condition}: "opdno:null; sheetid:AcerMed; recType:VeriSeeDr; recNo:0025302"（可選）
3. {duration}: 指定天數，例如30, 0.5（預設為 7天，最多可查詢 30 天內 資料）（可選）

// [] 表示必填項，{} 表示選填項。
</code></pre>

#### **範例**

使用巨集，利用 LOOKUPDW 函數，按須帶入表單資料。如以下函數設定，會將表單 'd08240d3-14b0-40b7-b21b-68c0292797b7' 內的 comment 字典內容，帶入表單中的第 17 個控制項。更多應對項目，可利用 ; 區隔。

<figure><img src="https://1792893123-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdwFoogk3W80yJlNR060h%2Fuploads%2Fr8Bg1gQmDHykaMiTxyJX%2FLOOKUPDW.jpg?alt=media&#x26;token=cec66c26-310c-487a-b44e-751cfe8de397" alt=""><figcaption><p>LOOKUPDW 函數設定</p></figcaption></figure>

## LOOKUPIOT&#x20;

設定IOT查詢條件，於 **巨集執行時** 自動查詢帶入資料。

#### 格式

* **recType:** 資料子集名稱，或是廠商設備名稱。
* recNo: 資料子集或是廠商設備產生資料的序號。
* **req:** 映射條件 (必要)，來源字典 : 帶入目標 ID。

```excel-formula
// Example code
LOOKUPIOT([sheetid], [recType], [recNo], [req]) 
1. [sheetid]: (廠商/IOT 名稱)
1. [recType]: (資料子集名稱)
2. [recNo]: (廠商IOT資料序號 /資料子集序號)
3. [req]: 映射條件 "dicName1:fieldID1; dicName2:fieldID2; dicName3:fieldID3;..."

// [] 表示必填項，{} 表示選填項。
```

#### **範例**

在執行 26 號按鈕巨集的時候，會利用 LOOKUPIOT 設定查詢條件 sheetid: GMS, recNo (A25 欄位內資料)，將 CalAct 資料帶入欄位 29....。另外執行 CUSTOMFUNC，檢查藥物是否正確，然後設定 17, 44, 31 欄位資料。

<figure><img src="https://1792893123-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdwFoogk3W80yJlNR060h%2Fuploads%2FMFiZQtUh0IIrqr0fqlGo%2FLOOKUPIOT.jpg?alt=media&#x26;token=b40babe7-9f5d-4c6c-8f0d-4b5a9c7b3dd1" alt=""><figcaption><p>LOOKUPIOT 函數設定</p></figcaption></figure>
