Triggers: Difference between revisions

Jump to navigation Jump to search
2,811 bytes added ,  12 September 2016
no edit summary
No edit summary
Line 145: Line 145:


===Примеры===
===Примеры===
====Установка значений по умолчанию====
Если стандартными средствами невозможно установить для поля требуемое значение по умолчанию то это можно сделать через скрипт.


=====Предыдущее значение из другого поля=====
Есть библиотека содержащая записи о дневном пробег автомобиля, велосипеда или ваших прогулках. В библиотеки есть поле StartingMileage и Mileage. При создании записи требуется в поле StartMileage  заносить данные из поля Mileage предыдущей записи.
<source lang="javascript" line>
var entries = lib().entries();
if (entries.length > 0) {
prevMileage = entries[0].field("Mileage");
entryDefault().set("StartMileage" , prevMileage )
}
</source>
#Получаем текущую библиотеку lib() и список её записей entries()
#Проверяем, что список записей не пустой, иначе прекращаем выполнение скрипта, так как у нас нет предыдущей записи
#Список записей отсортирован от новых к старым, соответственно предыдущая запись находится в начале списка с индексом 0. Получаем значение поля Mileage из предыдущей записи.
#Устанавливаем значение поля Mileage из предыдущей записи как значение по умолчанию для поля StartMileage.
=====Начало следующего дня=====
Если требуется в поле дата/время при создании записи устанавливать начало следующего дня, то это может сделать следующий скрипт.
Для скрипта необходимо подключить JavaScript-библиотеку '''moment.js'''
<source lang="javascript" line>
var m = moment().add(1,'d')
m.hour(8).minute(0)
entryDefault().set("Date" , m.toDate().getTime())
</source>
#С помощью функции moment() библиотеки '''moment.js''' получаем текущее время и прибавляем 1 день.
#Устанавливаем время 8 часов и 0 минут.
#Записываем значение по умолчанию для поля Date.
Скрипт должен быть установлен для действия ''Создание записи'' и фазы ''Открытие формы''.


==Работа с файлами==
==Работа с файлами==

Navigation menu