Используйте ссылки на поля, литералы, операторы и функции для создания формул для вычисляемых полей в Adobe Acrobat Sign.
Введите формулы в свойстве Formula (Формула) поля, для которого задан параметр Value type > Calculated (Тип значения > Вычисляемое). Этот документ описывает синтаксис выражений, доступный для создания таких формул.
Сведения о настройке самого поля см. в разделе Создание вычисляемого поля.
Создание формул
Формула может содержать один или несколько из следующих элементов:
| Элемент | Используйте для | Пример |
|---|---|---|
| Ссылка на поле | Использовать значение из другого поля | price * quantity |
| Литерал | Включите фиксированное число, текстовое значение или дату | итого * 0,10 |
| Оператор | Выполнение арифметических операций, сравнения или операций с текстом | промежуточный итог + налог |
| Функция | Выполнение предопределенного вычисления или логической операции | max(value1, value2) |
Формулы также могут ссылаться на другие вычисляемые поля.
Ссылка на поля по имени
Используйте имя поля, чтобы ссылаться на его значение в формуле.
Например:
price * quantity
использует значения полей с именами price и quantity.
Если имя поля содержит пробелы, заключите полное имя в квадратные скобки:
[Unit price] * quantity
Используйте понятные уникальные имена полей, чтобы формулы оставались понятными при изменении формы.
Требования к именам полей см. в разделе Свойства полей формы.
Используйте буквенные значения
Литерал — это фиксированное значение, включенное непосредственно в формулу.
Примеры:
- Числа: 10
- Текст: "Утверждено"
- Даты, используемые поддерживаемыми функциями дат
Заключайте текстовые строки в одинарные или двойные кавычки.
Например:
"Утверждено"
Литеральные значения можно комбинировать с полями, операторами и функциями.
Поддерживаемые операторы
Используйте операторы для выполнения вычислений, объединения текста или сравнения значений.
| Оператор | Операция |
|---|---|
| + | Добавить |
| - | Вычитание |
| / | Разделить |
| * | Умножение |
| & | Объединить текстовые строки |
| = | Равно |
| != | Не равно |
| < | Знак меньше |
| <= | Меньше или равно |
| > | Знак больше |
| >= | Больше или равно |
| % | Вернуть остаток от деления |
| ^ | Возвести значение в степень |
Операторы сравнения возвращают результат «истина» или «ложь» и могут использоваться внутри логических функций.
Например:
итого >= 1000
проверяет, что значение поля total не меньше 1000.
Математические функции
| Функция | Результат |
|---|---|
| abs(number1) | Возвращает абсолютное значение числа. |
| roundUp(number1) | Округляет число в большую сторону. |
| roundDown(number1) | Округляет число в меньшую сторону. |
| round(number1) | Округляет число до ближайшего целого. |
| min(number1, number2) | Возвращает меньшее из двух чисел. |
| max(number1, number2) | Возвращает большее из двух чисел. |
Пример
max(Amount1, Amount2)
возвращает большее из двух значений полей.
Функции даты
| Функция | Результат |
|---|---|
| datePart(part, date) | Возвращает указанную часть даты в виде целого числа. |
| dateAdd(part, date, addition) | Добавляет к дате указанное количество единиц даты. Используйте отрицательное значение, чтобы вычесть. |
| dateDiff(part, date1, date2) | Возвращает разницу между двумя датами, используя указанную часть даты. |
| daysIn(part, date) | Возвращает количество дней в указанной части даты. |
| date(string) | Преобразует текстовое значение, представляющее дату, в значение даты, которое можно использовать в других функциях. |
| now() | Возвращает дату и время вычисления формулы. |
Значения частей даты
Используйте эти значения для аргумента part в поддерживаемых функциях даты:
| Значение | Часть даты или времени |
|---|---|
| y | Год |
| q | Квартал |
| m | Месяц |
| d | День |
| h | Час |
| n | Минута |
| s | Секунда |
Пример
dateAdd("d", StartDate, 30)
добавляет 30 дней к значению поля StartDate.
Используйте отрицательное число, чтобы вычислить более раннюю дату:
dateAdd("d", StartDate, -7)
Логические функции
Используйте логические функции, когда вычисляемое значение зависит от одного или нескольких условий.
| Функция | Результат |
|---|---|
| if(logical_test, value_if_true, value_if_false) | Возвращает одно значение, если условие истинно, и другое, если оно ложно. |
| and(logical1, logical2, ...) | Возвращает true, только если все указанные условия истинны. |
| or(logical1, logical2, ...) | Возвращает true, когда хотя бы одно из указанных условий истинно. |
| not(logical) | Обращает результат истинно или ложно. |
| lookup(sourceField, values, default_value) | Возвращает значение, связанное с полем источника, или значение по умолчанию, если совпадение не найдено. |
Используйте if, чтобы выбрать между результатами
Например:
if(Total >= 1000, "Требуется согласование", "Утверждено")
возвращает одно текстовое значение, если Total не менее 1000, и другое — если нет.
Результаты для true и false также могут содержать выражения.
Объединение логических тестов (and, or, not)
Используйте and , если все условия должны быть истинными:
and(Age >= 18, Consent = "Да")
Используйте or , если хотя бы одно условие может быть истинным:
or(State = "CA", State = "OR")
Используйте not , если нужно получить значение, противоположное условию:
not(Status = "Закрыто")
Сопоставление значений с помощью поиска
Используйте lookup , если исходное значение источника должно возвращать соответствующее значение.
Например:
lookup(State, "CA=California,UT=Utah,WA=Washington", "Other")
возвращает сопоставленное название штата, если сопоставление найдено, и «Другое», если нет.
Это полезно, если значение источника выбирается из предопределенного набора вариантов, например из поля с раскрывающимся списком или переключателем.
Примеры формул
Рассчитать сумму
quantity * [цена за единицу]
Умножает количество на цену за единицу.
Складывает несколько значений
subtotal + tax + shipping
Складывает значения из трех полей.
Рассчитать процент
subtotal * taxRate
Умножает одно поле на ставку, сохраненную в другом поле.
Возвращает значение при выполнении условия
if(quantity >= 10, [Unit price] * 0.9, [Unit price])
возвращает значение со скидкой, когда количество достигает заданного порога.
Рассчитать будущую дату
dateAdd("m", StartDate, 12)
возвращает дату, которая на 12 месяцев позже StartDate.
Объединить текст
RecipientName & " - " & Company
объединяет значения полей и текстовые литералы в единый результат.
Создавайте формулы, которые проще поддерживать
Используйте описательные имена полей и делайте связанные вычисления максимально простыми, насколько это позволяет форма.
При проверке формулы убедитесь в следующем:
- Все указанные поля существуют.
- Имена полей совпадают с именами, использованными в формуле.
- Поля, содержащие пробелы, заключены в квадратные скобки.
- Текстовые литералы заключены в кавычки.
- Функции содержат необходимые аргументы.
- Вычисляемое поле возвращает ожидаемое значение для предполагаемых входных данных получателя.
Сведения о настройке вычисляемого поля и форматировании результатов типа Number см. в разделе Создать вычисляемое поле.
Оптимизируйте свою работу с помощью Acrobat Sign
Легко и быстро управляйте документами и подписывайте их в Интернете.