FAQ
なんか問題がある?心配しないで、答えは全部ここにいる。
全サイト検索

特定のフィールドの最終更新日を記録するには?

Ragicには、レコードの変更日を記録するためのデフォルト値機能があります。

単一のフィールドの最終更新日だけを記録する必要がある場合は、プログラムを使用してニーズを達成できます。

以下の手順に従って設定してください:

*この方法は独立フィールドにのみ適用され、子テーブルフィールドには適用されないことに注意してください。

ステップ1:JavaScriptワークフローエディタを開く

任意のシート名を右クリックし、「JavaScriptワークフロー」を選択します:

ステップ2:Global Workflowに切り替える

ステップ3:以下のコードをコピー&ペーストして保存する

function setLastModifiedOnField(pathSheet, observeField, recordField) {
    if ((param.isCreateNew() == false && param.getOldValue(observeField) !== param.getNewValue(observeField)) || (param.isCreateNew() && param.getNewValue(observeField) !== null)) {
        var today = new Date(new Date().getTime() + account.getTimeZoneOffset());
        function pad2(n) { return n < 10 ? '0' + n : n }
        var fmtValue = today.getFullYear() + "/" +
            pad2(today.getMonth() + 1) + "/" +
            pad2(today.getDate()) + " " +
            pad2(today.getHours()) + ":" +
            pad2(today.getMinutes()) + ":" +
            pad2(today.getSeconds());
        
        var query = db.getAPIQuery(pathSheet);
    	query.addFetchDomains(recordField);
        var entry = query.getAPIEntry(response.getRootNodeId());
        entry.setFieldValue(recordField, fmtValue);
        entry.save();
    }
}

ステップ4:該当フィールドがあるシートの"Post-workflow"に切り替える。

Post-workflow

シートのパスが以下のような場合

https://www.ragic.com/accountname/tabname/1

それなら、ここに記入してください:

setLastModifiedOnField("/tabname/1", 特定フィールドID, 記録日付フィールドID);

編集した内容は、退出前に必ず保存してください。

記録された時間は、「アカウント設定(会社設定)」の時間帯に従って調整されます。

*保存時に:TypeError: null has no such function "addFetchDomains" in at line number 25のようなエラーが出る場合は、「/tabname/1」が間違っている可能性があるので、こちら側に間違いがないか確認する。

**新しいエントリーを追加する際、特定のフィールドが空白値であれば、 保存した後、記録日付フィールドに修正日も生成される。変更を加えたときだけ作動させたい場合は、Post-workflowで上記の手順を以下のように調整すればよい。

if(param.getOldValue(特定欄位ID) !== null || param.getNewValue(特定フィールドID) !== "" ){
       setLastModifiedOnField("/tabname/1",  特定フィールドID,  記録日付フィールドID);
}

一番上に戻る

    無料でRagicを始める

    Googleアカウントに登録