Перейти к основному содержимому

onAutoScheduleConflict

информация

Эта функциональность доступна только в PRO-версии.

Description

Срабатывает для каждого конфликта, обнаруженного во время автоматического планирования

onAutoScheduleConflict: (conflict: object) => void;

Parameters

  • conflict - (required) object - конфликт, найденный во время планирования. Набор полей зависит от типа конфликта kind.

Example

gantt.attachEvent("onAutoScheduleConflict", function(conflict){
if (conflict.kind === "constraint-violation") {
console.warn(`Задача ${conflict.taskId}: ограничение ${conflict.constraintType} не может быть удовлетворено`);
}
});

Details

заметка

Это событие определяется в расширении auto_scheduling, поэтому необходимо активировать плагин auto_scheduling. Подробности смотрите в статье Auto Scheduling.

Событие срабатывает один раз для каждого конфликта, с которым сталкивается автоматическое планирование. Автоматическое планирование по-прежнему выдает результат — событие позволяет отображать конфликты в пользовательском интерфейсе или реагировать на них.

Поле conflict.kind определяет тип конфликта и доступные поля:

kindDescriptionFields
"constraint-violation"Ограничение задачи не может быть удовлетворено в запланированной позиции.taskId, constraintType, required (Date), actual (Date)
"calendar-non-working"Задача попала в своё нерабочее время. Сообщается только при включенном strict_calendar.taskId, proposedDate (Date), snappedDate (Date)
"unscheduled-dependency"Задача зависит от задачи, которая не запланирована.taskId, blockedBy

Цепочки зависимостей сообщаются через отдельное событие onAutoScheduleCircularLink, а не здесь.

Change log

  • добавлено в версии 10.0
Need help?
Got a question about the documentation? Reach out to our technical support team for help and guidance. For custom component solutions, visit the Services page.