@bitrixfordevelopers

Страница 378 из 1492
Andrew
28.12.2016
13:03:59
Насколько понимаю - никак

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?

мне надо посчитать сколько задач было просмотрено людьми с группировкой по людям. факт просмотра в отдельной таблице

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 Над апи надо подумать.

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 Буду рад, если кто то найдет его для себя полезным или поделится конструктивной критикой

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
Хотя я уже нашёл на хабре.. да и как оказалось на этом скрине тоже написано чем его сделали

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
Изменение свойств, описаний и картинок товара тоже ставит его в очередь
На чем построена очередь? 1с добавляет новые товары в очередь?

Dmitry
29.12.2016
07:26:52
На чем построена очередь? 1с добавляет новые товары в очередь?
Да ни на чем. Внутренняя таблица в 1с. Там у нас свои программисты

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

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

И битрикс сам читает эту таблицу?
Он получает её в виде xml в soap-запросе к веб-серверу 1С

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

Тоже соап к иаблицам 1с?

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

Dmitry
29.12.2016
07:31:30
Тоже соап к иаблицам 1с?
не к таблицам, а к методам. Которые пишут программисты. Внутренняя кухня 1С закрыта от битрикса

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
Т.е. есть набор методов GetGoods, GetPrice и т.д. которые сайт может запросить у 1С
Почему перешли на такой механизм? Коробка не справлялась?

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
60к товаров, а ТП есть?
нет. 1 номенклатура = 1 товар с кол-вом и ценой

и отдельным артикулом

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

Страница 378 из 1492