Вступ до формул

Aspose.Tasks for .NET API підтримує зчитування та запис формул у файлах Microsoft Project (MPP).
Формули використовуються для обчислення користувацьких значень для завдань, ресурсів і полів проєкту на основі наявних даних проєкту.

Властивість Formula класу ExtendedAttributeDefinition надає інтерфейс для призначення та читання формул.
Якщо некоректний рядок формули призначено, FormatException буде викинуто.

Ця сторінка містить вступ до граматики, що використовується у формулах, опис підтримуваних операторів, функцій та прикладів.

Граматика формул

Microsoft Project використовує наступну граматику для формул, якій також слідує Aspose.Tasks:

1    Formula -> Formula Binary_Op Primary | Primary
2    Primary -> (Formula) | Unary_Op Primary | Function | ValidFieldName | ValidDoubleValue | "StringLiteral"
3    Function -> ValidFunctionName(Args)
4    Args -> Args Delimiter Formula | Formula | |
5    Delimiter -> , | ;   // Note: Delimiter is culture-specific in XML format ( , or ; ) and persistent in MPP ( , )
6    Binary_Op -> + | - | * | / | & | MOD | ^ | = | <> | < | > | AND | OR
7    Unary_Op -> NOT | + | -

Підтримувані елементи

1. Поля

Ви можете використовувати будь-яку дійсну назву поля Microsoft Project (наприклад, [Duration], [Actual Duration], [Standard Rate]).

2. Оператори

Формули підтримують:

3. Функції

Підтримуються більшість стандартних функцій Microsoft Project, зокрема:

Приклади

Приклад 1: Прості арифметичні операції

1var attr = ExtendedAttributeDefinition.CreateTaskDefinition(
2    CustomFieldType.Number,
3    ExtendedAttributeTask.Number1,
4    "WorkPerDay");
5
6attr.Formula = "[Work] / [Duration]";

Ця формула обчислює середню кількість роботи на день для завдання.

Приклад 2: Умовний вираз

1var attr = ExtendedAttributeDefinition.CreateTaskDefinition(
2    CustomFieldType.Text,
3    ExtendedAttributeTask.Text1,
4    "TaskStatus");
5
6attr.Formula = "IIf([% Complete] = 100, \"Done\", \"In Progress\")";

Ця формула встановлює значення користувацького поля на “Виконано” якщо завдання завершене, інакше на “Виконується”.

Обробка помилок

Див. також

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.