- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/checklist/checklistfacade.php
- Класс: BitrixTasksCheckListCheckListFacade
- Вызов: CheckListFacade::updateComposite
static function updateComposite(int $entityId, int $userId, CheckList $checkList, array $fields): Result
{
$updateCompositeResult = new Result();
foreach ($checkList->getDescendants() as $descendant)
{
$updateCompositeResult->setData(
array_merge(
($updateCompositeResult->getData() ?? []),
static::updateComposite($entityId, $userId, $descendant, $fields)->getData()
)
);
}
if (
array_key_exists('IS_COMPLETE', $fields)
&& count($fields) === 1
&& static::checkAccess($entityId, $userId, ActionDictionary::ACTION_CHECKLIST_TOGGLE, $checkList)
)
{
$updateResult = static::update($entityId, $userId, $checkList, $fields);
if ($updateResult->isSuccess())
{
$updateCompositeResult->setData(
array_merge(
($updateCompositeResult->getData() ?? []),
[$updateResult]
)
);
}
}
return $updateCompositeResult;
}