1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
workflowtemplate.php
См. документацию.
1<?php
2
4
9
26class WorkflowTemplateTable extends Main\Entity\DataManager
27{
31 public static function getTableName()
32 {
33 return 'b_bp_workflow_template';
34 }
35
36 public static function getObjectClass()
37 {
38 return Tpl::class;
39 }
40
44 public static function getMap()
45 {
46 $serializeCallback = [__CLASS__, 'toSerializedForm'];
47 $unserializeCallback = [__CLASS__, 'getFromSerializedForm'];
48
49 return [
50 'ID' => [
51 'data_type' => 'integer',
52 'primary' => true,
53 'autocomplete' => true,
54 ],
55 'MODULE_ID' => [
56 'data_type' => 'string',
57 ],
58 'ENTITY' => [
59 'data_type' => 'string',
60 ],
61 'DOCUMENT_TYPE' => [
62 'data_type' => 'string',
63 ],
64 'DOCUMENT_STATUS' => [
65 'data_type' => 'string',
66 ],
67 'AUTO_EXECUTE' => [
68 'data_type' => 'integer',
69 ],
70 'NAME' => [
71 'data_type' => 'string',
72 ],
73 'DESCRIPTION' => [
74 'data_type' => 'string',
75 ],
76 'TEMPLATE' => (
77 (new Main\ORM\Fields\ArrayField('TEMPLATE'))
78 ->configureSerializeCallback($serializeCallback)
79 ->configureUnserializeCallback($unserializeCallback)
80 ),
81 'PARAMETERS' => (
82 (new Main\ORM\Fields\ArrayField('PARAMETERS'))
83 ->configureSerializeCallback($serializeCallback)
84 ->configureUnserializeCallback($unserializeCallback)
85 ),
86 'VARIABLES' => (
87 (new Main\ORM\Fields\ArrayField('VARIABLES'))
88 ->configureSerializeCallback($serializeCallback)
89 ->configureUnserializeCallback($unserializeCallback)
90 ),
91 'CONSTANTS' => (
92 (new Main\ORM\Fields\ArrayField('CONSTANTS'))
93 ->configureSerializeCallback($serializeCallback)
94 ->configureUnserializeCallback($unserializeCallback)
95 ),
96 'MODIFIED' => [
97 'data_type' => 'datetime',
98 ],
99 'IS_MODIFIED' => [
100 'data_type' => 'boolean',
101 'values' => ['N', 'Y'],
102 ],
103 'USER_ID' => [
104 'data_type' => 'integer',
105 ],
106 'SYSTEM_CODE' => [
107 'data_type' => 'string',
108 ],
109 'ACTIVE' => [
110 'data_type' => 'boolean',
111 'values' => ['N', 'Y'],
112 ],
113 'ORIGINATOR_ID' => [
114 'data_type' => 'string',
115 ],
116 'ORIGIN_ID' => [
117 'data_type' => 'string',
118 ],
119 'USER' => [
120 'data_type' => Main\UserTable::class,
121 'reference' => [
122 '=this.USER_ID' => 'ref.ID',
123 ],
124 'join_type' => 'LEFT',
125 ],
126 'IS_SYSTEM' => [
127 'data_type' => 'boolean',
128 'values' => ['N', 'Y'],
129 ],
130 'SORT' => [
131 'data_type' => 'integer',
132 'default_value' => 10,
133 ],
134 'TYPE' => [
135 'data_type' => 'enum',
136 'values' => array_column(WorkflowTemplateType::cases(), 'value'),
137 'default_value' => 'default',
138 ],
139 new \Bitrix\Main\ORM\Fields\Relations\OneToMany(
140 'TEMPLATE_SETTINGS',
141 \Bitrix\Bizproc\Workflow\Template\WorkflowTemplateSettingsTable::class,
142 'TEMPLATE'
143 )
144 ];
145 }
146
147 public static function getFromSerializedForm($value)
148 {
149 if (!empty($value))
150 {
151 if (self::shouldUseCompression())
152 {
153 $value1 = @gzuncompress($value);
154 if ($value1 !== false)
155 {
156 $value = $value1;
157 }
158 }
159
160 $value = unserialize($value, ['allowed_classes' => false]);
161 if (!is_array($value))
162 {
163 $value = [];
164 }
165 }
166 else
167 {
168 $value = [];
169 }
170
171 return $value;
172 }
173
174 public static function toSerializedForm($value)
175 {
176 if (empty($value))
177 {
178 return null;
179 }
180
181 $buffer = serialize($value);
182 if (self::shouldUseCompression())
183 {
184 $buffer = gzcompress($buffer, 9);
185 }
186
187 return $buffer;
188 }
189
190 public static function getIdsByDocument(array $documentType): array
191 {
192 $documentType = \CBPHelper::ParseDocumentId($documentType);
193 $rows = static::getList([
194 'select' => ['ID'],
195 'filter' => [
196 '=MODULE_ID' => $documentType[0],
197 '=ENTITY' => $documentType[1],
198 '=DOCUMENT_TYPE' => $documentType[2],
199 ],
200 ])->fetchAll();
201
202 return array_column($rows, 'ID');
203 }
204
205 private static function shouldUseCompression(): bool
206 {
207 static $useCompression;
208 if ($useCompression === null)
209 {
210 $useCompression = \CBPWorkflowTemplateLoader::useGZipCompression();
211 }
212
213 return $useCompression;
214 }
215
216 public static function encodeJson($value)
217 {
218 if (empty($value))
219 {
220 return null;
221 }
222
223 return Json::encode($value, 0);
224 }
225
226 public static function decodeJson($value)
227 {
228 if (!empty($value))
229 {
230 return Json::decode($value);
231 }
232
233 return $value;
234 }
235}
Определения json.php:9
if(!defined("ADMIN_AJAX_MODE") &&(($_REQUEST["mode"] ?? '') !='excel')) $buffer
Определения epilog_admin_after.php:40
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$rows
Определения options.php:264