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

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

static deleteBundle ($id)
 
static deleteWithItems ($id)
 
static getTableName ()
 
static getMap ()
 
static validateCurrency ()
 Returns validators for CURRENCY field. Подробнее...
 
static validateLid ()
 Returns validators for LID field. Подробнее...
 
static validateDiscountName ()
 Returns validators for DISCOUNT_NAME field. Подробнее...
 
static validateDiscountValue ()
 Returns validators for DISCOUNT_VALUE field. Подробнее...
 
static validateDiscountCoupon ()
 Returns validators for DISCOUNT_COUPON field. Подробнее...
 

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

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

Методы

◆ deleteBundle()

static deleteBundle (   $id)
static
Аргументы
$id
Возвращает
Main\Entity\DeleteResult
Исключения
Main

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

24  {
25  $id = intval($id);
26  if ($id <= 0)
27  throw new Main\ArgumentNullException("id");
28 
29  $itemsFromDbList = BasketTable::getList(
30  array(
31  "filter" => array(
32  'SET_PARENT_ID' => $id,
33  ),
34  "select" => array("ID")
35  )
36  );
37  while ($itemsFromDbItem = $itemsFromDbList->fetch())
38  BasketTable::deleteWithItems($itemsFromDbItem['ID']);
39 
40  return BasketTable::deleteWithItems($id);
41  }

◆ deleteWithItems()

static deleteWithItems (   $id)
static
Аргументы
$id
Возвращает
Main\Entity\DeleteResult
Исключения
Main

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

50  {
51  $id = intval($id);
52  if ($id <= 0)
53  throw new Main\ArgumentNullException("id");
54 
55  $itemsList = BasketPropertyTable::getList(
56  array(
57  "select" => array("ID"),
58  "filter" => array("BASKET_ID" => $id),
59  )
60  );
61  while ($item = $itemsList->fetch())
62  BasketPropertyTable::delete($item["ID"]);
63 
64  return BasketTable::delete($id);
65  }

◆ getMap()

static getMap ( )
static
Возвращает
array

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

