okopt_client_prices.php 216L cognitive // a:\Server\OSPanel\domains\_okopt_auth\okopt_client_prices.php § block block (L5-L26) { static $ids = null; if ($ids !== null) { return $ids; } $file = __DIR__ . '/okopt_client_price_allow.php'; $ids = []; if (is_file($file)) { $loaded = include $file; if (is_array($loaded)) { foreach ($loaded as $id) { $id = (int)$id; if ($id > 0) { $ids[] = $id; } } } } return $ids; } // ... 55 lines omitted § function okopt_client_price_rules (L84-L113) // ... 1 lines omitted § block block (L28-L58) { static $rules = null; if ($rules !== null) { return $rules; } $rules = []; $inn = okopt_client_price_user_inn(); if ($inn === '') { return $rules; } global $DB; $res = $DB->Query( "SELECT GOOD_KOD, PRICE_XML_ID, DISCOUNT FROM okopt_client_price WHERE INN='" . $DB->ForSql($inn) . "'" ); if (!$res) { return $rules; } while ($row = $res->Fetch()) { $code = trim((string)$row['GOOD_KOD']); if ($code === '') { continue; } $rules[$code] = [ 'PRICE_XML_ID' => strtolower(trim((string)$row['PRICE_XML_ID'])), 'DISCOUNT' => (float)str_replace(',', '.', (string)$row['DISCOUNT']), ]; } return $rules; } // ... 1 lines omitted § function okopt_client_price_groups_by_xml (L115-L133) // ... 1 lines omitted § block block (L60-L79) { static $map = null; if ($map !== null) { return $map; } $map = []; if (!CModule::IncludeModule('catalog')) { return $map; } $res = CCatalogGroup::GetList(['ID' => 'ASC']); while ($row = $res->Fetch()) { $xml = strtolower(trim((string)$row['XML_ID'])); if ($xml !== '') { $map[$xml] = (int)$row['ID']; } } return $map; } // ... 1 lines omitted § function okopt_client_price_article_by_product($productId (L135-L154) // ... 23 lines omitted § block block (L103-L147) { $article = trim((string)$article); $rule = okopt_client_price_rule($article); if (!$rule) { return false; } $offerId = (int)($offer['ID'] ?? 0); if ($offerId <= 0) { return false; } $row = okopt_client_price_row($offerId, $rule['PRICE_XML_ID']); if (!$row) { return false; } $base = round((float)$row['PRICE'], 2); $final = okopt_client_price_money($base, $rule['DISCOUNT']); if ($final < 0) { $final = 0; } if (!isset($offer['ITEM_PRICES'][0]) || !is_array($offer['ITEM_PRICES'][0])) { $offer['ITEM_PRICES'][0] = []; } $offer['ITEM_PRICES'][0]['PRICE'] = $final; $offer['ITEM_PRICES'][0]['BASE_PRICE'] = $base; $offer['ITEM_PRICES'][0]['RATIO_PRICE'] = $final; $offer['ITEM_PRICES'][0]['PRINT_PRICE'] = $final; $offer['ITEM_PRICES'][0]['PRINT_BASE_PRICE'] = $base; $offer['ITEM_PRICES'][0]['PRINT_RATIO_PRICE'] = $final; if (!isset($offer['MIN_PRICE']) || !is_array($offer['MIN_PRICE'])) { $offer['MIN_PRICE'] = []; } $offer['MIN_PRICE']['VALUE'] = $rule['DISCOUNT'] > 0 ? $base : $final; $offer['MIN_PRICE']['VALUE_VAT'] = $offer['MIN_PRICE']['VALUE']; $offer['MIN_PRICE']['DISCOUNT_VALUE'] = $final; $offer['MIN_PRICE']['DISCOUNT_VALUE_VAT'] = $final; $offer['MIN_PRICE']['DISCOUNT_DIFF'] = $rule['DISCOUNT'] > 0 ? round($base - $final, 2) : 0; $offer['MIN_PRICE']['PRINT_VALUE'] = $offer['MIN_PRICE']['VALUE']; $offer['MIN_PRICE']['PRINT_DISCOUNT_VALUE'] = $final; $offer['OKOPT_CLIENT_PRICE'] = true; return true; } // ... 1 lines omitted § function okopt_client_price_apply_item(array (L238-L253) // ... 1 lines omitted § block block (L149-L165) { if (!okopt_client_price_display_allowed()) { return; } if (defined('BX_COMP_MANAGED_CACHE') && is_object($GLOBALS['CACHE_MANAGER'])) { $GLOBALS['CACHE_MANAGER']->RegisterTag('okopt_client_price'); } if (empty($item['OFFERS'][0]) || !is_array($item['OFFERS'][0])) { return; } $article = okopt_client_price_article_from_item($item); if (okopt_client_price_apply_offer($item['OFFERS'][0], $article)) { $item['OKOPT_CLIENT_PRICE'] = true; } } // ... 1 lines omitted § function okoptClientPriceOptimal($productId (L255-L303) § function okoptClientPriceOptimal($productId (L166-L166) function okoptClientPriceOptimal($productId, $quantity = 1, $userGroups = [], $renewal = 'N', $prices = [], $siteId = false, $coupons = []) § block block (L167-L216) { if (!okopt_client_price_allowed() || !CModule::IncludeModule('catalog')) { return true; } $article = okopt_client_price_article_by_product($productId); $rule = okopt_client_price_rule($article); if (!$rule) { return true; } $row = okopt_client_price_row($productId, $rule['PRICE_XML_ID']); if (!$row) { return true; } $base = round((float)$row['PRICE'], 2); $final = okopt_client_price_money($base, $rule['DISCOUNT']); if ($final < 0) { $final = 0; } $vat = (float)($row['VAT_RATE'] ?? 0); $currency = $row['CURRENCY'] ?: 'RUB'; $showBase = $rule['DISCOUNT'] > 0 ? $base : $final; $discountSum = $rule['DISCOUNT'] > 0 ? round($base - $final, 2) : 0; return [ 'PRICE' => [ 'ID' => (int)$row['ID'], 'CATALOG_GROUP_ID' => (int)$row['CATALOG_GROUP_ID'], 'PRICE' => $final, 'CURRENCY' => $currency, 'ELEMENT_IBLOCK_ID' => (int)($row['ELEMENT_IBLOCK_ID'] ?? 0), 'VAT_RATE' => $vat, 'VAT_INCLUDED' => 'Y', ], 'RESULT_PRICE' => [ 'BASE_PRICE' => $showBase, 'DISCOUNT_PRICE' => $final, 'UNROUND_BASE_PRICE' => $showBase, 'UNROUND_DISCOUNT_PRICE' => $final, 'CURRENCY' => $currency, 'DISCOUNT' => $discountSum, 'PERCENT' => $rule['DISCOUNT'] > 0 ? $rule['DISCOUNT'] : 0, 'VAT_RATE' => $vat, 'VAT_INCLUDED' => 'Y', ], 'DISCOUNT_LIST' => [], ]; } 7/16 chunks shown (1877 tokens) [lean-ctx] full source: read "a:\Server\OSPanel\domains\_okopt_auth\okopt_client_prices.php" directly (no MCP) · or ctx_read("a:\Server\OSPanel\domains\_okopt_auth\okopt_client_prices.php", mode="full") 7/15 chunks shown (1781 tokens) [lean-ctx] full source: read "a:\Server\OSPanel\domains\_okopt_auth\okopt_client_prices.php" directly (no MCP) · or ctx_read("a:\Server\OSPanel\domains\_okopt_auth\okopt_client_prices.php", mode="full") Бренды

