IPrjTask.ConstraintDate

Синтаксис

ConstraintDate: DateTime;

Отсутствует;

Описание

Свойство ConstraintDate определяет дату ограничения выполнения задачи.

Комментарии

Данное свойство актуально при использовании определенного типа ограничения задачи по времени.

Пример

Для выполнения примера добавьте ссылку на системную сборку ProjectPlanning.

Sub UserProc;
Var
    
Project: IPrjProject;
    Tasks: IPrjTaskCollection;
    Task: IPrjTask;
    Depend: IPrjTaskDependency;
    FPeriod: IPrjTaskPeriod;
    i: Integer;
Begin
    Project := 
New PrjProject.Create;
    
// Зададим дату начала проекта
    Project.StartDate := DateTime.Parse("20.02.2020");
    Project.UseStartDate := 
True;
    
// Получим коллекцию задач проекта
    Tasks := Project.Tasks;
    
// Добавим первую задачу
    Task := Tasks.Add;
    Task.Key := 
1;
    Task.Name := 
"№1";
    Task.PlanPeriod.Duration := 
7;
    Task.ConstraintType := PrjTaskConstraintType.StartNoEarlierThan;
    Task.ConstraintDate := DateTime.Parse(
"25.02.2020");
    
// Добавим вторую задачу
    Task := Tasks.Add;
    Task.Key := 
2;
    Task.Name := 
"№2";
    Task.PlanPeriod.Duration := 
10;
    Depend := Task.Dependencies.Add;
    Depend.PredecessorTaskKey := 
1;
    Depend.Type := PrjTaskDependencyType.FinishToFinish;
    
// Выполним расчёт
    Project.Plan;
    
For i := 0 To Tasks.Count - 1 Do
        Task := Tasks.Item(i);
        FPeriod := Task.ForecastPeriod;
        Debug.WriteLine(
"Выполнение задачи " + Task.Name + " с " + 
        FPeriod.StartDate.ToString + 
" по " + FPeriod.FinishDate.ToString + 
        
" (длительность: " + FPeriod.Duration.ToString + " дней)");
    
End For;
End Sub UserProc;

Отсутствует.

В результате выполнения примера будет выполнен расчёт проекта с учётом заданных условий:

В консоль будет выведен результат расчёта:

Выполнение задачи №1 с 25.02.2020 00:00:00 по 02.03.2020 00:00:00 (длительность: 7 дней)

Выполнение задачи №2 с 22.02.2020 00:00:00 по 02.03.2020 00:00:00 (длительность: 10 дней)

См. также:

IPrjTask