Як створити умовні формули в Adobe Acrobat

Існує кілька методів, що дозволяють створювати складні розрахунки безпосередньо у файлах PDF, забезпечуючи при цьому їхню чіткість та професійний вигляд. Нижче розглянемо, як можна інтегрувати умовні обчислення у ваші документи.

Умовні обчислення в Acrobat

Раніше ми вже обговорювали основні принципи автоматичних обчислень в Adobe Acrobat. Умовні обчислення дозволяють розширити ці можливості, впроваджуючи більш складні формули у ваші PDF-документи.

Якщо ви знайомі з формулами в Excel або Google Sheets, ви, ймовірно, вже розумієте суть умовних формул. Ці формули, також відомі як логічні, повертають певне значення або запускають обчислення лише за умови виконання заданих критеріїв, наприклад, коли число є від’ємним або коли оцінка перевищує прохідний бал. Серед найбільш розповсюджених умовних формул в Excel є “IF”, а також “SUMIF” та “COUNTIF”. Існує також умовне форматування, коли форматування клітинки змінюється, якщо вона відповідає певній умові.

Використовуючи обчислювальні поля, такі формули можна також застосувати у файлах PDF в Adobe. Ви можете відображати числові або текстові значення, а також виконувати розрахунки, що базуються на результатах іншого поля. Крім того, їх можна комбінувати з іншими обчислюваними полями. Умовні обчислення є особливо корисними для різних типів PDF-форм, зокрема:

  • Фінансові документи: наприклад, якщо від суми основного боргу залежить процентна ставка, можна використовувати умовну формулу для автоматичного відображення відповідної ставки, виходячи з введеної суми.
  • Тести та іспити: можна створити оцінювання, яке автоматично показуватиме результат “склав” або “не склав” залежно від загальної кількості набраних балів.
  • Продажі: у транзакційних формах можна створити поле, що рекомендуватиме певні товари залежно від відповідей покупця на конкретні питання.

Важливо зауважити, що хоча обчислювальні поля можна створити лише в Adobe Acrobat, самі обчислення будуть відображатися в будь-якому засобі для перегляду PDF.

Створення базових умовних операторів

В Adobe Acrobat обчислювальні поля використовують JavaScript як мову програмування. Однак, щоб створити просте умовне поле, не потрібно глибоких знань JavaScript – достатньо дотримуватися базового шаблону.

Розглянемо приклад простої форми замовлення. Наразі вона містить сім полів: кількість для кожного з п’яти продуктів, загальна кількість та загальна вартість.

Умовний оператор в Adobe JavaScript має такий базовий синтаксис:

var ім'я_змінної = this.getField("назва_поля").value;
if( умова_для_змінної) event.value = значення_якщо_істина
else event.value = значення_якщо_хибність

Перший рядок визначає значення, яке буде використовуватись для умовного обчислення. В нашому випадку this.getField дозволяє отримати значення з іншого поля у документі. У другому рядку задається умова. Подібно до Excel, умова визначається як “більше”, “менше” або “дорівнює” певній величині.

Далі визначаються результати. “Значення_якщо_істина” відображається, коли умова виконується. Рядок з else задає “значення_якщо_хибність”, тобто значення, яке з’явиться, якщо умова не виконується.

Для наочності створимо обчислювальне поле “Масове замовлення”. Щоб додати власний обчислювальний скрипт, клацніть правою кнопкою миші на полі в Acrobat та виберіть “Властивості”. У вікні властивостей перейдіть до “Розрахувати > Сценарій користувацького розрахунку > Редагувати”.

Це поле визначатиме, чи є замовлення масовим. Якщо загальна кількість товарів перевищує 20, буде показано “Так”, інакше – “Ні”. Формула для цього виглядає так:

var TQ = this.getField("Загальна кількість").value;
if( TQ > 20) event.value = "Так"
else event.value = "Ні"

Зображення вище показує, що ми встановили змінну “TQ” та отримали її значення з поля “Загальна кількість”. Важливо пам’ятати про чутливість до регістру в назвах полів. Далі ми задаємо умову: TQ має бути більше 20. Якщо вона виконується, відображається “Так”, інакше – “Ні”.

Наприклад, при замовленні 11 кабелів Lightning та 10 акумуляторів загальна кількість складе 21. Це буде вважатися масовим замовленням і відобразить відповідний результат:

Кілька умов

Іноді виникає потреба використовувати кілька умов одночасно. На щастя, можна створити умовне поле, яке генерує значення, базуючись на декількох умовах.

Припустимо, що у вашому магазині діє знижка 10% на замовлення, які містять не менше 20 товарів та мають загальну вартість понад 150. Остаточна сума має з’явитися в полі “Загальна сума зі знижкою”. В цьому випадку потрібно задати дві змінні та дві умови. Формула для цього поля виглядає так:

var Price = this.getField("Початкова ціна").value;
var TQ = this.getField("Загальна кількість").value;
if( Price > 150 && TQ > 20 ) event.value = Price*0.9;
else event.value = Price;

Як бачимо, дві змінні визначені в окремих рядках. Для об’єднання двох умов використовується позначення “&&”. Крім того, кінцеве значення обчислюється зі знижкою.

Тож, використовуючи ті ж значення, що й у попередньому прикладі, отримаємо такий результат:

Порядок обчислень

Важливо враховувати порядок виконання обчислень. На відміну від Excel, де обчислення виконуються одночасно, в Acrobat порядок обчислень встановлює користувач.

Щоб встановити порядок, перейдіть на бічну панель “Редагувати форму”, а далі до “Більше > Встановити порядок обчислення поля”. У нашому прикладі, оскільки формули для “Масове замовлення” та “Загальна сума зі знижкою” залежать від “Загальної кількості” та “Загальної ціни”, важливо, щоб ці два значення обчислювались першими.

Перевіряйте порядок обчислень перед публікацією форми. Рекомендується протестувати форму, ввівши різні дані, щоб переконатися у правильності всіх розрахунків.