1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
ResultTable.php
См. документацию.
1<?php
2
4
10
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 =
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();
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
static deleteByWorkflowId(string $workflowId)
Определения ResultTable.php:79
static upsert(array $data)
Определения ResultTable.php:57
static add(array $data)
Определения datamanager.php:877
static update($primary, array $data)
Определения datamanager.php:1256
$data['IS_AVAILABLE']
Определения .description.php:13
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$result
Определения get_property_values.php:14
Определения ufield.php:9
$iterator
Определения yandex_run.php:610