1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
ResultTable.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Bizproc\Result\Entity
;
4
5
use
Bitrix\Main
;
6
use
Bitrix\Main\Entity
;
7
use
Bitrix\Main\ORM\Fields\ArrayField
;
8
use
Bitrix\Main\ORM\Fields\Validators\LengthValidator
;
9
use
Bitrix\Main\SystemException
;
10
27
class
ResultTable
extends
Main\ORM\Data\DataManager
28
{
29
public
static
function
getTableName
(): string
30
{
31
return
'b_bp_workflow_result'
;
32
}
33
37
public
static
function
getMap
():
array
38
{
39
return
[
40
(
new
Entity\IntegerField
(
'ID'
))
41
->configurePrimary()
42
->configureAutocomplete(),
43
(
new
Entity\StringField
(
'WORKFLOW_ID'
))
44
->addValidator(
new
LengthValidator
(1, 32)),
45
(
new
Entity\StringField
(
'ACTIVITY'
))
46
->addValidator(
new
LengthValidator
(1, 128)),
47
(
new
ArrayField
(
'RESULT'
))
48
->configureSerializationJson(),
49
new
Entity\DatetimeField
(
'CREATED_DATE'
),
50
new
Entity\IntegerField
(
'PRIORITY'
),
51
];
52
}
53
57
public
static
function
upsert
(
array
$data
): void
58
{
59
$priority = (int)(
$data
[
'PRIORITY'
] ?? 0);
60
61
$currentResult =
62
self::query
()
63
->setSelect([
'ID'
,
'PRIORITY'
])
64
->where(
'WORKFLOW_ID'
,
$data
[
'WORKFLOW_ID'
])
65
->exec()
66
->fetchAll();
67
68
if
(empty($currentResult))
69
{
70
$data
[
'CREATED_DATE'
] =
new
Main\Type\DateTime
();
71
self::add
(
$data
);
72
}
73
else
if
(isset($currentResult[0][
'PRIORITY'
]) && ($currentResult[0][
'PRIORITY'
] <= $priority))
74
{
75
self::update
($currentResult[0][
'ID'
],
$data
);
76
}
77
}
78
79
public
static
function
deleteByWorkflowId
(
string
$workflowId): void
80
{
81
$iterator
= static::query()->setFilter([
'=WORKFLOW_ID'
=> $workflowId])->exec();
82
83
while
(
$result
=
$iterator
->fetchObject())
84
{
85
$result
->delete();
86
}
87
}
88
}
89
Bitrix\Bizproc\Result\Entity\ResultTable
Определения
ResultTable.php:28
Bitrix\Bizproc\Result\Entity\ResultTable\getMap
static getMap()
Определения
ResultTable.php:37
Bitrix\Bizproc\Result\Entity\ResultTable\deleteByWorkflowId
static deleteByWorkflowId(string $workflowId)
Определения
ResultTable.php:79
Bitrix\Bizproc\Result\Entity\ResultTable\upsert
static upsert(array $data)
Определения
ResultTable.php:57
Bitrix\Bizproc\Result\Entity\ResultTable\getTableName
static getTableName()
Определения
ResultTable.php:29
Bitrix\Main\ORM\Data\DataManager
Определения
datamanager.php:35
Bitrix\Main\ORM\Data\DataManager\query
static query()
Определения
datamanager.php:549
Bitrix\Main\ORM\Data\DataManager\add
static add(array $data)
Определения
datamanager.php:877
Bitrix\Main\ORM\Data\DataManager\update
static update($primary, array $data)
Определения
datamanager.php:1256
Bitrix\Main\ORM\Fields\ArrayField
Определения
arrayfield.php:19
Bitrix\Main\ORM\Fields\DatetimeField
Определения
datetimefield.php:22
Bitrix\Main\ORM\Fields\IntegerField
Определения
integerfield.php:20
Bitrix\Main\ORM\Fields\StringField
Определения
stringfield.php:20
Bitrix\Main\ORM\Fields\Validators\LengthValidator
Определения
lengthvalidator.php:19
Bitrix\Main\SystemException
Определения
SystemException.php:9
Bitrix\Main\Type\DateTime
Определения
datetime.php:9
$data
$data['IS_AVAILABLE']
Определения
.description.php:13
array
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения
file_new.php:804
$result
$result
Определения
get_property_values.php:14
Bitrix\Bizproc\Result\Entity
Определения
ResultTable.php:3
Bitrix\Main\Entity
Определения
ufield.php:9
Bitrix\Main
$iterator
$iterator
Определения
yandex_run.php:610
bitrix
modules
bizproc
lib
Result
Entity
ResultTable.php
Создано системой
1.14.0