1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
TrackingService.php
См. документацию.
1<?php
2
3namespace Bitrix\Bizproc\Debugger\Services;
4
5use Bitrix\Bizproc\Debugger\Listener;
6use Bitrix\Bizproc\Debugger\Mixins\WriterDebugTrack;
7use Bitrix\Bizproc\Debugger\Session\Manager;
8use Bitrix\Main\Text\Emoji;
9use Bitrix\Main\Type\DateTime;
10
12{
13 use WriterDebugTrack;
14
15 public function canWrite($type, $workflowId)
16 {
17 $session = Manager::getActiveSession();
18 if (!$session)
19 {
20 return false;
21 }
22
23 return $session->hasWorkflow($workflowId);
24 }
25
26 public function write(
27 $workflowId,
28 $type,
29 $actionName,
30 $executionStatus,
31 $executionResult,
32 $actionTitle = "",
33 $actionNote = "",
34 $modifiedBy = 0
35 ): ?int
36 {
37 if (in_array((int)$type, self::DEBUG_TRACK_TYPES, true))
38 {
39 if (!is_array($actionNote))
40 {
41 $actionNote = $this->preparePropertyForWritingToTrack($actionNote);
42 }
43
44 array_walk_recursive($actionNote, static function (&$value) {
45 if (is_string($value))
46 {
47 $value = Emoji::encode($value);
48 }
49 });
50
51 $actionNote = \Bitrix\Main\Web\Json::encode($actionNote);
52 }
53
54 $id = parent::write(
55 $workflowId,
56 $type,
57 $actionName,
58 $executionStatus,
59 $executionStatus,
60 $actionTitle,
61 $actionNote,
62 $modifiedBy
63 );
64
65 $trackingResult = new \CBPTrackingServiceResult();
66 $trackingResult->InitFromArray([
67 $id => [
68 'ID' => $id,
69 'WORKFLOW_ID' => $workflowId,
70 'TYPE' => $type,
71 'ACTION_NAME' => $actionName,
72 'ACTION_TITLE' => $actionTitle,
73 'ACTION_NOTE' => $actionNote,
74 'MODIFIED' => (string)(new DateTime()),
75 ]
76 ]);
77
78 $result = $trackingResult->fetch();
79 Listener::getInstance()->onTrackWrite($result);
80
81 return $id;
82 }
83}
$type
Определения options.php:106
static getInstance()
Определения Listener.php:154
write( $workflowId, $type, $actionName, $executionStatus, $executionResult, $actionTitle="", $actionNote="", $modifiedBy=0)
Определения TrackingService.php:26
static encode($data, $options=null)
Определения json.php:22
$result
Определения get_property_values.php:14