Иногда нужно установить дату начала задачи в соответствии со значением, которое берется, например, из договора или продажи (эти сущности тоже создаются в ходе бизнес-процесса). На комьюнити есть  похожая тема. На ее основе был написан следующий код. 
 У меня была не одна задача, поэтому использована конструкция switch. Некоторые задачи "зависели" от ключевой даты не "прямо", а, например, нужно было их поставить за 1 или 2 дня до нужной даты. Это тоже описано в примере.
Примечания. Имя ActionItem.Name-- элемент задачи в диаграмме, для которой дату “отсчета” начала задачи (ExecuteDate) нужно поменять. Дата берется из параметров диаграммы (TaskStartDate). По умолчанию дата вычисляется "стандартно”.
Что интересно -- все механизмы вычисления окончания задачи остаются такими же, то есть из карточки задачи (в бп) можно настроить продолжительность задачи.
switch (ActionItem.Name) {
   case  ('Task1'):   //задача, для которой началом есть дата1 --  дата из параметра   
        var Diagram = GetDiagramByItem(ActionItem);
        var ExecuteDate = WFGetParamValue(Diagram, 'TaskStartDate');
   break;
   case ('Task2'):   //дата2 -- за 2 дня до предыдущей даты
        var Diagram = GetDiagramByItem(ActionItem);
        var ExecuteDate = WFGetParamValue(Diagram, 'TaskStartDate');
        ExecuteDate = AddDateDays(new Date(ExecuteDate), -2, true).getVarDate();
   break;
   default: 
        var ExecuteDate = ItemDataset.ValAsDateTime('ExecuteDate');
   break;
}
 
этот "кусок" кода нужно вставить вместо строчки
var ExecuteDate = ItemDataset.ValAsDateTime('ExecuteDate');
в скрипте wa_TaskAction.
еще один момент -- может, кому-то и это пригодится. В бп есть элемент "настраиваемое окно редактирования", в котором можно выбрать определенные поля для изменения. В моем примере это была дата начала задачи, которая в самой карточке имела тип "дата/время", но при отображении в "урезаном" виде (через вышеупомянутое настраиваемое окно редактирования) время нельзя было изменить. Покопавшись в скрипте построения этого окна, приходим к такой модификации скрипта wnd_CustomEditWindowScript:
в функции BuildDataControl(Window, ParentComponent, DatasetLink, DataField)
добавить (где-то в конце, после создания компонента)
//----для даты -- тип контрола дата/время
        if (ComponentType == 'DateTimeDataControl') {
                Component.Kind = dtkDateTime;   
        }
//----