79  {
80  global $DB;
81 
82  $connection = Main\Application::getConnection();
83  $helper = $connection->getSqlHelper();
84 
85  return array(
86  'ID' => array(
87  'data_type' => 'integer',
88  'primary' => true,
89  'autocomplete' => true,
90  ),
91  'LID' => array(
92  'data_type' => 'string',
93  'required' => true,
94  'validation' => array(__CLASS__, 'validateLid'),
95  ),
96  'FUSER_ID' => array(
97  'data_type' => 'integer',
98  'required' => true,
99  ),
100 
101  new Main\Entity\ReferenceField(
102  'FUSER',
103  'Bitrix\Sale\Internals\Fuser',
104  array('=this.FUSER_ID' => 'ref.ID'),
105  array('join_type' => 'INNER')
106  ),
107 
108  new Main\Entity\ReferenceField(
109  'USER',
110  'Bitrix\Main\User',
111  array('=ref.ID' => 'this.FUSER.USER_ID')
112  ),
113 
114  'ORDER_ID' => array(
115  'data_type' => 'integer'
116  ),
117 
118  new Main\Entity\ReferenceField(
119  'ORDER',
120  'Bitrix\Sale\Internals\Order',
121  array('=this.ORDER_ID' => 'ref.ID')
122  ),
123 
124  'PRODUCT_ID' => array(
125  'data_type' => 'integer',
126  'required' => true,
127  ),
128  'PRODUCT' => array(
129  'data_type' => 'Product',
130  'reference' => array(
131  '=this.PRODUCT_ID' => 'ref.ID'
132  )
133  ),
134  'PRODUCT_PRICE_ID' => array(
135  'data_type' => 'integer'
136  ),
137  'PRICE_TYPE_ID' => array(
138  'data_type' => 'integer'
139  ),
140  'NAME' => array(
141  'data_type' => 'string'
142  ),
143 
144  new Main\Entity\ExpressionField(
145  'NAME_WITH_IDENT',
146  $helper->getConcatFunction("%s", "' ['", "%s", "']'"),
147  array('NAME', 'PRODUCT_ID')
148  ),
149 
150  new Main\Entity\FloatField(
151  'PRICE'
152  ),
153 
154  'CURRENCY' => array(
155  'data_type' => 'string',
156  'required' => true,
157  'validation' => array(__CLASS__, 'validateCurrency'),
158  ),
159 
160  new Main\Entity\FloatField(
161  'BASE_PRICE'
162  ),
163 
164  'VAT_INCLUDED' => array(
165  'data_type' => 'boolean',
166  'values' => array('Y','N')
167  ),
168 
169  'DATE_INSERT' => array(
170  'data_type' => 'datetime'
171  ),
172  new Main\Entity\ExpressionField(
173  'DATE_INS',
174  $DB->datetimeToDateFunction('%s'),
175  array('DATE_INSERT'),
176  array('data_type' => 'datetime')
177  ),
178 
179  'DATE_UPDATE' => array(
180  'data_type' => 'datetime'
181  ),
182  new Main\Entity\ExpressionField(
183  'DATE_UPD',
184  $DB->datetimeToDateFunction('%s'),
185  array('DATE_UPDATE'),
186  array('data_type' => 'datetime')
187  ),
188 
189  'DATE_REFRESH' => array(
190  'data_type' => 'datetime'
191  ),
192  new Main\Entity\ExpressionField(
193  'DATE_REF',
194  $DB->datetimeToDateFunction('%s'),
195  array('DATE_REFRESH'),
196  array('data_type' => 'datetime')
197  ),
198 
199  new Main\Entity\FloatField(
200  'WEIGHT'
201  ),
202 
203  new Main\Entity\FloatField(
204  'QUANTITY',
205  array(
206  'required' => true
207  )
208  ),
209 
210  'DELAY' => array(
211  'data_type' => 'boolean',
212  'values' => array('N','Y')
213  ),
214 
215  'SUMMARY_PRICE' => array(
216  'data_type' => 'float',
217  'expression' => array(
218  '(%s * %s)', 'QUANTITY', 'PRICE'
219  )
220  ),
221 
222  'CAN_BUY' => array(
223  'data_type' => 'boolean',
224  'values' => array('N','Y')
225  ),
226 
227  'MARKING_CODE_GROUP' => array(
228  'data_type' => 'string',
229  ),
230 
231  'MODULE' => array(
232  'data_type' => 'string'
233  ),
234 
235  'PRODUCT_PROVIDER_CLASS' => array(
236  'data_type' => 'string'
237  ),
238 
239  'NOTES' => array(
240  'data_type' => 'string'
241  ),
242 
243  'DETAIL_PAGE_URL' => array(
244  'data_type' => 'string'
245  ),
246 
247  new Main\Entity\FloatField(
248  'DISCOUNT_PRICE',
249  array(
250  'default_value' => '0.00'
251  )
252  ),
253 
254  'CATALOG_XML_ID' => array(
255  'data_type' => 'string'
256  ),
257 
258  'PRODUCT_XML_ID' => array(
259  'data_type' => 'string'
260  ),
261 
262  'DISCOUNT_NAME' => array(
263  'data_type' => 'string',
264  'validation' => array(__CLASS__, 'validateDiscountName'),
265  ),
266 
267  'DISCOUNT_VALUE' => array(
268  'data_type' => 'string',
269  'validation' => array(__CLASS__, 'validateDiscountValue'),
270  ),
271 
272  'DISCOUNT_COUPON' => array(
273  'data_type' => 'string',
274  'validation' => array(__CLASS__, 'validateDiscountCoupon'),
275  ),
276 
277  new Main\Entity\FloatField(
278  'VAT_RATE'
279  ),
280 
281  new Main\Entity\ExpressionField(
282  'VAT_RATE_PRC',
283  '100 * %s',
284  array('VAT_RATE')
285  ),
286 
287  'SUBSCRIBE' => array(
288  'data_type' => 'boolean',
289  'values' => array('N','Y')
290  ),
291  'N_SUBSCRIBE' => array(
292  'data_type' => 'integer',
293  'expression' => array(
294  'CASE WHEN %s = \'Y\' THEN 1 ELSE 0 END', 'SUBSCRIBE'
295  )
296  ),
297 
298  'RESERVED' => array(
299  'data_type' => 'boolean',
300  'values' => array('N', 'Y'),
301  ),
302 
303  new Main\Entity\FloatField(
304  'RESERVE_QUANTITY'
305  ),
306 
307  'BARCODE_MULTI' => array(
308  'data_type' => 'boolean',
309  'values' => array('N','Y')
310  ),
311 
312  'CUSTOM_PRICE' => array(
313  'data_type' => 'boolean',
314  'values' => array('N','Y')
315  ),
316 
317  'DIMENSIONS' => array(
318  'serialized' => true,
319  'data_type' => 'string'
320  ),
321 
322  new Main\Entity\IntegerField(
323  'TYPE'
324  ),
325  new Main\Entity\IntegerField(
326  'SET_PARENT_ID'
327  ),
328  new Main\Entity\IntegerField(
329  'MEASURE_CODE'
330  ),
331 
332  'MEASURE_NAME' => array(
333  'data_type' => 'string'
334  ),
335 
336  'CALLBACK_FUNC' => array(
337  'data_type' => 'string'
338  ),
339 
340  'ORDER_CALLBACK_FUNC' => array(
341  'data_type' => 'string'
342  ),
343 
344  'CANCEL_CALLBACK_FUNC' => array(
345  'data_type' => 'string'
346  ),
347 
348  'PAY_CALLBACK_FUNC' => array(
349  'data_type' => 'string'
350  ),
351 
352  'RECOMMENDATION' => array(
353  'data_type' => 'string'
354  ),
355 
356 
357  'ALL_PRICE' => array(
358  'data_type' => 'float',
359  'expression' => array(
360  '(%s + %s)', 'PRICE', 'DISCOUNT_PRICE'
361  )
362  ),
363 
364  'SUMMARY_PURCHASING_PRICE' => array(
365  'data_type' => 'float',
366  'expression' => array(
367  '(%s) * %s', 'PRODUCT.PURCHASING_PRICE_IN_SITE_CURRENCY', 'QUANTITY'
368  )
369  ),
370  'GROSS_PROFIT' => array(
371  'data_type' => 'float',
372  'expression' => array(
373  '(%s) - (%s)', 'SUMMARY_PRICE', 'SUMMARY_PURCHASING_PRICE'
374  )
375  ),
376  'PROFITABILITY' => array(
377  'data_type' => 'float',
378  'expression' => array(
379  'CASE WHEN %s is NULL OR %s=0 THEN NULL ELSE (%s) * 100 / (%s) END',
380  'SUMMARY_PURCHASING_PRICE', 'SUMMARY_PURCHASING_PRICE', 'GROSS_PROFIT', 'SUMMARY_PURCHASING_PRICE'
381  )
382  ),
383 
384  'SHIPMENT_ITEM' => array(
385  'data_type' => 'ShipmentItem',
386  'reference' => array(
387  '=ref.BASKET_ID' => 'this.ID',
388  )
389  ),
390  'SHIPMENT' => array(
391  'data_type' => 'Shipment',
392  'reference' => array(
393  '=ref.ID' => 'this.SHIPMENT_ITEM.ORDER_DELIVERY_ID',
394  )
395  ),
396 
397  'PAYMENT' => array(
398  'data_type' => 'Payment',
399  'reference' => array(
400  '=ref.ORDER_ID' => 'this.ORDER_ID',
401  )
402  ),
403 
404  new Main\Entity\IntegerField(
405  'SORT',
406  array(
407  'default' => '100'
408  )
409  ),
410 
411  'XML_ID' => array(
412  'data_type' => 'string'
413  ),
414  );
415  }
static getConnection($name="")
Static method returns database connection for the specified name.

