
Andrew
28.12.2016
13:03:59
Насколько понимаю - никак

Folt
28.12.2016
13:05:28
можно, есть технология отдачи заказов на лету

Vlad
28.12.2016
13:10:21
Мне вот кто нибудь объяснит, что за вашу мать...Забыл инициализировать CModule::IncludeModule('iblock'); Узнал об этом при третьем заходе на страницу, Class 'CIBlockElement' not found...Обновил раз 8 страницу, 4 раза выдало ошибку, 4 раза вывело содержимое...На странице других модулей нет, что за выборочное подрубание

Google

Folt
28.12.2016
13:19:48
кеш?)

Vlad
28.12.2016
13:30:03
кеш?)
Для этого должен был быть верный результат хоть раз...Вот только как CIBlockElement отработал 1й раз без CModule::IncludeModule('iblock');

htfb
28.12.2016
13:40:19
Даю ответ на свой вопрос. http://infostart.ru/public/119982/ Вариант Folt Viser конечно тоже хорош, и более правильный, но только если о нем знать до начала работы над проектом, а так заказчик в 100 часов 1С программиста внес изменений в конфигурацию УТ, чтобы от нее отказаться...

Maxim
28.12.2016
13:46:23
Можете кто помочь с SQL?
мне надо посчитать сколько задач было просмотрено людьми с группировкой по людям. факт просмотра в отдельной таблице

Folt
28.12.2016
13:53:51

Vlad
28.12.2016
14:14:01
Народ, хочу тапков
if(!empty($_GET["delete"])){
if (intval($_GET["delete"]))
{
$res = CIBlockElement::GetList(Array("ID"=>"DESC"), Array("IBLOCK_ID"=> '51',"PROPERTY_ID"=> $USER->GetID(),"ID"=>$_GET["delete"]), false, Array(), Array(["ID"]));
while($ob = $res->GetNextElement()) {
$arFields = $ob->GetFields();
if(!empty($arFields))
CIBlockElement::Delete($_GET["delete"]);
}
}
}
Как это можно красивее сделать
Тут проверка, что удаляемый элемент принадлежит нужной группе и текщему пользователю

Mark
28.12.2016
15:05:17
Бизнес логику приложения лучше оформлять в виде апи проекта.
Сделайте функции
GetUserItemById($id){}
deleteUserItem($id){}
Id = intval(get[id];
If (GetUserItemById(..))
deleteUserItem(..)
Else
// hacker detected
Над апи надо подумать.

Vlad
28.12.2016
15:07:31

Dmitry
28.12.2016
15:12:23

Google

Maxim
28.12.2016
15:12:39
а ты попробуй сделать )

Dmitry
28.12.2016
15:13:05
не видя таблиц сложно
2 таблицы, в одной люди, в другой просмотры человек::задача?

Maxim
28.12.2016
15:15:05
да

Dmitry
28.12.2016
15:15:34
надо узнать сколько задач просмотрел каждый человек или что?
или сколько раз человек просмотрел задачу?
факт просмотра человек=задача уникален?
селект Человеки.Имя, КОУНТ(*) ФРОМ Человеки Ч
лефт джоин задачи З ОН Ч.ИД = З.Человек
гроуп бай Ч.ИД, Ч.Имя

Sergey
28.12.2016
18:50:39
среда – это маленькая пятница

Dmitry
28.12.2016
18:57:23
У кого-то пятница, а у кого-то http://coub.com/view/ksqf9

Vasiliy
28.12.2016
19:25:25
Ребят, нужно отслеживать статус заказа после оповещения платежной системы, как это можно реализовать?

Dmitry
28.12.2016
19:31:19
В смысле изменить статус после оповещения?
http://coub.com/view/lckmu

Алексей
28.12.2016
21:06:55
Привет, ребят!
Почти на каждом сайте приходилось писать панельку с типом сортировки : по названию, дате активности, цене (для интернет магазинов), ну и , соответственно, с направлением сортировки - куда же без него: по возрастанию/убыванию.
Запилил на этот случай универсальный компонент. На маркетплейс залил, но пока не доступен - на проверке.
Использование: кидаем компонент на страницу, в настроках самого компонента выбираем свойства/поля для сортировки . выбираем имена для двух глобальных переменных: тип сортировки (SORT по умолчанию) и направление соритровки (ORDER по умолчанию). Прописываем эти же переменные в компоненте новостей или каталога ( что вы желаете сортировать) https://yadi.sk/i/0n36bABw35cipn
Сам компонент уже залил на гит
https://github.com/PanovAlexey/sort.panel
Буду рад, если кто то найдет его для себя полезным или поделится конструктивной критикой

