
Vladimir
25.11.2016
08:51:53
вот она магия 100 уровня_)

Анатолий
25.11.2016
08:51:57
ахаха, меня сегодня прёт не перлы ))

Андрей
25.11.2016
08:53:02

Maxim
25.11.2016
08:53:15
нет. тогда IN включится

Google

Maxim
25.11.2016
08:53:27
а IN плохо работает с индексами
http://stackoverflow.com/questions/586381/mysql-not-using-indexes-with-where-in-clause

Анатолий
25.11.2016
08:55:48
а поставить условие статус меньше 3 - не подойдет?

Maxim
25.11.2016
08:56:52
$query->addFilter(null, array(
'LOGIC' => 'OR',
'=STATUS' => \CTasks::STATE_NEW,
array(
'=STATUS' => \CTasks::STATE_PENDING,
)
));
а я про цифры ничего не знаю

Анатолий
25.11.2016
08:57:31
ок. тогда только копать класс фильтра

Maxim
25.11.2016
09:00:18
$query->addFilter(null, array(
'LOGIC' => 'OR',
array(
'=STATUS' => \CTasks::STATE_NEW,
),
array(
'=STATUS' => \CTasks::STATE_PENDING,
)
));
вот так правильней будет

Ruslan
25.11.2016
09:26:20
Добрый день! Подскажите может кто сталкивался, при применении купона на скидку, она слетает при изменении статуса заказа. В чем могут быть причины?

Анатолий
25.11.2016
10:01:22
вообще не должно так быть, так что где-то наверное есть код, который к примеру заново собирает заказ и не применяет купон и т.д. поищи обработчики событий и посмотри кто-что туда напихал

Maxim
25.11.2016
10:34:25
Ща маман звонила, денег срочно 5 тыс надо. отец в аварию попал. Звоню ей, спрашиваю а чо так мало? та меня спросони спрашивает чего мало?
отец тоже с ночной. видимо с кровати упал. срочно нужна помосчь

Юрий
25.11.2016
10:39:11
куда деньги переводить?

Google

Maxim
25.11.2016
10:39:38
у меня маму разводили как то, звонят моим голосом, мам я в аварию попал, помоги, надо заплатить. Она спросила, Олег, ты чтоли? Да мам, это я. Странно, как ты из коляски можешь мне звонить? бросили трубу чот.

Mv
25.11.2016
10:41:22
Маам. моя коляска попала в ДТП. Более старший мальчик хочет разойтись полюбовно. Купи килограмм конфет и принеси во двор пожалуйста.

Maxim
25.11.2016
11:07:37
ребят
по мускулю можете подсказать?
выборки в JOIN ON и в WHERE если есть возможность или там или там писать, есть разница ?
например
дополнительно проверяется TYPE=A из джойнутой таблицы.
есть разница, вставить в джоин он этот кондишн или в where

Pavel
25.11.2016
11:11:31
в джоин параметри склейки, в where параметры фильтрации, что куда вставить хотите?

Maxim
25.11.2016
11:13:13
ну смотри, мож я не верно мыслю...
для меня джоин это некая виртуальная выборка по кондишину из ОН а потом уже работа с этой виртуальной выборкой в основном запросе. не?
потому и хотел отсеять в этом подзапросе лишнее и работать уже только с нужными данными

Pavel
25.11.2016
11:15:56
нет, на пальцах это так,
есть таблица А и B, если A сжоинить с B получится табличка C с колонками из A и B и вот тут ты делаешь where C.TYPE = 'A'
в ON ты задаешь сравнение как сопоставить строки из одной таблицы со второй таблицей

Maxim
25.11.2016
11:17:08
а, тоесть он не ускоряет

Pavel
25.11.2016
11:17:52
джоин и скорость штуки не сопоставимые в принципе :)
чтоб ускорить надо отказатся от джоинов вообще))

Maxim
25.11.2016
11:19:12
и как ты тогда предлагаешь работать с данными хранящимися в другой таблице? )))

Pavel
25.11.2016
11:21:23
простыми запросами, конечно какой то простой джоин на небольших выборках особо не замедлит, но если ты задумался об ускорении, значит там не простой джоин A+B, а что то сложнее и боллее объемное (по выбору данных). Проще простыми запросами по индексам работь, то есть вместо одного запроса с 5 джоинами, сделать 5 простых запросов по индексным колонкам

Maxim
25.11.2016
11:21:34
а, ну это я знаю )

Pavel
25.11.2016
11:24:10
ну вот)) нет никакой магии, все на самом деле оч просто))

Google

Maxim
25.11.2016
11:26:11
https://www.youtube.com/watch?v=2B4rOAl_Rpc&feature=youtu.be
https://www.youtube.com/watch?v=nuWh_Q4vlIc

Ruslan
25.11.2016
11:32:12
*подскажите пожалуйста

Maxim
25.11.2016
11:32:45
подчеркнула, жмите ))))
у меня истерика

Ruslan
25.11.2016
11:33:00
)))))
Даже боюсь представить откуда в т9 такая комбинация))))

Pavel
25.11.2016
11:37:23

Ruslan
25.11.2016
11:38:03
Да я на работе) тут залочен доступ с пк