МЕТЕР

Артикул товара:
68183
Код товара:
UNI-101380
Есть на складе
Насос скваж. ЭЦВ 4-4-55 (1100 Вт), (Россия, БЭЗ)
25576
шт
В корзину
Артикул товара:
61133
Код товара:
UNI-101381
Есть на складе
Насос скваж. ЭЦВ 4-4-80 (1500 Вт), (Россия, БЭЗ)
28612
шт
В корзину
Артикул товара:
28270
Код товара:
UNI-101383
Есть на складе
Насос ЭЦВ 4-10-108 (пр.часть,двиг.5,5 кВт)
51117
шт
В корзину
Артикул товара:
52425
Код товара:
UNI-101384
Есть на складе
Насос ЭЦВ 4-10-54 (пр часть, двиг.2,2 кВт)
31347
шт
В корзину
Артикул товара:
33102
Код товара:
UNI-101385
Есть на складе
Насос ЭЦВ 4-10-65 (пр часть, двиг.3 кВт)
37726
шт
В корзину
Артикул товара:
96427
Код товара:
UNI-101386
Есть на складе
Насос ЭЦВ 4-16-77 (пр.часть, двиг.7,5 кВт)
55719
шт
В корзину
Артикул товара:
53456
Код товара:
UNI-101387
Есть на складе
Насос ЭЦВ 4-20-60 (пр. часть, двиг.7,5 кВт)
55267
шт
В корзину
Артикул товара:
16153
Код товара:
UNI-101388
Есть на складе
Насос ЭЦВ 4-6-114 (пр часть, двиг.3 кВт)
38317
шт
В корзину
Артикул товара:
30422
Код товара:
UNI-101389
Есть на складе
Насос ЭЦВ 4-6-140 (пр часть, двиг.4 кВт)
44771
шт
В корзину
Артикул товара:
26330
Код товара:
UNI-101390
Есть на складе
Насос ЭЦВ 4-6-189 (пр.часть, двиг.7,5 кВт)
56938
шт
В корзину
Артикул товара:
53969
Код товара:
UNI-101391
Есть на складе
Насос ЭЦВ 4-6-87 (пр часть, двиг.2,2 кВт)
31540
шт
В корзину
Артикул товара:
91176
Код товара:
UNI-101392
Есть на складе
Насос ЭЦВ 4-8-110 (пр. часть, двиг.4 кВт)
43271
шт
В корзину
Артикул товара:
61253
Код товара:
UNI-101393
Есть на складе
Насос ЭЦВ 4-8-75 (пр. часть, двиг.3 кВт)
33939
шт
В корзину
Артикул товара:
18059
Код товара:
UNI-101395
Есть на складе
Насос ЭЦВ 5-10-100 (пр. часть, двиг.5,5 кВт)
63827
шт
В корзину
Артикул товара:
13874
Код товара:
UNI-101396
Есть на складе
Насос ЭЦВ 5-10-119 (пр часть, двиг.5,5 кВт)
64560
шт
В корзину
Артикул товара:
26769
Код товара:
UNI-101397
Есть на складе
Насос ЭЦВ 5-10-135 (пр. часть, двиг.7,5 кВт)
72244
шт
В корзину
Артикул товара:
41803
Код товара:
UNI-101398
Есть на складе
Насос ЭЦВ 5-10-162 (пр часть, двиг.7,5 кВт)
72651
шт
В корзину
Артикул товара:
43414
Код товара:
UNI-101399
Есть на складе
Насос ЭЦВ 5-10-185 (пр. часть, двиг.11 кВт)
85396
шт
В корзину
Артикул товара:
33471
Код товара:
UNI-101400
Есть на складе
Насос ЭЦВ 5-10-68 (пр часть, двиг.3 кВт)
44641
шт
В корзину
Артикул товара:
69269
Код товара:
UNI-101401
Есть на складе
Насос ЭЦВ 5-10-85 (пр часть, двиг.4 кВт)
55559
шт
В корзину
Артикул товара:
65843
Код товара:
UNI-101402
Есть на складе
Насос ЭЦВ 5-15-100 (пр часть, двиг.7,5 кВт)
74118
шт
В корзину
Артикул товара:
79761
Код товара:
UNI-101403
Есть на складе
Насос ЭЦВ 5-15-120 (пр часть, двиг.9,2 кВт)
82735
шт
В корзину
Артикул товара:
79241
Код товара:
UNI-101404
Есть на складе
Насос ЭЦВ 5-15-46 (пр часть, двиг.3 кВт)
49557
шт
В корзину
Артикул товара:
62033
Код товара:
UNI-101405
Есть на складе
Насос ЭЦВ 5-15-61 (пр часть, двиг.4 кВт)
55945
шт
В корзину
Артикул товара:
24646
Код товара:
UNI-101406
Есть на складе
Насос ЭЦВ 5-15-81 (пр часть, двиг.5,5 кВт)
66900
шт
В корзину
Артикул товара:
16097
Код товара:
UNI-101407
Есть на складе
Насос ЭЦВ 5-20-100 (пр. часть, двиг.9,2 кВт)
82644
шт
В корзину
Артикул товара:
16524
Код товара:
UNI-101408
Есть на складе
Насос ЭЦВ 5-20-127 (пр. часть, двиг.11 кВт)
91523
шт
В корзину
Артикул товара:
34498
Код товара:
UNI-101409
Есть на складе
Насос ЭЦВ 5-20-47 (пр. часть, двиг.4 кВт)
58616
шт
В корзину
Артикул товара:
24138
Код товара:
UNI-101410
Есть на складе
Насос ЭЦВ 5-20-60 (пр. часть, двиг.5,5 кВт)
64788
шт
В корзину
Артикул товара:
27122
Код товара:
UNI-101411
Есть на складе
Насос ЭЦВ 5-20-73 (пр. часть, двиг.7,5 кВт)
71563
шт
В корзину
Артикул товара:
95744
Код товара:
UNI-101412
Есть на складе
Насос ЭЦВ 5-30-51 (пр. часть, двиг.7,5 кВт)
68267
шт
В корзину
Артикул товара:
80302
Код товара:
UNI-101413
Есть на складе
Насос ЭЦВ 5-30-67 (пр. часть, двиг.11 кВт)
93110
шт
В корзину
Артикул товара:
79553
Код товара:
UNI-101414
Есть на складе
Насос ЭЦВ 5-7-135 (пр. часть, двиг.4 кВт)
62282
шт
В корзину
Артикул товара:
70377
Код товара:
UNI-101415
Есть на складе
Насос ЭЦВ 5-7-180 (пр. часть, двиг.5,5 кВт)
71870
шт
В корзину
Артикул товара:
16997
Код товара:
UNI-101416
Есть на складе
Насос ЭЦВ 5-7-225 (пр. часть, двиг.7,5 кВт)
57415
шт
В корзину
Артикул товара:
52737
Код товара:
UNI-101417
Есть на складе
Насос ЭЦВ 5-7-72 (пр. часть, двиг.2,2 кВт)
41729
шт
В корзину
Подождите, прайс-лист генерируется, это может занять несколько минут