Бернгардт
28.12.2016
21:13:22

Mark
28.12.2016
21:21:44
отличный коммент в шаблоне))

MarconiKlin A12E
28.12.2016
21:27:46
Каким инструментом такие диаграммы делают?

Dmitry
28.12.2016
21:35:24

MarconiKlin A12E
28.12.2016
21:36:12
Да, ну и вообще. Довольно интересно было бы некоторые вещи посмотреть

Dmitry
28.12.2016
21:37:36

Google

MarconiKlin A12E
28.12.2016
21:39:32
Хотя я уже нашёл на хабре.. да и как оказалось на этом скрине тоже написано чем его сделали

Dmitry
28.12.2016
21:40:18

MarconiKlin A12E
28.12.2016
21:40:45
Картинку стащил тут http://pushorigin.ru/speedup/xhprof-bitix-order. У меня такая же проблема была как в статье
Большие заказы (100 и более позиций ) = клинические тормоза.. оказалось это product2product + отгрузка

Vitalii
28.12.2016
21:48:53
http://php.net/manual/en/book.xhprof.php

Amir
29.12.2016
02:22:43
Люди а ничего если данными манипулировать прямо в базе данных на SQL
А то штатными средствами через апи удаление добавление занимает очень много времени. аж сутки
вроде как в структуре таблиц можно разобраться

Haik
29.12.2016
02:49:14
Не стоит этого делать. Лучше оптимизировать запросы

Amir
29.12.2016
02:54:40
как оптимизировать методы
$el->Add
$el->Delete
А если создать хайлоад блоки и к нему подключить как внешний источник данных в 1С, и данные добавлять прямо в 1Ске
можно так сделать?
А то пихать 600 тысяч строк в инфоблоке, нереально долго делается

Amir
29.12.2016
03:01:34
и это ежедневно надо обновлять

Haik
29.12.2016
03:08:23
В Add можно как минимум убрать обновление поискового индекса
int CIBlockElement::Add(
array arFields,
bool bWorkFlow = false,
bool bUpdateSearch = true,
bool bResizePictures = false
);
bUpdateSearch = false
Работает реально быстрее

Amir
29.12.2016
03:09:04
галки сняли с модулей поиска

Haik
29.12.2016
03:13:22
А ты уверен, что нужно все 600000 обновлять?
У меня база в 60 тысяч товаров и обновления приходят раз в час. Но там не обновляются все 60 тысяч. Обычно, не больше 1000. Но приходят все 60 и еще в большом xml. А обновление идет через отдельную легкую таблицу в мускуле. Легче по ней пробежать, проверить изменения, поставить флажок на изменение и уже после этого срабатывает скрипт, который обновляет в инфоблоке только реально измененные элементы


Amir
29.12.2016
03:18:18
ну для начала 600 тыс, далее меньше должно быть
Тут проблема такая, в 1С не могу фиксировать изменения данных, все или ничего.
Сайт должен сам решить что нужно обновлять, решили даннные за последний месяц только обновлять
но даже в таком случае обновление идет несколько часов, еще проблема такая что, по ночам на 1С идут регламентные работы, различные, соединение тупо сбрасывают и т.п.
данные которые из 1С идут, это не простые справочники, а данные которые собираются из различных объектов
поэтому фиксировать изменение как то сложнго говорят

Google

Amir
29.12.2016
03:25:05
поэтому я предлагаю так, пусть 1С фигачит эти данные на внеший источник данных, допустим в Postgesql
а я как нибудь из Битриха вытяну эти данные, "очень быстро"
или создам хайлоад блоки, и 1С пусть само пишет туда сразу
так кто нибудь делает? делал?

Admin
ERROR: S client not available

