2include_once(
$_SERVER[
"DOCUMENT_ROOT"].
"/bitrix/modules/bizproc/classes/general/taskservice.php");
5 extends CBPAllTaskService
21 "INSERT INTO b_bp_task (".$arInsert[0].
", MODIFIED) ".
22 "VALUES(".$arInsert[1].
", ".
$DB->CurrentTimeFunction().
")";
23 $DB->Query($strSql, False,
"File: ".__FILE__.
"<br>Line: ".__LINE__);
25 $taskId = intval(
$DB->LastID());
37 "INSERT INTO b_bp_task_user (USER_ID, TASK_ID, ORIGINAL_USER_ID) ".
38 "VALUES (".intval(
$userId).
", ".intval($taskId).
", ".intval(
$userId).
") "
41 CUserCounter::Increment(
$userId,
'bp_tasks',
'**');
61 throw new Exception(
"id");
68 "UPDATE b_bp_task SET ".
70 " MODIFIED = ".$DB->CurrentTimeFunction().
" ".
71 "WHERE ID = ".intval($id).
" ";
72 $DB->Query($strSql, False,
"File: ".__FILE__.
"<br>Line: ".__LINE__);
74 $removedUsers =
array();
78 $dbResUser =
$DB->Query(
"SELECT USER_ID FROM b_bp_task_user WHERE TASK_ID = ".intval($id).
" ");
79 while ($arResUser = $dbResUser->Fetch())
81 CUserCounter::Decrement($arResUser[
"USER_ID"],
'bp_tasks',
'**');
82 $removedUsers[] = $arResUser[
"USER_ID"];
84 $DB->Query(
"DELETE FROM b_bp_task_user WHERE TASK_ID = ".intval($id).
" ");
94 "INSERT INTO b_bp_task_user (USER_ID, TASK_ID, ORIGINAL_USER_ID) ".
95 "VALUES (".intval(
$userId).
", ".intval($id).
", ".intval(
$userId).
") "
98 CUserCounter::Increment(
$userId,
'bp_tasks',
'**');
104 $userStatuses =
array();
108 while ($arResUser = $dbResUser->Fetch())
110 CUserCounter::Decrement($arResUser[
"USER_ID"],
'bp_tasks',
'**');
115 $removedUsers[] = $arResUser[
"USER_ID"];
130 $arFields[
'USERS_REMOVED'] = $removedUsers;
132 $arFields[
'USERS_STATUSES'] = $userStatuses;
142 if (
count($arSelectFields) <= 0)
143 $arSelectFields =
array(
"ID",
"WORKFLOW_ID",
"ACTIVITY",
"ACTIVITY_NAME",
"MODIFIED",
"OVERDUE_DATE",
"NAME",
"DESCRIPTION",
"PARAMETERS");
146 "ID" => Array(
"FIELD" =>
"T.ID",
"TYPE" =>
"int"),
147 "WORKFLOW_ID" => Array(
"FIELD" =>
"T.WORKFLOW_ID",
"TYPE" =>
"string"),
148 "ACTIVITY" => Array(
"FIELD" =>
"T.ACTIVITY",
"TYPE" =>
"string"),
149 "ACTIVITY_NAME" => Array(
"FIELD" =>
"T.ACTIVITY_NAME",
"TYPE" =>
"string"),
150 "MODIFIED" => Array(
"FIELD" =>
"T.MODIFIED",
"TYPE" =>
"datetime"),
151 "OVERDUE_DATE" => Array(
"FIELD" =>
"T.OVERDUE_DATE",
"TYPE" =>
"datetime"),
152 "NAME" => Array(
"FIELD" =>
"T.NAME",
"TYPE" =>
"string"),
153 "DESCRIPTION" => Array(
"FIELD" =>
"T.DESCRIPTION",
"TYPE" =>
"string"),
154 "PARAMETERS" => Array(
"FIELD" =>
"T.PARAMETERS",
"TYPE" =>
"string"),
155 "IS_INLINE" => Array(
"FIELD" =>
"T.IS_INLINE",
"TYPE" =>
"string"),
156 "DELEGATION_TYPE" => Array(
"FIELD" =>
"T.DELEGATION_TYPE",
"TYPE" =>
"int"),
157 "STATUS" => Array(
"FIELD" =>
"T.STATUS",
"TYPE" =>
"int"),
158 'DOCUMENT_NAME' => Array(
"FIELD" =>
"T.DOCUMENT_NAME",
"TYPE" =>
"string"),
159 "USER_ID" => Array(
"FIELD" =>
"TU.USER_ID",
"TYPE" =>
"int",
"FROM" =>
"INNER JOIN b_bp_task_user TU ON (T.ID = TU.TASK_ID)"),
160 "USER_STATUS" => Array(
"FIELD" =>
"TU.STATUS",
"TYPE" =>
"int",
"FROM" =>
"INNER JOIN b_bp_task_user TU ON (T.ID = TU.TASK_ID)"),
161 "WORKFLOW_TEMPLATE_ID" => Array(
"FIELD" =>
"WS.WORKFLOW_TEMPLATE_ID",
"TYPE" =>
"int",
"FROM" =>
"INNER JOIN b_bp_workflow_state WS ON (T.WORKFLOW_ID = WS.ID)"),
162 "MODULE_ID" => Array(
"FIELD" =>
"WS.MODULE_ID",
"TYPE" =>
"string",
"FROM" =>
"INNER JOIN b_bp_workflow_state WS ON (T.WORKFLOW_ID = WS.ID)"),
163 "ENTITY" => Array(
"FIELD" =>
"WS.ENTITY",
"TYPE" =>
"string",
"FROM" =>
"INNER JOIN b_bp_workflow_state WS ON (T.WORKFLOW_ID = WS.ID)"),
164 "DOCUMENT_ID" => Array(
"FIELD" =>
"WS.DOCUMENT_ID",
"TYPE" =>
"string",
"FROM" =>
"INNER JOIN b_bp_workflow_state WS ON (T.WORKFLOW_ID = WS.ID)"),
165 "WORKFLOW_TEMPLATE_NAME" => Array(
"FIELD" =>
"WT.NAME",
"TYPE" =>
"string",
166 "FROM" =>
array(
"INNER JOIN b_bp_workflow_state WS ON (T.WORKFLOW_ID = WS.ID)",
167 "INNER JOIN b_bp_workflow_template WT ON (WS.WORKFLOW_TEMPLATE_ID = WT.ID)")),
168 "WORKFLOW_TEMPLATE_TEMPLATE_ID" => Array(
"FIELD" =>
"WS.WORKFLOW_TEMPLATE_ID",
"TYPE" =>
"int",
169 "FROM" =>
array(
"INNER JOIN b_bp_workflow_state WS ON (T.WORKFLOW_ID = WS.ID)")),
170 'WORKFLOW_STATE' =>
array(
"FIELD" =>
"WS.STATE_TITLE",
"TYPE" =>
"string",
"FROM" =>
"INNER JOIN b_bp_workflow_state WS ON (T.WORKFLOW_ID = WS.ID)"),
171 'WORKFLOW_STARTED' =>
array(
"FIELD" =>
"WS.STARTED",
"TYPE" =>
"datetime",
"FROM" =>
"INNER JOIN b_bp_workflow_state WS ON (T.WORKFLOW_ID = WS.ID)"),
172 'WORKFLOW_STARTED_BY' =>
array(
"FIELD" =>
"WS.STARTED_BY",
"TYPE" =>
"int",
"FROM" =>
"INNER JOIN b_bp_workflow_state WS ON (T.WORKFLOW_ID = WS.ID)"),
175 $arSqls = CBPHelper::PrepareSql(
$arFields, $arOrder,
$arFilter, $arGroupBy, $arSelectFields);
177 $arSqls[
"SELECT"] = str_replace(
"%%_DISTINCT_%%",
"", $arSqls[
"SELECT"]);
179 if (is_array($arGroupBy) &&
count($arGroupBy)==0)
182 "SELECT ".$arSqls[
"SELECT"].
" ".
184 " ".$arSqls[
"FROM"].
" ";
185 if (strlen($arSqls[
"WHERE"]) > 0)
186 $strSql .=
"WHERE ".$arSqls[
"WHERE"].
" ";
187 if (strlen($arSqls[
"GROUPBY"]) > 0)
188 $strSql .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
190 $dbRes =
$DB->Query($strSql,
false,
"File: ".__FILE__.
"<br>Line: ".__LINE__);
198 "SELECT ".$arSqls[
"SELECT"].
" ".
200 " ".$arSqls[
"FROM"].
" ";
201 if (strlen($arSqls[
"WHERE"]) > 0)
202 $strSql .=
"WHERE ".$arSqls[
"WHERE"].
" ";
203 if (strlen($arSqls[
"GROUPBY"]) > 0)
204 $strSql .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
205 if (strlen($arSqls[
"ORDERBY"]) > 0)
206 $strSql .=
"ORDER BY ".$arSqls[
"ORDERBY"].
" ";
208 if (is_array($arNavStartParams) && IntVal($arNavStartParams[
"nTopCount"]) <= 0)
211 "SELECT COUNT('x') as CNT ".
213 " ".$arSqls[
"FROM"].
" ";
214 if (strlen($arSqls[
"WHERE"]) > 0)
215 $strSql_tmp .=
"WHERE ".$arSqls[
"WHERE"].
" ";
216 if (strlen($arSqls[
"GROUPBY"]) > 0)
217 $strSql_tmp .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
219 $dbRes =
$DB->Query($strSql_tmp,
false,
"File: ".__FILE__.
"<br>Line: ".__LINE__);
221 if (strlen($arSqls[
"GROUPBY"]) <= 0)
228 $cnt =
$dbRes->SelectedRowsCount();
232 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
236 if (is_array($arNavStartParams) && IntVal($arNavStartParams[
"nTopCount"]) > 0)
237 $strSql .=
"LIMIT ".intval($arNavStartParams[
"nTopCount"]);
238 $dbRes =
$DB->Query($strSql,
false,
"File: ".__FILE__.
"<br>Line: ".__LINE__);
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
static GetList($arOrder=array("ID"=> "DESC"), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
static onTaskChange($taskId, $taskData, $status)
static Update($id, $arFields)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
$_SERVER["DOCUMENT_ROOT"]
ExecuteModuleEventEx($arEvent, $arParams=[])
GetModuleEvents($MODULE_ID, $MESSAGE_ID, $bReturnArray=false)
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"