Bitrix-D7  20.5.0
Класс OrderTable
Граф наследования:OrderTable:

Открытые статические члены

static getTableName ()
 Returns DB table name for entity. Подробнее...
 
static getMap ()
 Returns entity map definition. Подробнее...
 
static getUfId ()
 

Защищенные статические члены

static replaceDateTime ()
 

Подробное описание

См. определение в файле sale/lib/internals/order.php строка 15

Методы

◆ getMap()

static getMap ( )
static

Returns entity map definition.

Возвращает
array

См. определение в файле sale/lib/internals/order.php строка 32

33  {
34  global $DB, $USER;
35 
36  $maxLock = intval(Main\Config\Option::get('sale','MAX_LOCK_TIME', 60));
37 
38  $userID = (is_object($USER) ? (int)$USER->getID() : 0);
39 
40  $connection = Main\Application::getConnection();
41  $helper = $connection->getSqlHelper();
42 
43  return array(
44  new Main\Entity\IntegerField('ID',
45  array(
46  'autocomplete' => true,
47  'primary' => true,
48  )
49  ),
50 
51  new Main\Entity\StringField('LID'),
52 
53  new Main\Entity\StringField(
54  'ACCOUNT_NUMBER',
55  array(
56  'size' => 100
57  )
58  ),
59 
60  new Main\Entity\StringField('TRACKING_NUMBER'),
61 
62  new Main\Entity\IntegerField('PAY_SYSTEM_ID'),
63  new Main\Entity\IntegerField('DELIVERY_ID'),
64 
65  new Main\Entity\DatetimeField('DATE_INSERT'),
66 
67  new Main\Entity\ExpressionField(
68  'DATE_INSERT_SHORT',
69  $DB->datetimeToDateFunction('%s'),
70  array('DATE_INSERT'),
71  array('data_type' => 'datetime')
72  ),
73 
74  new Main\Entity\ExpressionField(
75  'DATE_INSERT_FORMAT',
76  static::replaceDateTime(),
77  array('DATE_INSERT'),
78  array('data_type' => 'datetime')
79  ),
80 
81  new Main\Entity\DatetimeField('DATE_UPDATE'),
82 
83  new Main\Entity\ExpressionField(
84  'DATE_UPDATE_SHORT',
85  $DB->datetimeToDateFunction('%s'),
86  array('DATE_UPDATE'),
87  array('data_type' => 'datetime')
88  ),
89 
90  new Main\Entity\ExpressionField(
91  'PRODUCTS_QUANT',
92  '(SELECT SUM(b_sale_basket.QUANTITY)
93  FROM b_sale_basket
94  WHERE b_sale_basket.ORDER_ID = %s)',
95  array('ID')
96  ),
97 
98  new Main\Entity\StringField('PERSON_TYPE_ID'),
99 
100  new Main\Entity\IntegerField(
101  'USER_ID',
102  array(
103  'required' => true
104  )
105  ),
106 
107  new Main\Entity\ReferenceField(
108  'USER',
109  '\Bitrix\Main\User',
110  array('=this.USER_ID' => 'ref.ID'),
111  array('join_type' => 'left')
112  ),
113 
114  new Main\Entity\BooleanField(
115  'PAYED',
116  array(
117  'values' => array('N', 'Y'),
118  'default_value' => 'N'
119  )
120  ),
121 
122  new Main\Entity\BooleanField(
123  'IS_SYNC_B24',
124  array(
125  'values' => array('N', 'Y'),
126  'default_value' => 'N'
127  )
128  ),
129 
130  new Main\Entity\DatetimeField('DATE_PAYED'),
131 
132  new Main\Entity\IntegerField('EMP_PAYED_ID'),
133 
134  new Main\Entity\BooleanField(
135  'DEDUCTED',
136  array(
137  'values' => array('N','Y'),
138  'default_value' => 'N'
139  )
140  ),
141  new Main\Entity\DatetimeField('DATE_DEDUCTED'),
142 
143  new Main\Entity\IntegerField('EMP_DEDUCTED_ID'),
144 
145  new Main\Entity\StringField('REASON_UNDO_DEDUCTED'),
146 
147  new Main\Entity\StringField('STATUS_ID'),
148 
149  new Main\Entity\ReferenceField(
150  'STATUS',
151  'Bitrix\Sale\Internals\StatusLang',
152  array(
153  '=this.STATUS_ID' => 'ref.STATUS_ID',
154  '=ref.LID' => array('?', LANGUAGE_ID)
155  )
156  ),
157 
158  new Main\Entity\DatetimeField('DATE_STATUS'),
159 
160  new Main\Entity\ExpressionField(
161  'DATE_STATUS_SHORT',
162  $DB->datetimeToDateFunction('%s'),
163  array('DATE_STATUS'),
164  array('data_type' => 'datetime')
165  ),
166 
167  new Main\Entity\IntegerField('EMP_STATUS_ID'),
168 
169  new Main\Entity\ReferenceField(
170  'EMP_STATUS_BY',
171  'Bitrix\Main\User',
172  array(
173  '=this.EMP_STATUS_ID' => 'ref.ID'
174  )
175  ),
176 
177  new Main\Entity\BooleanField(
178  'MARKED',
179  array(
180  'values' => array('N', 'Y'),
181  'default_value' => 'N'
182  )
183  ),
184 
185  new Main\Entity\DatetimeField('DATE_MARKED'),
186 
187  new Main\Entity\IntegerField('EMP_MARKED_ID'),
188 
189  new Main\Entity\ReferenceField(
190  'EMP_MARKED_BY',
191  'Bitrix\Main\User',
192  array(
193  '=this.EMP_MARKED_ID' => 'ref.ID'
194  )
195  ),
196 
197 
198  new Main\Entity\StringField('REASON_MARKED'),
199 
200  new Main\Entity\FloatField(
201  'PRICE_DELIVERY'
202  ),
203  new Main\Entity\BooleanField(
204  'ALLOW_DELIVERY',
205  array(
206  'values' => array('N', 'Y'),
207  'default_value' => 'N'
208  )
209  ),
210  new Main\Entity\DatetimeField('DATE_ALLOW_DELIVERY'),
211 
212  new Main\Entity\IntegerField('EMP_ALLOW_DELIVERY_ID'),
213 
214  new Main\Entity\BooleanField(
215  'RESERVED',
216  array(
217  'values' => array('N', 'Y'),
218  'default_value' => 'N'
219  )
220  ),
221 
222  new Main\Entity\FloatField(
223  'PRICE',
224  array(
225  'default_value' => '0.0000'
226  )
227  ),
228 
229  new Main\Entity\StringField(
230  'CURRENCY',
231  array(
232  'required' => true,
233  'size' => 3
234  )
235  ),
236 
237  new Main\Entity\FloatField(
238  'DISCOUNT_VALUE',
239  array(
240  'default_value' => '0.0000'
241  )
242  ),
243 
244  new Main\Entity\ExpressionField(
245  'DISCOUNT_ALL',
246  "%s + (SELECT SUM(b_sale_basket.DISCOUNT_PRICE)
247  FROM b_sale_basket
248  WHERE b_sale_basket.ORDER_ID = %s)",
249  array('DISCOUNT_VALUE', 'ID')
250  ),
251 
252  new Main\Entity\FloatField('TAX_VALUE'),
253 
254  new Main\Entity\FloatField('SUM_PAID'),
255 
256  new Main\Entity\ExpressionField(
257  'SUM_PAID_FORREP',
258  'CASE WHEN %s = \'Y\' THEN %s ELSE %s END',
259  array('PAYED', 'PRICE', 'SUM_PAID')
260  ),
261 
262  new Main\Entity\StringField(
263  'USER_DESCRIPTION',
264  array(
265  'size' => 2000
266  )
267  ),
268 
269  new Main\Entity\StringField(
270  'PAY_VOUCHER_NUM',
271  array(
272  'size' => 20,
273  )
274  ),
275 
276  new Main\Entity\DateField('PAY_VOUCHER_DATE'),
277 
278  new Main\Entity\StringField('ADDITIONAL_INFO'),
279 
280  new Main\Entity\StringField('COMMENTS'),
281 
282  new Main\Entity\IntegerField('COMPANY_ID'),
283 
284  new Main\Entity\IntegerField('CREATED_BY'),
285 
286  new Main\Entity\ReferenceField(
287  'CREATED_USER',
288  'Bitrix\Main\User',
289  array(
290  '=this.CREATED_BY' => 'ref.ID'
291  )
292  ),
293 
294  new Main\Entity\IntegerField('RESPONSIBLE_ID'),
295 
296  new Main\Entity\ReferenceField(
297  'RESPONSIBLE_BY',
298  'Bitrix\Main\User',
299  array(
300  '=this.RESPONSIBLE_ID' => 'ref.ID'
301  )
302  ),
303 
304  new Main\Entity\StringField('STAT_GID'),
305 
306  new Main\Entity\DateField('DATE_PAY_BEFORE'),
307 
308  new Main\Entity\DateField('DATE_BILL'),
309 
310  new Main\Entity\BooleanField(
311  'IS_RECURRING',
312  array(
313  'values' => array('N', 'Y'),
314  'default_value' => 'N'
315  )
316  ),
317 
318  new Main\Entity\IntegerField('RECURRING_ID'),
319 
320  new Main\Entity\IntegerField('LOCKED_BY'),
321 
322  new Main\Entity\ReferenceField(
323  'LOCK_USER',
324  'Bitrix\Main\User',
325  array(
326  '=this.LOCKED_BY' => 'ref.ID'
327  )
328  ),
329 
330  new Main\Entity\DatetimeField('DATE_LOCK'),
331 
332 
333 
334  new Main\Entity\ExpressionField(
335  'LOCK_USER_NAME',
336  $helper->getConcatFunction("'('", "%s", "') '", "%s", "' '", "%s"),
337  array('LOCK_USER.LOGIN', 'LOCK_USER.NAME', 'LOCK_USER.LAST_NAME')
338  ),
339 
340  new Main\Entity\ExpressionField(
341  'LOCK_STATUS',
342  "if(DATE_LOCK is null, 'green', if(DATE_ADD(DATE_LOCK, interval ".$maxLock." MINUTE)<now(), 'green', if(LOCKED_BY=".$userID.", 'yellow', 'red')))"
343  ),
344 
345  new Main\Entity\ReferenceField(
346  'USER_GROUP',
347  'Bitrix\Main\UserGroup',
348  array(
349  '=ref.USER_ID' => 'this.USER_ID'
350  )
351  ),
352 
353  new Main\Entity\ReferenceField(
354  'RESPONSIBLE',
355  'Bitrix\Main\User',
356  array(
357  '=this.RESPONSIBLE_ID' => 'ref.ID'
358  )
359  ),
360 
361  new Main\Entity\ReferenceField(
362  'BASKET',
363  'Bitrix\Sale\Internals\Basket',
364  array(
365  '=this.ID' => 'ref.ORDER_ID'
366  ),
367  array('join_type' => 'INNER')
368 
369  ),
370 
371  new Main\Entity\ExpressionField(
372  'BASKET_PRICE_TOTAL',
373  '(%s * %s)',
374  array('BASKET.PRICE', 'BASKET.QUANTITY')
375  ),
376 
377  new Main\Entity\ReferenceField(
378  'PAYMENT',
379  'Bitrix\Sale\Internals\Payment',
380  array(
381  '=ref.ORDER_ID' => 'this.ID',
382  )
383  ),
384 
385  new Main\Entity\ReferenceField(
386  'SHIPMENT',
387  'Bitrix\Sale\Internals\Shipment',
388  array(
389  '=ref.ORDER_ID' => 'this.ID',
390  )
391  ),
392 
393  new Main\Entity\ReferenceField(
394  'PROPERTY',
395  'Bitrix\Sale\Internals\OrderPropsValue',
396  array(
397  '=ref.ORDER_ID' => 'this.ID',
398  ),
399  array('join_type' => 'INNER')
400  ),
401 
402  new Main\Entity\BooleanField(
403  'RECOUNT_FLAG',
404  array(
405  'values' => array('N', 'Y')
406  )
407  ),
408 
409  new Main\Entity\IntegerField('AFFILIATE_ID'),
410 
411  new Main\Entity\StringField(
412  'DELIVERY_DOC_NUM',
413  array(
414  'size' => 20
415  )
416  ),
417 
418  new Main\Entity\DatetimeField('DELIVERY_DOC_DATE'),
419 
420  new Main\Entity\BooleanField(
421  'UPDATED_1C',
422  array(
423  'values' => array('N', 'Y'),
424  'default' => 'N'
425  )
426  ),
427 
428  new Main\Entity\StringField('ORDER_TOPIC'),
429 
430  new Main\Entity\StringField('XML_ID'),
431 
432  new Main\Entity\StringField('ID_1C'),
433 
434  new Main\Entity\StringField('VERSION_1C'),
435 
436  new Main\Entity\IntegerField('VERSION'),
437 
438  new Main\Entity\BooleanField(
439  'EXTERNAL_ORDER',
440  array(
441  'values' => array('N', 'Y')
442  )
443  ),
444 
445  new Main\Entity\IntegerField('STORE_ID'),
446 
447  new Main\Entity\BooleanField(
448  'CANCELED',
449  array(
450  'values' => array('N', 'Y'),
451  'default_value' => 'N'
452  )
453  ),
454  new Main\Entity\IntegerField('EMP_CANCELED_ID'),
455 
456  new Main\Entity\ReferenceField(
457  'EMP_CANCELED_BY',
458  'Bitrix\Main\User',
459  array(
460  '=this.EMP_CANCELED_ID' => 'ref.ID'
461  )
462  ),
463 
464  new Main\Entity\DatetimeField('DATE_CANCELED'),
465 
466  new Main\Entity\ExpressionField(
467  'DATE_CANCELED_SHORT',
468  $DB->datetimeToDateFunction('%s'),
469  array('DATE_CANCELED'),
470  array('DATA_TYPE' => 'datetime')
471  ),
472 
473  new Main\Entity\StringField('REASON_CANCELED'),
474 
475 
476  new Main\Entity\StringField('BX_USER_ID'),
477 
478  new Main\Entity\TextField('SEARCH_CONTENT'),
479 
480  new Main\Entity\BooleanField(
481  'RUNNING',
482  array(
483  'values' => array('N', 'Y'),
484  'default_value' => 'N'
485  )
486  ),
487 
488  new Main\Entity\ReferenceField(
489  'ORDER_COUPONS',
490  'Bitrix\Sale\Internals\OrderCoupons',
491  array(
492  '=ref.ORDER_ID' => 'this.ID',
493  ),
494  array('join_type' => 'LEFT')
495  ),
496 
497  new Main\Entity\ReferenceField(
498  'ORDER_DISCOUNT_DATA',
499  'Bitrix\Sale\Internals\OrderDiscountData',
500  array(
501  '=ref.ORDER_ID' => 'this.ID',
502  '=ref.ENTITY_TYPE' => new Main\DB\SqlExpression('?', OrderDiscountDataTable::ENTITY_TYPE_ORDER)
503  ),
504  array('join_type' => 'LEFT')
505  ),
506 
507  new Main\Entity\ExpressionField(
508  'BY_RECOMMENDATION',
509  "(SELECT (CASE WHEN MAX(BR.RECOMMENDATION) IS NULL OR MAX(BR.RECOMMENDATION) = '' THEN 'N' ELSE 'Y' END) FROM b_sale_basket BR WHERE BR.ORDER_ID=%s GROUP BY BR.ORDER_ID)",
510  array('ID')
511  ),
512 
513  new Main\Entity\ReferenceField(
514  'TRADING_PLATFORM',
515  \Bitrix\Sale\TradingPlatform\OrderTable::getEntity(),
516  array(
517  '=ref.ORDER_ID' => 'this.ID',
518  ),
519  array('join_type' => 'LEFT')
520  ),
521  );
522  }
static getConnection($name="")
Static method returns database connection for the specified name.
static get($moduleId, $name, $default="", $siteId=false)
Returns a value of an option.
Class RestHandler \Handlers\PaySystem.

◆ getTableName()

static getTableName ( )
static

Returns DB table name for entity.

Возвращает
string

См. определение в файле sale/lib/internals/order.php строка 22

23  {
24  return 'b_sale_order';
25  }

◆ getUfId()

static getUfId ( )
static

См. определение в файле sale/lib/internals/order.php строка 524

525  {
526  return 'ORDER';
527  }

◆ replaceDateTime()

static replaceDateTime ( )
staticprotected

См. определение в файле sale/lib/internals/order.php строка 529

530  {
531  global $DB;
532  $datetime = $DB->DateToCharFunction('___DATETIME___');
533  $datetime = str_replace('%', '%%', $datetime);
534  $datetime = str_replace('___DATETIME___', '%1$s', $datetime);
535  return $datetime;
536  }

Объявления и описания членов класса находятся в файле: