} $arParams["USER_ID"] = intVal($GLOBALS["USER"]->GetID()); $arParams["WORKFLOW_ID"] = empty($arParams["WORKFLOW_ID"]) ? $_REQUEST["WORKFLOW_ID"] : $arParams["WORKFLOW_ID"]; //***************** URL ********************************************/ $arResult["back_url"] = urlencode(empty($_REQUEST["back_url"]) ? $APPLICATION->GetCurPageParam() : $_REQUEST["back_url"]); /***************** ADDITIONAL **************************************/ $arParams["PAGE_ELEMENTS"] = intVal(intVal($arParams["PAGE_ELEMENTS"]) > 0 ? $arParams["PAGE_ELEMENTS"] : 50); $arParams["PAGE_NAVIGATION_TEMPLATE"] = trim($arParams["PAGE_NAVIGATION_TEMPLATE"]); /***************** STANDART ****************************************/ $arParams["SET_TITLE"] = $arParams["SET_TITLE"] == "N" ? "N" : "Y"; //Turn on by default /******************************************************************** /Input params ********************************************************************/ $arError = array(); $arResult["arWorkflowState"] = CBPStateService::GetWorkflowState($arParams["ID"]); $arParams["DOCUMENT_ID"] = $arResult["arWorkflowState"]["DOCUMENT_ID"]; $arParams["USER_GROUPS"] = $GLOBALS["USER"]->GetUserGroupArray(); if (method_exists($arParams["DOCUMENT_ID"][1], "GetUserGroups")) { $arParams["USER_GROUPS"] = call_user_func_array(array($arParams["DOCUMENT_ID"][1], "GetUserGroups"), array(null, $arParams["DOCUMENT_ID"], $GLOBALS["USER"]->GetID())); } if (!is_array($arResult["arWorkflowState"]) || count($arResult["arWorkflowState"]) <= 0) { $arError[] = array("id" => "error", "text" => GetMessage("BPABL_INVALID_WF")); } else { $bCanView = CBPDocument::CanUserOperateDocument(CBPCanUserOperateOperation::ViewWorkflow, $GLOBALS["USER"]->GetID(), $arResult["arWorkflowState"]["DOCUMENT_ID"], array("WorkflowId" => $arParams["ID"], "DocumentStates" => array($arParams["ID"] => $arResult["arWorkflowState"]), "UserGroups" => $arParams["USER_GROUPS"])); if (!$bCanView) { $arError[] = array("id" => "access denied", "text" => GetMessage("BPABL_NO_PERMS")); } } if (!empty($arError)) { $e = new CAdminException($arError);
$arParams["PATH_TO_BIZPROC_EDIT"] = trim($arParams["PATH_TO_BIZPROC_EDIT"]); if (strlen($arParams["PATH_TO_BIZPROC_EDIT"]) <= 0) { $arParams["PATH_TO_BIZPROC_EDIT"] = htmlspecialcharsbx($APPLICATION->GetCurPage() . "?" . $arParams["PAGE_VAR"] . "=bizproc_edit&" . $arParams["TASK_VAR"] . "=#task_id#"); } if (!$GLOBALS["USER"]->IsAuthorized()) { $arResult["NEED_AUTH"] = "Y"; } else { if ($arParams["SET_TITLE"] == "Y") { $APPLICATION->SetTitle(GetMessage("SONET_BIZPROC_TITLE")); } if ($arParams["SET_NAV_CHAIN"] != "N") { $APPLICATION->AddChainItem(GetMessage("SONET_BIZPROC_TITLE")); } $dbResultList = CBPTaskService::GetList(array("MODIFIED" => "DESC"), array("USER_ID" => $USER->GetID()), false, false, array("ID", "WORKFLOW_ID", "ACTIVITY", "ACTIVITY_NAME", "MODIFIED", "OVERDUE_DATE", "NAME", "DESCRIPTION", "PARAMETERS")); while ($arResultItem = $dbResultList->GetNext()) { if (strlen($arResultItem["DESCRIPTION"]) > 100) { $arResultItem["DESCRIPTION"] = substr($arResultItem["DESCRIPTION"], 0, 97) . "..."; } $arResultItem["EditUrl"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_BIZPROC_EDIT"], array("task_id" => $arResultItem["ID"])); $arResult["TASKS"][] = $arResultItem; } $dbTracking = CBPTrackingService::GetList(array("MODIFIED" => "DESC"), array("MODIFIED_BY" => $USER->GetID())); while ($arTracking = $dbTracking->GetNext()) { if (strlen($arTracking["WORKFLOW_ID"]) > 0) { $arTracking["STATE"] = CBPStateService::GetWorkflowState($arTracking["WORKFLOW_ID"]); $arTracking["STATE"]["Url"] = CBPDocument::GetDocumentAdminPage($arTracking["STATE"]["DOCUMENT_ID"]); } $arResult["TRACKING"][] = $arTracking; } } $this->IncludeComponentTemplate();
/* $arWorkflowTemplate = CBPWorkflowTemplateLoader::GetTemplateState($workflowTemplateId); if (!is_array($arWorkflowTemplate["STATE_PERMISSIONS"]) || count($arWorkflowTemplate["STATE_PERMISSIONS"]) <= 0) $arWorkflowTemplate["STATE_PERMISSIONS"]["create"] = array("author"); $arResult["AllowableOperations"] = CBPDocument::GetAllowableOperations($GLOBALS["USER"]->GetID(), $GLOBALS["USER"]->GetUserGroupArray(), array($arWorkflowTemplate)); */ $arResult["AllowAdmin"] = $GLOBALS["USER"]->IsAdmin() || is_array($arParams["ADMIN_ACCESS"]) && count(array_intersect($arParams["ADMIN_ACCESS"], $GLOBALS["USER"]->GetUserGroupArray())) > 0; /* $arResult["AllowCreate"] = ($arResult["AllowAdmin"] || (is_array($arResult["AllowableOperations"]) && in_array("create", $arResult["AllowableOperations"]) || is_array($arWorkflowTemplate["STATE_PERMISSIONS"]["create"]) && in_array("author", $arWorkflowTemplate["STATE_PERMISSIONS"]["create"])));*/ } if (strlen($arResult["FatalErrorMessage"]) <= 0) { if ($_SERVER["REQUEST_METHOD"] == "GET" && strlen($_REQUEST["process_state_event"]) > 0 && check_bitrix_sessid()) { $bizprocId = trim($_REQUEST["bizproc_id"]); $bizprocEvent = trim($_REQUEST["bizproc_event"]); if (strlen($bizprocEvent) > 0) { $arState = CBPStateService::GetWorkflowState($bizprocId); if (count($arState) > 0) { list($dbRecordsList, $dbRecordsList1) = CBPVirtualDocument::GetList(array(), array("IBLOCK_ID" => $arParams["BLOCK_ID"], "ID" => $arState["DOCUMENT_ID"][2]), false, false, array("ID", "IBLOCK_ID", "CREATED_BY")); if ($arRecord = $dbRecordsList->Fetch()) { $arCurrentUserGroups = $GLOBALS["USER"]->GetUserGroupArray(); if ("user_" . $GLOBALS["USER"]->GetID() == $arRecord["CREATED_BY"]) { $arCurrentUserGroups[] = "author"; } $arErrorTmp = array(); CBPDocument::SendExternalEvent($bizprocId, $bizprocEvent, array("Groups" => $arCurrentUserGroups, "User" => $GLOBALS["USER"]->GetID()), $arErrorTmp); if (count($arErrorsTmp) > 0) { foreach ($arErrorsTmp as $e) { $arResult["FatalErrorMessage"] .= $e["message"] . ". "; } } } else {
if (!$arResult["TASK"] && strlen($arParams["WORKFLOW_ID"]) > 0) { $dbTask = CBPTaskService::GetList(array(), array("WORKFLOW_ID" => $arParams["WORKFLOW_ID"], "USER_ID" => $arParams["USER_ID"], 'USER_STATUS' => CBPTaskUserStatus::Waiting), false, false, array("ID", "WORKFLOW_ID", "ACTIVITY", "ACTIVITY_NAME", "MODIFIED", "OVERDUE_DATE", "NAME", "DESCRIPTION", "PARAMETERS", 'IS_INLINE', 'STATUS', 'USER_STATUS', 'DOCUMENT_NAME')); $arResult["TASK"] = $dbTask->GetNext(); } if (!$arResult["TASK"]) { ShowError(GetMessage("BPAT_NO_TASK")); return false; } if ($arResult["TASK"]['STATUS'] > CBPTaskStatus::Running || $arResult["TASK"]['USER_STATUS'] > CBPTaskUserStatus::Waiting) { $arResult["ShowMode"] = "Success"; $arResult['IsComplete'] = true; } if ($arResult['ReadOnly'] && isset($arResult['TASK']['PARAMETERS']['AccessControl']) && $arResult['TASK']['PARAMETERS']['AccessControl'] == 'Y') { $arResult['TASK']['DESCRIPTION'] = ''; } $arState = CBPStateService::GetWorkflowState($arResult['TASK']['WORKFLOW_ID']); if (!$arState) { ShowError(GetMessage("BPAT_NO_STATE")); // Let`s clean up! CBPTaskService::DeleteByWorkflow($arResult['TASK']['WORKFLOW_ID']); return false; } $arResult['TASK']['PARAMETERS']['DOCUMENT_ID'] = $arState['DOCUMENT_ID']; $arResult["TASK"]["MODULE_ID"] = $arResult["TASK"]["PARAMETERS"]["DOCUMENT_ID"][0]; $arResult["TASK"]["ENTITY"] = $arResult["TASK"]["PARAMETERS"]["DOCUMENT_ID"][1]; $arResult["TASK"]["DOCUMENT_ID"] = $arResult["TASK"]["PARAMETERS"]["DOCUMENT_ID"][2]; $arParams["DOCUMENT_URL"] = trim($arParams["DOCUMENT_URL"]); if (empty($arParams["DOCUMENT_URL"])) { $arParams["DOCUMENT_URL"] = CBPDocument::GetDocumentAdminPage($arResult["TASK"]["PARAMETERS"]["DOCUMENT_ID"]); } else { $arParams["DOCUMENT_URL"] = CComponentEngine::MakePathFromTemplate($arParams["DOCUMENT_URL"], $arResult["TASK"]);
$hgridColumns = $hgridOptions->GetVisibleColumns(); $hgridSort = $hgridOptions->GetSorting(array("sort" => array("ID" => "desc"))); $arResult["H_HEADERS"] = array(array("id" => "MODIFIED", "name" => GetMessage("BPATL_MODIFIED"), "default" => true, "sort" => ""), array("id" => "ACTION_NOTE", "name" => GetMessage("BPATL_DESCRIPTION"), "default" => true, "sort" => "")); $arResult["H_SORT"] = $hgridSort["sort"]; $arResult["H_RECORDS"] = array(); $arFilter = array("MODIFIED_BY" => $arParams["USER_ID"]); if (!empty($arParams["WORKFLOW_ID"])) { $arFilter["WORKFLOW_ID"] = $arParams["WORKFLOW_ID"]; } $runtime = CBPRuntime::GetRuntime(); $runtime->StartRuntime(); $documentService = $runtime->GetService("DocumentService"); $dbRecordsList = CBPTrackingService::GetList($hgridSort["sort"], $arFilter); while ($arRecord = $dbRecordsList->GetNext()) { if (strlen($arRecord["WORKFLOW_ID"]) > 0) { $arRecord["STATE"] = CBPStateService::GetWorkflowState($arRecord["WORKFLOW_ID"]); $arRecord["DOCUMENT_URL"] = CBPDocument::GetDocumentAdminPage($arRecord["STATE"]["DOCUMENT_ID"]); try { $dt = $documentService->GetDocumentType($arRecord["STATE"]["DOCUMENT_ID"]); } catch (Exception $e) { } $arRecord["ACTION_NOTE"] = preg_replace_callback("/\\{=([A-Za-z0-9_]+)\\:([A-Za-z0-9_]+)\\}/i", create_function('$matches', 'return __bwl_ParseStringParameterTmp1($matches, array("' . $dt[0] . '", "' . $dt[1] . '", "' . $dt[2] . '"));'), $arRecord["ACTION_NOTE"]); } $aActions = array(); if (strlen($arRecord["DOCUMENT_URL"]) > 0) { $aActions[] = array("ICONCLASS" => "", "DEFAULT" => false, "TEXT" => GetMessage("BPTL_C_DOCUMENT"), "ONCLICK" => "window.open('" . $arRecord["DOCUMENT_URL"] . "');"); } $arResult["H_RECORDS"][] = array("data" => $arRecord, "actions" => $aActions, "columns" => array(), "editable" => false); } $arResult["H_ROWS_COUNT"] = $dbRecordsList->SelectedRowsCount(); $arResult["H_NAV_STRING"] = $dbRecordsList->GetPageNavStringEx($navComponentObject, GetMessage("INTS_TASKS_NAV"), "", false);
$dbResultList->NavStart(); $lAdmin->NavText($dbResultList->GetNavPrint(GetMessage("BPATL_NAV"))); while ($arResultItem = $dbResultList->NavNext(true, "f_")) { $row =& $lAdmin->AddRow($f_ID, $arResultItem); $s = $allowAdminAccess ? "&uid=" . intval($arResultItem["USER_ID"]) : ""; $row->AddField("ID", '<a href="bizproc_task.php?id=' . $f_ID . $s . '&back_url=' . urlencode($APPLICATION->GetCurPageParam("lang=" . LANGUAGE_ID, array("lang"))) . '" title="' . GetMessage("BPATL_VIEW") . '">' . $f_ID . '</a>'); $row->AddField("NAME", $f_NAME); $description = $f_DESCRIPTION; if (strlen($description) > 100) { $description = substr($description, 0, 97) . "..."; } $row->AddField("DESCRIPTION", $description); $row->AddField("DESCRIPTION_FULL", $f_DESCRIPTION); $row->AddField("MODIFIED", $f_MODIFIED); if (count(array_intersect($arVisibleColumns, array("WORKFLOW_NAME", "WORKFLOW_STATE"))) > 0) { $arState = CBPStateService::GetWorkflowState($arResultItem["WORKFLOW_ID"]); $row->AddField("WORKFLOW_NAME", $arState["TEMPLATE_NAME"]); $row->AddField("WORKFLOW_STATE", $arState["STATE_TITLE"]); } if (in_array("USER", $arVisibleColumns)) { $dbUserTmp = CUser::GetByID($arResultItem["USER_ID"]); if ($arUserTmp = $dbUserTmp->GetNext()) { $str = CUser::FormatName(COption::GetOptionString("bizproc", "name_template", CSite::GetNameFormat(false), SITE_ID), $arUserTmp, true); $str .= " [" . $arResultItem["USER_ID"] . "]"; } else { $str = str_replace("#USER_ID#", $arResultItem["USER_ID"], GetMessage("BPATL_USER_NOT_FOUND")); } $row->AddField("USER", $str); } $arActions = array(); $arActions[] = array("ICON" => "edit", "TEXT" => GetMessage("BPATL_VIEW"), "ACTION" => $lAdmin->ActionRedirect('bizproc_task.php?id=' . $f_ID . $s . '&back_url=' . urlencode($APPLICATION->GetCurPageParam("lang=" . LANGUAGE_ID, array("lang"))) . ''), "DEFAULT" => true);
if (count($arState) > 0) { CBPDocument::TerminateWorkflow($_REQUEST["stop_bizproc_id"], $arState["DOCUMENT_ID"], $arErrorsTmp); if (count($arErrorsTmp) > 0) { foreach ($arErrorsTmp as $e) { $arResult["ErrorMessage"] .= $e["message"] . ". "; } } } else { $arResult["ErrorMessage"] .= GetMessage("BPWC_WLC_MISSING_BP") . ". "; } if (strlen($arResult["ErrorMessage"]) <= 0) { LocalRedirect($APPLICATION->GetCurPageParam("", array("sessid", "stop_bizproc_id", "delete_bizproc_id"))); } } if ($_SERVER["REQUEST_METHOD"] == "GET" && strlen($_REQUEST["delete_bizproc_id"]) > 0 && check_bitrix_sessid() && $arResult["AllowAdmin"]) { $arState = CBPStateService::GetWorkflowState($_REQUEST["delete_bizproc_id"]); if (count($arState) > 0) { $arErrorsTmp = array(); CBPDocument::OnDocumentDelete($arState["DOCUMENT_ID"], $arErrorsTmp); if (count($arErrorsTmp) > 0) { foreach ($arErrorsTmp as $e) { $arResult["ErrorMessage"] .= $e["message"] . ". "; } } if (strlen($arResult["ErrorMessage"]) <= 0) { CIBlockElement::Delete($arState["DOCUMENT_ID"][2]); } } else { $arResult["ErrorMessage"] .= GetMessage("BPWC_WLC_MISSING_BP") . ". "; } if (strlen($arResult["ErrorMessage"]) <= 0) {
<?php require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_before.php"; require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/bizproc/include.php"; require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/bizproc/prolog.php"; IncludeModuleLangFile(__FILE__); /* $bizprocModulePermissions = $APPLICATION->GetGroupRight("bizproc"); if ($bizprocModulePermissions < "R") $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); */ require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; $errorMessage = ""; $ID = trim($_REQUEST["ID"]); $adminMode = strtoupper($_REQUEST["admin_mode"]) == "Y"; $arWorkflowState = CBPStateService::GetWorkflowState($ID); if (!is_array($arWorkflowState) || count($arWorkflowState) <= 0) { $APPLICATION->SetTitle(GetMessage("BPABL_INVALID_WF")); CAdminMessage::ShowMessage(GetMessage("BPABL_INVALID_WF") . ". "); } else { $bCanView = CBPDocument::CanUserOperateDocument(CBPCanUserOperateOperation::ViewWorkflow, $GLOBALS["USER"]->GetID(), $arWorkflowState["DOCUMENT_ID"], array("WorkflowId" => $ID, "DocumentStates" => array($ID => $arWorkflowState), "UserGroups" => $GLOBALS["USER"]->GetUserGroupArray())); if (!$bCanView) { $APPLICATION->SetTitle(GetMessage("BPABL_ERROR")); require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; echo ShowError(GetMessage("BPABL_NO_PERMS")); require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin.php"; die; } $backUrl = "/" . ltrim(trim($_REQUEST["back_url"]), "\\/"); if (strlen($backUrl) <= 0) { $backUrl = CBPDocument::GetDocumentAdminPage($arWorkflowState["DOCUMENT_ID"]);
if ($arParams[$name] <= 0) { $arParams[$name] = trim($_REQUEST[$nameLower]); } if ($arParams[$name] <= 0) { foreach ($_REQUEST as $key => $value) { if (strtolower($key) == $nameLower) { $arParams[$name] = trim($_REQUEST[$key]); break; } } } } } BPWSInitParam($arParams, "WORKFLOW_ID"); $arResult["NeedAuth"] = "N"; $arResult["FatalErrorMessage"] = ""; $arResult["ErrorMessage"] = ""; global $USER; if (!$USER->IsAuthorized()) { $arResult["NeedAuth"] = "Y"; } elseif (strlen($arParams["WORKFLOW_ID"]) <= 0) { $arResult["FatalErrorMessage"] .= "Не указан код рабочего потока" . ". "; } else { $arResult["WorkflowState"] = CBPStateService::GetWorkflowState($arParams["WORKFLOW_ID"]); if ($arResult["WorkflowState"]) { $arResult["WorkflowTrack"] = CBPTrackingService::DumpWorkflow($arParams["WORKFLOW_ID"]); } else { $arResult["FatalErrorMessage"] .= "Рабочий поток не найден" . ". "; } } $this->IncludeComponentTemplate();
if ($arParams[$name] <= 0) { $arParams[$name] = trim($_REQUEST[strtolower($name)]); } } } global $order, $by; /******************************************************************** Input params ********************************************************************/ /***************** BASE ********************************************/ $arParams["MODULE_ID"] = trim(empty($arParams["MODULE_ID"]) ? $_REQUEST["module_id"] : $arParams["MODULE_ID"]); $arParams["ENTITY"] = trim(empty($arParams["ENTITY"]) ? $_REQUEST["entity"] : $arParams["ENTITY"]); $arParams["DOCUMENT_TYPE"] = trim(empty($arParams["DOCUMENT_TYPE"]) ? $_REQUEST["document_type"] : $arParams["DOCUMENT_TYPE"]); $arParams["DOCUMENT_ID"] = trim(empty($arParams["DOCUMENT_ID"]) ? $_REQUEST["document_id"] : $arParams["DOCUMENT_ID"]); if (isset($arParams["TASK_ID"])) { $arTask = CBPStateService::GetWorkflowState($arParams["TASK_ID"]); if (!empty($arTask)) { $arResult["TASK"] = $arTask; } else { if (isset($arParams["TASK_LIST_URL"])) { LocalRedirect($arParams["TASK_LIST_URL"]); } } } //***************** URL ********************************************/ $arParams["back_url"] = !empty($arParams["back_url"]) ? $arParams["back_url"] : (!empty($_REQUEST["back_url"]) ? urldecode($_REQUEST["back_url"]) : ""); $URL_NAME_DEFAULT = array("workflow_start" => "PAGE_NAME=start&ID=#ID#", "workflow_log" => "PAGE_NAME=log&ID=#ID#", "task_edit" => "PAGE_NAME=task_edit&ID=#ID#"); foreach ($URL_NAME_DEFAULT as $URL => $URL_VALUE) { $arParams[strToUpper($URL) . "_URL"] = trim($arParams[strToUpper($URL) . "_URL"]); if (empty($arParams[strToUpper($URL) . "_URL"])) { $arParams[strToUpper($URL) . "_URL"] = $APPLICATION->GetCurPage();
} if ($processes) { if (isset($arVariables["mode"])) { switch ($arVariables["mode"]) { case "catalog": if ($processes) { $componentPage = "catalog_processes"; } break; } } } $arResult = array("FOLDER" => "", "URL_TEMPLATES" => array("list_field_edit" => $APPLICATION->GetCurPage() . "?mode=field" . "&" . $arVariableAliases["list_id"] . "=#list_id#" . "&" . $arVariableAliases["field_id"] . "=#field_id#", "list_fields" => $APPLICATION->GetCurPage() . "?mode=fields" . "&" . $arVariableAliases["list_id"] . "=#list_id#", "list_edit" => $APPLICATION->GetCurPage() . "?mode=edit" . "&" . $arVariableAliases["list_id"] . "=#list_id#", "list_element_edit" => $APPLICATION->GetCurPage() . "?mode=edit" . "&" . $arVariableAliases["list_id"] . "=#list_id#" . "&" . $arVariableAliases["section_id"] . "=#section_id#" . "&" . $arVariableAliases["element_id"] . "=#element_id#", "list_sections" => $APPLICATION->GetCurPage() . "?mode=edit" . "&" . $arVariableAliases["list_id"] . "=#list_id#" . "&" . $arVariableAliases["section_id"] . "=#section_id#", "bizproc_log" => $APPLICATION->GetCurPage() . "?mode=bp" . "&" . $arVariableAliases["list_id"] . "=#list_id#" . "&" . $arVariableAliases["document_state_id"] . "=#document_state_id#", "bizproc_task" => $APPLICATION->GetCurPage() . "?mode=bp&" . $arVariableAliases["list_id"] . "=#list_id#" . "&" . $arVariableAliases["task_id"] . "=#task_id#", "bizproc_workflow_start" => $APPLICATION->GetCurPage() . "?mode=bp" . "&" . $arVariableAliases["list_id"] . "=#list_id#" . "&" . $arVariableAliases["section_id"] . "=#section_id#" . "&" . $arVariableAliases["element_id"] . "=#element_id#", "bizproc_workflow_delete" => $APPLICATION->GetCurPage() . "?mode=bp" . "&" . $arVariableAliases["list_id"] . "=#list_id#" . "&" . $arVariableAliases["section_id"] . "=#section_id#" . "&" . $arVariableAliases["element_id"] . "=#element_id#", "bizproc_workflow_admin" => $APPLICATION->GetCurPage() . "?mode=bp" . "&" . $arVariableAliases["list_id"] . "=#list_id#", "bizproc_workflow_edit" => $APPLICATION->GetCurPage() . "?mode=bp" . "&" . $arVariableAliases["list_id"] . "=#list_id#" . "&" . $arVariableAliases["ID"] . "=#ID#", "bizproc_workflow_vars" => $APPLICATION->GetCurPage() . "?mode=bp_vars" . "&" . $arVariableAliases["list_id"] . "=#list_id#" . "&" . $arVariableAliases["ID"] . "=#ID#", "bizproc_workflow_constants" => $APPLICATION->GetCurPage() . "?mode=bp_constants" . "&" . $arVariableAliases["list_id"] . "=#list_id#" . "&" . $arVariableAliases["ID"] . "=#ID#", "list_file" => $APPLICATION->GetCurPage() . "?mode=view" . "&" . $arVariableAliases["list_id"] . "=#list_id#" . "&" . $arVariableAliases["section_id"] . "=#section_id#" . "&" . $arVariableAliases["element_id"] . "=#element_id#" . "&" . $arVariableAliases["field_id"] . "=#field_id#" . "&" . $arVariableAliases["file_id"] . "=#file_id#", "list" => $APPLICATION->GetCurPage() . "?mode=view" . "&" . $arVariableAliases["list_id"] . "=#list_id#" . "&" . $arVariableAliases["section_id"] . "=#section_id#", "lists" => $APPLICATION->GetCurPage()), "VARIABLES" => $arVariables, "ALIASES" => $arVariableAliases); if ($processes) { $arResult["URL_TEMPLATES"]["catalog_processes"] = $APPLICATION->GetCurPage() . "?mode=catalog"; } } $p = strpos($arResult["URL_TEMPLATES"]["bizproc_workflow_delete"], "?"); if ($p === false) { $ch = "?"; } else { $ch = "&"; } $arResult["URL_TEMPLATES"]["bizproc_workflow_delete"] .= $ch . "action=del_bizproc"; if (isset($arVariables["document_state_id"]) && !isset($arVariables["element_id"]) && CModule::IncludeModule("bizproc")) { $arWorkflowState = CBPStateService::GetWorkflowState($arVariables["document_state_id"]); if (is_array($arWorkflowState) && is_array($arWorkflowState["DOCUMENT_ID"])) { list(, , $arResult["VARIABLES"]["element_id"]) = CBPHelper::ParseDocumentId($arWorkflowState["DOCUMENT_ID"]); } } $this->IncludeComponentTemplate($componentPage);