Программное связывание стадий и задач проекта и автоматический пересчет дат
Коллеги!
Подскажите примерный код функции автоматического связывания элементов проекта (аналог кнопки установить связь между элементами проекта). При этом нужно автоматически пересчитать даты стадий и связанные с проектом задачи?
Возможно есть готовая функция или несколько функций для этого?
Заранее спасибо!
Нравится
Вот часть скрипта, которая выполняется по кнопке "Связать элементы" (обработчик действия amiConnectElementsOnExecute в скрипте wnd_ProjectGanttAreaScript):
var SelectedIDsArray = GetSelectedItemsIDsArray(); if (SelectedIDsArray.length == 0) { ShowWarningDialog("Элементы не выбраны"); return; } ConnectProjectElementsArray(Self, SelectedIDsArray, AreaObject); RefreshDataset(dlData.Dataset);
Основная функция связки - ConnectProjectElementsArray, которая вызывает AddProjectDependence из скрипта scr_ProjectDependenceUtils.
Пересчёт элементов выполняется функцией DoElementCalculation скрипта scr_ProjectElementLibrary. Посмотрите её реализацию, а также реализацию функций DoChildElementsCalculation и DoParentElementCalculation.