htfb
29.12.2016
04:37:58
Делал как то магазин с 20М товарами, так у заказчика 10 в сутки шел обмен :) на 4 процессорах работал сайт, и на 8 процессорах в виртуальной машине шел обмен с 1С, потом БД синхронизировались. Ну ты в принципе тоже самое и предлагаешь.

Evgeny
29.12.2016
06:28:15
коллеги, если мне не изменяет память недавно тут проскакивало обсуждение про то как одним гетлистом выбрать по 3 элемента из каждого раздела ИБ - получилось в итоге?

Sergey
29.12.2016
06:55:56
Круто!
Пацаны, прикиньте, есть чат для веб-разработчиков

sowd
29.12.2016
06:56:58
но там же только css html js и php

Sergey
29.12.2016
07:01:11
Там ещё сео сверху и прекрасные идеи заработка

sowd
29.12.2016
07:09:36
если инвайтится и ливать в их группу нон стопом, то их велком бот заспамит группу превественной месагой


Dmitry
29.12.2016
07:20:00
ну для начала 600 тыс, далее меньше должно быть
Тут проблема такая, в 1С не могу фиксировать изменения данных, все или ничего.
Сайт должен сам решить что нужно обновлять, решили даннные за последний месяц только обновлять
но даже в таком случае обновление идет несколько часов, еще проблема такая что, по ночам на 1С идут регламентные работы, различные, соединение тупо сбрасывают и т.п.
А коннект как происходит к 1С? У нас есть доступ у сайта на отдельной сетевухе во внутреннюю сеть. Во внутренней сети есть сервер с апачем, на котором настроен SOAP к серверу 1С. На битриксе тоже настроен SOAP. Раз в неделю в ненагруженное время. Битрикс запрашивает у 1С полный каталог. Остальное время по soap дергает только цены и кол-во каждые 30 минут. Добавление нового товара в 1С ставит его в очередь на добавление к битриксу. Битрикс каждые 4 часа вытягивает ID новых товаров из очереди, после чего уже запросами к SOAP 1C вытягивает полную информацию по новинкам. Около 60 000 номенклатур сейчас.
Изменение свойств, описаний и картинок товара тоже ставит его в очередь


Mark
29.12.2016
07:26:13

Dmitry
29.12.2016
07:26:52

Mark
29.12.2016
07:28:13
И битрикс сам читает эту таблицу?

Dmitry
29.12.2016
07:28:48
А, и да, обновление делается без индексации. ID Обновляемых товаров пишутся в таблицу, после чего другой скрипт по крону проводит индексацию

Mark
29.12.2016
07:30:02
Откуда битрикс после этого получает всю инфу по новым товарам?
Тоже соап к иаблицам 1с?

Google

Dmitry
29.12.2016
07:30:29

Mark
29.12.2016
07:30:44
Безопасно?

Dmitry
29.12.2016
07:31:30

Mark
29.12.2016
07:31:55
Это Понятно)

Dmitry
29.12.2016
07:32:21
Т.е. есть набор методов GetGoods, GetPrice и т.д. которые сайт может запросить у 1С
Обмен заказами так же. При оформлении заказа через запрос в 1С сразу создается проведенный счет. Изменения этого счета в 1С ведут к обратному запросу от 1С к битриксу и изменяют заказ на сайте

Mark
29.12.2016
07:35:49

Dmitry
29.12.2016
07:39:57
Почему перешли на такой механизм? Коробка не справлялась?
При нашем кол-ве товаров. Когда только начал переписывать сайт с самописного под битрикс. Штатный обмен занимал примерно 4 часа. Не знаю как сейчас, а тогда в 1С формировался полный xml (n-цать мегабайт), который закачивался в upload, после чего битрикс разворачивал его структуру в таблицу nested sets (очень не быстро на большом дереве) после чего только приступал к изменению инфоблоков. Память отъедалась солидно, да и время не вписывалось в требование каждые 30 минут
В добавок самописная конфигурация 1С с замороченной структурой складов и требований "здесь выгружаем, здесь не выгружаем, здесь фик. цена в рублях, а здесь пересчет из у.е. по курсу".

Mark
29.12.2016
07:43:57
60к товаров, а ТП есть?

Dmitry
29.12.2016
07:44:33
и отдельным артикулом

Mark
29.12.2016
07:45:26
И сайт на выделенном сервере?