1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
TrackingService.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Bizproc\Debugger\Services;
4
5
use Bitrix\Bizproc\Debugger\Listener;
6
use Bitrix\Bizproc\Debugger\Mixins\WriterDebugTrack;
7
use Bitrix\Bizproc\Debugger\Session\Manager;
8
use Bitrix\Main\Text\Emoji;
9
use Bitrix\Main\Type\DateTime;
10
11
class
TrackingService
extends
\CBPTrackingService
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
$type
Определения
options.php:106
Bitrix\Bizproc\Debugger\Listener\getInstance
static getInstance()
Определения
Listener.php:154
Bitrix\Bizproc\Debugger\Services\TrackingService
Определения
TrackingService.php:12
Bitrix\Bizproc\Debugger\Services\TrackingService\canWrite
canWrite($type, $workflowId)
Определения
TrackingService.php:15
Bitrix\Bizproc\Debugger\Services\TrackingService\write
write( $workflowId, $type, $actionName, $executionStatus, $executionResult, $actionTitle="", $actionNote="", $modifiedBy=0)
Определения
TrackingService.php:26
Bitrix\Main\Type\DateTime
Определения
datetime.php:9
Bitrix\Main\Web\Json\encode
static encode($data, $options=null)
Определения
json.php:22
CBPTrackingService
Определения
trackingservice.php:8
$result
$result
Определения
get_property_values.php:14
bitrix
modules
bizproc
lib
Debugger
Services
TrackingService.php
Создано системой
1.14.0