◆ getTableName()

static getTableName ( )
static
Возвращает
string

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

71  {
72  return 'b_sale_basket';
73  }

◆ validateCurrency()

static validateCurrency ( )
static

Returns validators for CURRENCY field.

Возвращает
array

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

423  {
424  return array(
425  new Main\Entity\Validator\Length(null, 3),
426  );
427  }

◆ validateDiscountCoupon()

static validateDiscountCoupon ( )
static

Returns validators for DISCOUNT_COUPON field.

Возвращает
array

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

471  {
472  return array(
473  new Main\Entity\Validator\Length(null, 32),
474  );
475  }

◆ validateDiscountName()

static validateDiscountName ( )
static

Returns validators for DISCOUNT_NAME field.

Возвращает
array

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

447  {
448  return array(
449  new Main\Entity\Validator\Length(null, 255),
450  );
451  }

◆ validateDiscountValue()

static validateDiscountValue ( )
static

Returns validators for DISCOUNT_VALUE field.

Возвращает
array

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

459  {
460  return array(
461  new Main\Entity\Validator\Length(null, 32),
462  );
463  }

◆ validateLid()

static validateLid ( )
static

Returns validators for LID field.

Возвращает
array

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

435  {
436  return array(
437  new Main\Entity\Validator\Length(null, 2),
438  );
439  }

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