D HCL Domino 日報
所有文章 搜尋 類別地圖 關於
文 A
  • LotusScript Tutorial
    LotusScript 的文件鎖定:Lock、LockProvisional,與每個人都忘記的前置條件

    Domino 能鎖定一份文件、讓兩個使用者不會同時編輯它 — NotesDocument 上的 Lock、LockProvisional、UnLock、LockHolders。但這些方法會拋錯,除非資料庫啟用了鎖定(IsDocumentLockingEnabled)而且設好了 master lock server;persistent 與 provisional 鎖取決於那台伺服器是否可達;而鎖在 web 應用裡根本不能用。本文說明 API 與每個前置條件。

    2026.07.16 →
  • LotusScript Tutorial
    NotesDocument.ComputeWithForm:用程式跑表單驗證 — 以及為什麼它擋不住你的 Save

    ComputeWithForm 把表單的預設值、輸入轉換、輸入驗證公式跑在後端文件上 — 相當於使用者在表單上按存檔時觸發的驗證。但三件事會讓人意外:它回一個它從不強制執行的通過/失敗旗標(它照樣讓你把無效文件存進去)、輸入轉換公式可能改寫你的欄位值、而且除非你釘住 Form item、它會悄悄退回預設表單。

    2026.07.15 →
  • LotusScript Tutorial
    LotusScript 的回應文件:MakeResponse、ParentDocumentUNID,與遍歷整棵串

    Domino 的父子文件階層 — 主文件、回應、回應之回應 — 用幾個 NotesDocument 成員就能建立與遍歷。本文說明 MakeResponse(以及你必須在它之後呼叫的 Save)、用 ParentDocumentUNID 往上走到父文件、以及 Responses 屬性那個關鍵限制:它只回傳直接子文件 — 所以完整的樹需要遞迴。

    2026.07.14 →
  • LotusScript Tutorial
    NotesDateTime 與時區:GMTTime、ConvertToZone,與那個絆倒每個人的正負號慣例

    一個 NotesDateTime 是單一個瞬間,你可以用三種方式讀出來 —— GMT、機器的本地時間、以及轉換後的時區。本文說明 GMTTime vs LocalTime vs ZoneTime、TimeZone 整數那個反直覺的 Notes 正負號慣例(正值代表 GMT 以西)、ConvertToZone 與它的 DST 陷阱、用 LSGMTTime 做原生日期運算,以及為什麼 GMTTime 是唯一能跨機器安全儲存與比較的形式。

    2026.07.13 →
  • LotusScript Security +1
    用 LotusScript 簽章與加密文件:Sign、Encrypt,與 Save 的順序規則

    Domino 能簽章一份文件以證明是誰寫的、能加密 item 讓只有持金鑰的人讀得到 —— 兩者都能用 LotusScript 做、也都有陷阱。本文說明 NotesDocument.Sign 與它在伺服器 agent 需要的權限、Encrypt 那個必要的「標記 item / Encrypt / Save」順序、逐 item 選擇性加密,以及為什麼 EncryptOnSend 跟「加密儲存的副本」是完全兩回事。

    2026.07.12 →
  • LotusScript Tutorial
    Profile documents:Domino 的快取式設定儲存區,以及那個快取為什麼會咬人

    profile document 是一份隱藏、在 view 裡看不到、以名稱(與可選的使用者)為鍵的文件 —— 很適合放應用設定與個人偏好,而且因為有快取所以很快。本文說明 GetProfileDocument、IsProfile / NameOfProfile / Key 屬性、透過 unique key 做個人化 profile,以及快取造成的陷阱:另一個程序的寫入可能對你已開啟的 session 看不見,而且沒有 refresh API 能強制重讀。

    2026.07.11 →
  • LotusScript Security +1
    用程式做 Readers 與 Authors 欄位:靠一個 NotesItem 旗標設定的文件層級安全

    Domino 的文件層級存取控制不是什麼特殊 API —— 它就是一個帶旗標的普通 item。本文說明怎麼在 LotusScript 用 ReplaceItemValue 加上 NotesItem.IsReaders / IsAuthors 建立 Readers 與 Authors 欄位、安全模型(沒有 Readers item = 所有人可見;有 Readers item = 只有列出的人)、以及鎖死陷阱:把自己和 agent 漏在清單外,你會把一份文件對所有人藏起來,包括產生它的那段程式。

    2026.07.10 →
  • LotusScript Domino Designer +1
    多層分類 view 裡的 GetAllDocumentsByKey:為什麼你的 count 悄悄就錯了

    在單層分類 view,GetAllDocumentsByKey('Belgien', True) 正確回傳那個分類下的 2 筆文件。但加上第二層分類 — Form 再 Country — GetAllDocumentsByKey('Customer', True) 回傳 3,不是全部。它停在第一個子分類就不走了。本文記錄這個實測驗證過的陷阱與繞法。

    2026.07.09 →
  • LotusScript Tutorial
    NotesStream 與文字編碼:字元集、BOM,與位元組 vs 字元的陷阱

    NotesStream 讀寫檔案,但只要你的文字不是純 ASCII,三件事就會咬人:你用哪個字元集開的、有沒有寫進 BOM,以及 Position 是位元組位移、而且「不支援多位元組字元」。本文說明 Open 的字元集參數、EOL 常數、WriteText 到底何時寫 BOM(UTF-16 會、UTF-8 不會),以及為什麼 Bytes 永遠不等於 Len()。

    2026.07.08 →
‹ 上一頁1…789…17下一頁 ›
由 Astro 與 GitHub Actions 驅動