Triggers: Difference between revisions

2,168 bytes removed ,  6 October 2016
m
no edit summary
mNo edit summary
mNo edit summary
Line 365: Line 365:
</source>
</source>


==Взаимодействие с системой==
== Interaction with the System ==
===Глобальные Функции===
=== Global Methods ===
====message(text)====
==== message(text) ====
:Отобразить пользователю небольшое всплывающее сообщение.
:Shows the user a brief notifiction
:Параметры: text - текст для отображения.
:Argument: text &mdash; Text of the notification


====cancel()====
==== cancel() ====
:Отменить операцию вызвавшую данный триггер. Многие действия возникают при каких либо операциях с записями (создание, модификация, удаление и .д.). Если фаза действия предшествует операции, то возможно отменить эту операцию с помощью данной функции. Например, применять эту функцию можно при проверки корректности вводимых данных перед сохранением записи.
: Stop the system operation that caused the event. Many triggers can be a result of entry manipulation (create, update, delete, etc). The cancel() function can be used during the phases that precede the system operation. For example, this function can be used during data validation before the entry is saved.


====system()====
==== system() ====
:Получить информацию о системе.
: Obtain information about the system
:Результат: Объект System с информацией о системе.
:Result: System object


====log(text)====
==== log(text) ====
:Вывести строку в лог-файл выполнения скрипта. Функция будет полезна для отладки скриптов.
: Write a line to the log file
:Параметры: Text - текст который будет выведен в лог.
: Argument: Text - text to be written to the log


====guid()====
==== guid() ====
:Генерация случайного текстового идентификатора.
: Generates random text identifier
:Результат: Случайная строка-идентификатор.
: Result: Random string identifier


====intent(action)====
==== intent(action) ====
:Создать объект обмена сообщениями - Intent. С помощью данного объекта можно передать данные другому приложению, или заставить другое приложение выполнить какое-либо действие.
: Create an information exchange object &mdash; Intent. This function can send a request for action to another application.
:Функция доступна только для Android.
: This function is available only on Android.
:Параметры: action - Строка, определяющая стандартное действие, которое требуется выполнить (например, view (просмотр) или pick (выбор)).
: Argument: action &mdash; Line that defines standard action (eg, view, pick)
:Результат: Intent - объект обмена сообщениями.
: Result: Intent &mdash; Information exchange object
:После получения объекта требуется добавить в него отправляемые данные и вызывать метод send().
: After the object is received, the data will be added to it, and then sent via send().
:В Android есть множество встроенных  действий, список и описание которых вы можете найти [https://developer.android.com/reference/android/content/Intent.html здесь].
: Android has many built-in actions. A list of these actions can be found at [https://developer.android.com/reference/android/content/Intent.html here].


=== Object System ===
=== Object System ===
Данный объект содержит информацию о системе.
This object contains information about the system.
====Свойства====
 
;os : имя операционной системы на которой запущен скрипт.
==== Properties ====
;os : Name of the operating system executing the script


=== Object Intent ===
=== Object Intent ===
Объект обмена сообщениями. Объект создается с помощью вызова глобальной функции intent().
Information exchange object. This object is created by using the global method intent().
 
==== Methods ====
==== Methods ====
=====data(uri)=====
===== data(uri) =====
:Установить URI ссылающийся на данные.
: Define URI to reference the data
:Параметры:uri - URI, ссылающийся на данные, с которыми будет выполняться действие. Это может быть идентификатор контакта, путь к файлу, номер телефона и т.д.  
: Argument:uri - URI referencing data to which the action will be applied. It can be contact ID, path to the file, phone number, etc.
=====mimeType(mime)=====
 
:Установить MIME тип данных.
===== mimeType(mime) =====
:Параметры:mime - MIME тип данных с которыми будет выполняться действие.
: Define MIME type of the data
=====extra(key, value)=====
: Argument:mime &mdash; MIME type of the data on which the operation will be performed
:Установить дополнительные данные в виде ключ-значение, которые необходимы для выполнения запрошенного действия. Точно так же, как некоторые действия используют определенные виды URI данных, некоторые действия используют определенные дополнительные данные.
 
:Параметры:
===== extra(key, value) =====
=====extraLong(key, value)=====
: Define additional data as key-value pairs, as necessary for execution of the required action. Similar to how URI data can be required for certain actions, other actions may require extra data in this format.
:Установить дополнительные данные в виде ключ-значение, где значение должно быть типом Long.
: Arguments: key and value
 
===== extraLong(key, value) =====
: Define additional data as key-value pairs, where data type needs to be Long
 
=====send()=====
=====send()=====
:Отправить сообщение.
: Send a message
 
=== Examples ===
==== Script to open a screen for dialing a number ====
Suppose a library contains a field called Phone containing a phone number.


===Примеры===
====Скрипт открывающий окно набора номера====
В библиотеке должно быть поле Phone, содержащие номер телефона.
<source lang="javascript" line>
<source lang="javascript" line>
i = intent("android.intent.action.DIAL")
i = intent("android.intent.action.DIAL") // Create information exchange object Intent with the action of DIAL
i.data("tel:"+entry().field("Phone"))
i.data("tel:"+entry().field("Phone"))     // The data will be the phone number obtained from the field Phone
i.send()
i.send()                                 // Send the message
</source>
</source>
# Создаем объект обмена сообщениями Intent и указываем действие которое откроет окно набора номера - android.intent.action.DIAL.
# В качестве данных требуется указать номер телефона в формате ''tel:номер''. Номер телефона берем из поля записи Phone.
# Отправляем сообщение.


====Скрипт открывающий приложение для отправки смс-сообщения====
==== Script to open app to send SMS message ====
Номер телефона будет определяться полем записи - Phone, а текст сообщения составляется из полей ContactName и Notes.
The phone number will be obtained from the field Phone and the text of the message will be obtained from the fields ContactName and Notes.
 
<source lang="javascript" line>
<source lang="javascript" line>
msg = "Dear, " + entry().field("ContactName") + "\n" + entry().field("Notes")
msg = "Dear, " + entry().field("ContactName") + "\n" + entry().field("Notes") // Form the message from ContactName & Notes
i = intent("android.intent.action.SENDTO")
i = intent("android.intent.action.SENDTO")                                   // Create intent object to open the app for sending
i.data("smsto:"+entry().field("Phone"))
i.data("smsto:"+entry().field("Phone"))                                       // Provide the phone number in format smsto:number
i.extra("sms_body" , msg)
i.extra("sms_body" , msg)                                                     // Insert the text of the message to sms_body
i.send()
i.send()                                                                     // Send the message
</source>
</source>
# Составляем сообщение из значений полей ContactName и Notes
# Составляем сообщение из значений полей ContactName и Notes
# Создаем объект обмена сообщениями Intent и указываем действие которое откроет приложение для отправки сообщений- android.intent.action.SENDTO.
# Создаем объект обмена сообщениями Intent и указываем действие которое откроет приложение для отправки сообщений- android.intent.action.SENDTO.