| Цитата | ||
|---|---|---|
написал:
|
|
Добрый день! При обновлении свойств элемента в таблице b_iblock_element_property заменяется ID новым свойства которое меняется. Пробовал разные методы:
Как избавиться от этого? Прямым обращением к таблице но это может повлиять на другие процессы после обновления! При использовании стандартной страницы в админке изменения товара ID записи свойства остается тем же! Помогите советом! |
|
|
|
|
|
Добрый день! Нигде не нашел ответа на мистическое поведение скорости загрузки картинок в карточку товара через админ панель! То скорость загрузки 400кб/с то 3000кб/с (4мб загрузается то за 1секунду то в течении 20-30 секунд) с периодичностью примерно 30 минут то потом опять быстро (и это независимо от провайдера т.е. с разных мест пробовали и сотовую связь и домашний компьютер и рабочий) Заметил еще кое что! Если открыть 2 браузера разных и зайти под одним аккаунтом и добавлять фотографии то в одном браузере быстро загружается в другом медленно!
Я не понимаю как такое возможно! Хостинг утверждает что у них все отлично! Изменений модуля загрузки изображений не было и незачем! Может кто то сталкивался или поможет в данном вопросе? Может это видео вам даст подсказку! Открыты 2 браузер MS Edge и Chrome на обоих зашел под одним аккаунтом в 1сБитрикс и отправляю одновременно одинакого размера файлы ... на Edge мгновенно загружаются 3 фото а в crome одна загружается минуту |
|
|
|
|
|
Fatal error: Only variables can be passed by reference in /home/admin/web/webpool.ru/public_shtml/bitrix/modules/main/classes/general/update_c
[ErrorException] E_COMPILE_ERROR Only variables can be passed by reference (0) /home/admin/web/webpool.ru/public_shtml/bitrix/modules/main/classes/general/update_c Такая же ошибка сегодня причем на разных серверах пробовал с копии восстанавливал! При входе на страницу детальную элемента и обновления сайта в админке КАК РЕШИТЬ СРОЧНО НАДО! ПРОБЛЕМА РЕШЕНА ... Тех поддержка решила проблему с системой обновлений у себя и все заработало! |
|
|
|
|
|
Добрый день! Хотел бы узнать как поймать событие "Отмена резерва заказа" которое происходит при срабатывании агента в котором прописана функция отмены резервирования ClearProductReservedQuantity() но там нет событий. Еще есть так называемая "История заказа" OrderChangeTable или старый вариант этого же CSaleOrderChange но и там нет событий! Как быть в такой ситуации? Как можно хакнуть и словить момент?
|
|
|
|
|
|
Здравствуйте! Кто подскажет возможно ли реализовать в запросе через getlist или на D7 фильтрацию по Артикулу строковому. Артикул содержит буквы и цифры. Нужно отфильтровать по артикулу в котором цифры больше 100 например. Я реализовал такое методом преобразования строки и сравнения с результатом при добавлении результата в массив:
preg_replace("/[^0-9]/", '', $arFields["PROPERTY_ARTICLE_VALUE"]); Но это не то! Нужно фильтровать именно в запросе! |
|
|
|
|
|
Я делаю так для связки ui.filter и ui.grid фильтрует супер!
Фильтрация по дате для старого варианта CUser::GetList Делаю так: $arNeed = ["DATE_REGISTER_datesel","DATE_REGISTER_from","DATE_REGISTER_to"]; if(empty($filterData["FIND"])){ foreach ($filterData as $k => $v) { if( in_array( $k, $arNeed ) ) $filter[$k] = $v; } if (!empty($filter["DATE_REGISTER_from"]) or !empty($filter["DATE_REGISTER_to"])){ $filter['>=DATE_REGISTER'] = $filter["DATE_REGISTER_from"]; $filter['<=DATE_REGISTER'] = $filter["DATE_REGISTER_to"]; } } Фильтрация по дате для D7 варианта \Bitrix\Main\UserTable::getList Делаю так: $arNeed = ["DATE_REGISTER_datesel","DATE_REGISTER_from","DATE_REGISTER_to"]; if(empty($filterData["FIND"])){ foreach ($filterData as $k => $v) { if( in_array( $k, $arNeed ) ) $filter[$k] = $v; } if (!empty($filter["DATE_REGISTER_from"]) or !empty($filter["DATE_REGISTER_to"])){ $filter['>=DATE_REGISTER'] = $filter["DATE_REGISTER_from"]; $filter['<=DATE_REGISTER'] = $filter["DATE_REGISTER_to"]; unset($filter['DATE_REGISTER_datesel']); unset($filter['DATE_REGISTER_from']); unset($filter['DATE_REGISTER_to']); } } |
|
|
|
|
|
Добавлю от себя еще одно решение основанное на
|
|||
|
|
|
|
|||
|
|
|
|
Извернулся я не особо стандартным способом! Но без подводных камней никак! Дело в том что нет фильтрации у CIBlockElement::GetList по ID свойства. Т.е. PROPERTY_<CODE свойства>_ID. Пришлось сортировать по ID элементов что плохо при дополнительной фильтрации по другим полям! Пока другого не придумал!
if ($filter["PRIMENIMOST"]) { // Получаю все ID-элемента где есть в свойстве значение из фильтра $dbElementId = $DB->Query("SEL ECT `IBLOCK_ELEMENT_ID` FR OM `b_iblock_element_property` " . "WHERE `IBLOCK_PROPERTY_ID` = 118 AND `VALUE`= ".intval($filter["PRIMENIMOST"])); while ($arElementId = $dbElementId->Fetch()) { // Получаю первые по сортировке значения ID-свойства по ID-элемента значения VALUE $dbId = $DB->Query("SELECT MIN(ID),IBLOCK_ELEMENT_ID FROM `b_iblock_element_property` " . "WHERE `IBLOCK_PROPERTY_ID` = 118 AND `IBLOCK_ELEMENT_ID` = ".intval($arElementId["IBLOCK_ELEMENT_ID"])." ORDER BY ID"); while ($arId = $dbId->Fetch()) { //Проверяю полученные первые значения множественного свойства со значением из фильтра if ($arId["VALUE"]==intval($filter["PRIMENIMOST"])) { $arPropID[] = $arId["IBLOCK_ELEMENT_ID"]; } } } $filter = array("ID" => $arPropID); } |
|
|
|
|
|
Здравствуйте! Вроде бы элементарно но словил НЕПОНИМАНИЕ!
Мне нужно отфильтровать множественное свойство по первому элементу массива VALUE. Как бы фильтрует правильно т.е. ищет заветное значение во всех значениях множественного свойства и выводит правильно (т.е. получаю все товары где в свойстве PRIMENIMOST встречается значение) ... но хотелось бы фильтровать именно по первому элементу массива значений свойства "PRIMENIMOST". Реально ли это реализовать? Данные передаются в ui grid! $arSort = $sort['sort']; $arSelect = array(); $navParams = array('iNumPage' => $nav->getCurrentPage(),'nPageSize' => $nav->getLimit()); $res = CIBlockElement::GetList($arSort, $filter, false, $navParams, $arSelect); $nav->setRecordCount($res->SelectedRowsCount()); while ($ob = $res->GetNextElement()) { $arFields = $ob->GetFields(); $arProps = $ob->GetProperties(); $list[] = [ 'data' => [ "ID" => $arFields['ID'], "DATE_CREATE" => $arFields['DATE_CREATE'], "NAME" => $arFields['NAME'], "PROPERTY_POSTAVSHIK" => getPostavshikNameById($arProps["POSTAVSHIK"]["VALUE"]), "PROPERTY_PRIMENIMOST" => $arProps["PRIMENIMOST"]["VALUE"][0], ] } |
|
|
|
|
|
Задавал этот вопрос тех. поддержке, ответа они не нашли!
Пришлось самому разбератся! Возможно друзья у вас идут суммы не в "Безналичный", а в "Кредит" ... Я заметил это в чеке! А в Битрикс "Кредитные" оплаты не отображаются никак! Поэтому все по нолям! Не знаю с чем связано, но если у вас оплаты через сайт настроен Эквайринг ... выбирайте не цифру 4 в настройках ККМ "Оплаты", а цифру 2 - это Электронные. После этого в чеках суммы печатаются в оплаты ЭЛЕКТРОННЫЕ. В Z-отчет суммы встают в "Безнал" и "Выручка за день" формируется правильно! Такая же история в Битрикс z-отчете ... все фиксируется как нужно! |
|
|
|
|
|
При обмене с сайтом указываю выгрузку через zip. Выгружается каталог товаров с картинками из 1с 8.1 Предприятие на сайт Битрикс УС 11.0.6. Сайт установлен на VMBitrix 4.3. (Apache 2.2.15 PHP5.3.3 MySQL5.0. Объем архива выгрузки составляет 3,4Гб. При выгрузке дробится и отправляется частями на сайт. При склеивании на стороне сайта появляется ошибка в 1с:
---------------------------------------------------------------------------------------------- Выгружено заказов: 2 167 {Обработка.ОбменССайтом(320)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки): Ошибка при выполнении файловой операции 'bitrix/admin/1c_exchange.php?type=sale&mode=file&filename=v8_3D9B_ec.zip' Произошла ошибка: . По причине: Отправка файла на сервер: Получен пустой ответ сервера. Не удалось получить ответ сервера. Файл не отправлен (C:\Users\Sveta\AppData\Local\Temp\v8_3D9B_ec.zip). Обмен не выполнен Обмен заказами завершен с ошибками!!! ---------------------------------------------------------------------------------------------- а размер архива в папке upload/1c_catalog составляет 2048Мб. Уже по разном менял настройки выгрузки в "Настройка параметров импорта каталога" 1. Размер единовременно загружаемой части файла 2. Интервал одного шага в секундах (0 - выполнять загрузку за один шаг) Результат один и тот же 2048Мб и не больше! Возможно какое-то ограничение системы до 2Гб есть но как это обойти? При выгрузке БЕЗ использования сжатия zip выгружается все отлично! Т.е. все файлы порядка 17000 каждый небольшого размера выгружаются медленно но верно! КУДА КОПАТЬ? |
|
|
|
|