Pavel
25.11.2016
11:38:42
в телеграм? в сеть? или просто нет прав админских? Для последнего есть portable версия
Для первого ест возможность настроить прокси

Pavel
25.11.2016
11:40:00
ну а если нет сети, то ...ммм печательно, гуглить решения с трубки наверное не оч производительно получается))

Ruslan
25.11.2016
11:41:35
Нет, прокся не дает в телеграм зайти

Pavel
25.11.2016
11:41:44
да и обычно спросить тут вместо ТП сокращает срок разработки проекта))

Ruslan
25.11.2016
11:41:52
Гуглю с компа

Pavel
25.11.2016
11:43:00

Maxim
25.11.2016
11:43:38
опера бесплатно впн предоставляет

Tony
25.11.2016
11:44:00
а потом https://web.telegram.org/#/login

Pavel
25.11.2016
11:45:00
http://joxi.ru/zAND7Y3flpXavm ?

Google

Maxim
25.11.2016
11:45:42
с браузера через бровсерсек можно
даже росчегототамтрах не мешается

Ruslan
25.11.2016
11:46:02
Оперу прокся не поддерживает)
Не суть

Pavel
25.11.2016
11:46:40

Maxim
25.11.2016
11:47:04
+

Ruslan
25.11.2016
11:47:29
Вопрос по делу. Есть обработчик сохраняющий примененные купоны и проверяющий актуальность товара в корзине, где искать сего зверя?
При изменении статуса заказа

Maxim
25.11.2016
11:48:20
в событиях?

Pavel
25.11.2016
11:53:49
$ grep . "OnSaleStatusOrder" Можно в эту сторону копать попробовать

Admin
ERROR: S client not available

Pavel
25.11.2016
11:55:14
только с флагами пошаманить

Антон
25.11.2016
11:58:11
Добрый день.
В стандартном catalog.section можно задать три типа сортировки? Мне нужно чтобы элементы сортировались по наличию (свойство типа список, не используются склады), популярности и индексу сортировки.
Или же без кастомизации компонента можно только два типа сортировки задать и на этом все?

Vladimir
25.11.2016
12:01:15
сортировать именно по остаткам не выйдет через API т.к. там будет сперва товаров кортых больше всего в базе

Pavel
25.11.2016
12:02:10
сделайте 2 компонента подряд)) первый показывает только популярные > 0 и доступные остальное во второй
ну это если не хотите свой писать)) как то так пошло, что секшены я давно сам пишу

Антон
25.11.2016
12:05:43

Pavel
25.11.2016
12:06:08
ну сделайте 2 компонента и разделите по наличию
те что в наличие в первом, те что нет во втором. Ajax или нет роли не играет если то что вы получаете по аяксу идентично тому, что вы получите по урлу

Google

Pavel
25.11.2016
12:07:09
а нет
туплю))
в 2 не получится))
пишите свой)) в выборке с инфоблоков нет ничего такого нереального, там 2 десятка строк кода получится (вместе с кэшем)

Бернгардт
25.11.2016
12:16:52
вполне так сопоставимые..

Антон
25.11.2016
12:24:11

Pavel
25.11.2016
12:25:20
да и в принципе все зависит от ситуации))

Бернгардт
25.11.2016
12:27:24
ну меня просто несколько поразила однозначность утверждения
от кейса зависит, прям очень-очень
когда оказывается что логика джоин прям в коде получается мозговыносная
а парсер sql у mysql не такой уж и быстрый (да, такое тоже бывает)
то тогда join вполне может быть синонимом - оптимизации конечного времени выполнения

Pavel
25.11.2016
12:27:59
парсер можно отключить)))

Бернгардт
25.11.2016
12:28:08
всегда стоит сначала о логике подумать, о неудобных данных
и не забыть заглянуть в explain

Pavel
25.11.2016
12:28:13
точнее не парсер а оптимизатор

Бернгардт
25.11.2016
12:28:21
а можно просто не обмениваться этими данными ;)
не, речь о парсере
при большом кол-ве простых выборок, которые вполне влезают в буфер - накладки парсера могут чувствоваться
поправка - не в буфер, а в ключи

Pavel
25.11.2016
12:30:45
Я не говорю что джоины зло, я говорю что это в большинстве кейсов проблема при масштабировании, ака оптимизации, акак хайлоад на БД
когда ваша БД начнет тухнуть, вам придется взять вторую и разложить табличци по разным серверам, а кейсов с джоинами 2 серверов пока как то не встречал

Ruslan
25.11.2016
12:33:13
Блин, скачал голую коробку битрикс
Та же тема, при оформлении заказа слетает примененный купон

Igor
25.11.2016
12:33:49
ОоО

Бернгардт
25.11.2016
12:33:51
если цельную бд придется резать на таблицы в разных бд, изза проблем вставки данных - да, будет проблема
если цельная бд не справляется с чтением - слейв все равно будет лучшим вариантом
с первой ситуацией я чесгря не сталкивался в реале, только в умных книжках пишут
а вот с тем что вместо join делают несколько "простых" выборок - вместо него - повсеместно
возьмем тот же catalog.section, который дергает getlist элемента, который "простыми запросами " дергает отдельно свойство поэлементно, отдельно цену и остаток поэлементно
и вроде не проблема, пока не появляется ску, который тоже поэлементно додергивается..