Зайкройте публичную часть не через главный модуль, а через Контент -> Структура сайта -> Файлы и папки
23.11.2017 17:02:14
Если на удаление/создание/редактирование сущности весит обработчик, то он там не просто так. Обработчик может не просто удалять/создавать/редактировать связанные данные, но и блокировать действие, если это против логики модуля.
После прямых правок в базе могут всплывать куча артефактов, природу которых не отследить до конкретной причины, типа значения свойства без самого свойства или множественные результаты значения свойсва для немногожественного свойства. Или забитая таблица файлов которые не связанны не с какими сущностями. И океан возможных багов. Домашний велосипед из пяти таблиц можно канеша ручками мускулить, но битрикс только через АПИ, и то понимая что с чем связано. В любом случае нужна пошаговость. Удаление можно оптимизировать разбив на этапы, например сначала цены, потом остатки, потом значения свойств, потом сами свойства, потом элементы, потом разделы. Также по возможности все делать через d7 orm. Пока что все массовые действия через АПИ на 100к товаров мне удавалось сводить до 20 сек. |
|
|
23.11.2017 16:35:10
reall-group
Подозреваю вы указали ЧПУ компонент для обработки ссылок от корня сайта, и возможно несколько таких компонентов, то есть такой компонент возмет на себя обработку всех всех всех виртуальных ссылок, и будет конфликтовать с другими подобными компонентами. Лечиться выносом таких компонентов в отдельный раздел. |
|
|
23.11.2017 16:32:17
---
Для sit-down Гляньте обработку адресов в /bitrix/admin/urlrewrite_list.php?lang=ru Должна быть одна строка типа,
Может еще быть ошибка в шаблоне компонента, но подозреваю вы догодались бы откатить недавнии правки ![]() --- reall-group это уже другой сайт и там другая проблема. Хоть диагностировать надо также. Переброс на 404 страницу может быть из за неправильных ЧПУ, из за того что ЧПУ редактировали через ftp/ssh а не через виз редактор, в /bitrix/admin/urlrewrite_list.php?lang=ru должна быть запись соответствующая и указывать на существующий файл. Возможно запись есть, но файл указан не правильно. Также я вижу что там множество разных каталогов и похоже они виртуальны. Если я правильно понял "/gostinichnyy-biznes/" не существует, и запрос машрутизируеться в какой то файл. Что было бы не очень хорошо. Каталог(и) желательно вынести в отдельный раздел "/catalog/". Если в ЧПУ уверены и обработка ссылок правильная, то остаеться только шаблон компонента каталога. |
||||
|
23.11.2017 14:01:10
У ошибки всегда есть текст, если он не выводиться, то пишеться в лог. Включите показ/запись ошибок если нету.
Сам код полностью бредовый и бесполезный. Большенство хостинг серверов имеют потоковое зжатие для текстового контента, в том числе html, css, js и тд. Проверить это вы можете в отладчике браузера(f12). Оптимизация загрузки страниц очень большая тема на пару книжек. Самые простые вещи это уменьшить количество http(s) запросов на сайт, уменьшить количество DNS запросов. Уменьшить сумарный размер всех ресурсов на странице, включая картинки. Если пишете код, то разберитесь с конктенацией/минификацией css и js в битриксе. Настройте кеш компонентов. Ваши html страницы должны генерироваться меньше чем за 100мс, где то в среднем 60мс. На более продвинутом уровне минификация и все оптимизации верстки делаеються на этапе сборки проекта, то есть до деплоя на сервер. Ключевые слова: less, scss, babel, webpack |
|
|
23.11.2017 12:07:23
Такое поведение не типично, по умолчанию такого нету.
На вскидку предположу, что нужно сменить символьный и внешний коды для этого свойства. Если проблема не в кодах, то возможно у вас сделана какая то доработка меняющая значение этого свойства, и возможно напрямую дороботка не связана с обменом. |
|
|
27.02.2013 01:35:16
Прогерам под битрикс без разницы, пока 1с следует стандарту обмена.
Прогерам под 1с без разницы, пока ставят ТЗ и платят. Юзерам без разницы, пока не надо переучиваться на новый интерфейс. Идеологически конечно все должно быть последним или почти последним (самые последние версии могут содержать баги). Но внедрение в реальном бизнесе самых новых версий может быть затратно, если вообще реально сделать качественно, в вашем городе может не быть 1с специалистов компетентных для наладки работы и сопровождения последних версий. В Украине например значительная доля бизнеса все еще на седьмой 1ске, хотя грамотные спецы еще как есть. Крайне затратно переучивать бухов, они верищат и сопротивляются ![]() По сути вам нужны модули выпускаемые разработчиками битрикса для 1с, для каждой версии конфигурации своя версия модуля, то есть все упирается в планы разрабов битрикса. Для 10 версии нужно ставить модули, а для 11 функционал модуля входит в типовую конфигурацию, там только скидок нету, но импорт скидок на типовом битриксе не реализован. Думаю самое главное это что бы Вы наладили работу своих менеджеров и бухов, выгрузить товары и получить заказы с сайта это важно только для крупного бизнеса. Мелкие магазины могут обновить цены вручную, то есть обмен придает комфорта и уменьшает время-затраты на больших объемах. Заказы для мелких магазинов могут приходить на почту, обмен избавляет от набивки данных контрагента и состава заказа, что тоже дает выигрыш на больших объемах. Итого, лучше 11, но не критично, в довольно дальней перспективе по любому понадобиться обновляться. Если с нуля, я бы строил на 11. Но сейчас работаю только с 10, так как реорганизация бизнеса чрезвычайно затратна. |
|
|
26.02.2013 20:37:16
Нет, не нормальная ситуация.
Весь сеанс обмена можно пройти в браузере. У меня ошибка воспроизводиться. Похоже на основание для тикета в ТП. Я обычно точку входа в обмен делаю в публичной части для более тонкой настройки, там системная форма авторизации работает. Как пример bitrix\modules\sale\admin\1c_exchange.php |
|
|
25.02.2013 11:28:57
В /upload/1c_exchange/ файлы заказы, а не каталог товаров, потеря сессии не должно было произойти так как в процессе обмена вы делаете пачку запросов, с регулярностью максимум значения шага импорта выставленного в настройках обмена, посмотрите сколько выставлено (по умолчанию 30сек), попробуйте 20. Величина должна быть меньше лимита выполнения скрипта пхп.
По поводу загрузки файлов на сайт, проверьте что выставленный размер одной части зип файла не превышает лимит загружаемых файлов в настройках пхп. |
|
|
24.02.2013 14:59:33
В настройках интеграции 1с
/bitrix/admin/1c_admin.php по умолчанию на сколько я помню должно стоять 30, то есть скрипт отдает 1ске сообщение "progress" по истечению времени шага и прекращает импорт, из чего 1ска понимает что нужно повторить хттп запрос на тот жей адрес и импорт продолжается там где остановился. То есть ваше варьирование 60-600 сек напрямую не должно влиять на стабильность. Обмен может проходить часами ![]() Полностью выгрузить 3000 позиций, думаю, понадобиться ~20 минут с учетом формирования файлов в 1с. Последующая выгрузка изменений каталога как правило в течении минуты. Возвращаясь к 504 ошибке, перво наперво проверить достаточно ли памяти, посмотрите в логах ошибок апача запись типа PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 1048577 bytes) ключевое Allowed memory size of * bytes exhausted Сайт обновлен до последней версии, кстате говоря? ![]() |
|
|
22.02.2013 01:40:03
Можно через обработчики событий добавления\обновления товара, но скорее всего вам больше подойдет снять галки "Разрешить покупку при отсутствии товара" и "разрешить отрицательное количество товара" в настройка модуля торговый каталог.
Если же вы уверены что вам нужно именно дезактивировать, то думаю вам нужны события OnProductAdd - Вызывается при добавлении товара. OnProductUpdate - Вызывается в процессе изменения свойств товара. Именно с этими событиями я не работал, так что не гарантирую что подойдут. |
|
|
21.02.2013 17:49:30
Опыта работы с такой интеграцией нету, но проверьте адрес, мне кажется он не правильный.
Например |
|
|
21.02.2013 17:41:49
Это переменная которая может быть любого типа.
Предположу что это объект CIBlockCMLImport класса, который Вы можете найти в \bitrix\modules\iblock\classes\general\cml2.php. Метод InitEx имеет аргументы (&$next_step, $params) где
и вызывает Init
ну и выставляет правила транслитерации и пропуск корневого раздела
Главным образом заметьте что аргументы принципиально разные и просто так менять имя метода нельзя ![]() |
|||||||
|
21.02.2013 17:26:28
В рамках одного запроса вы не сможете сделать обмен, даже если бы пытались сделать один инфоблок. Сам цикл обмена по любому по этапный, сначала авторизация, потом выгрузка, потом импорт. А импорт тоже не сразу происходит, а пошагово так как времени выполнения скрипта пхп может не хватить на импорт всего файла обмена. 1с делает столько запросов сколько понадобиться, импортируя файлы по частям или целиком.
То есть обмен это пачка хттп запросов. Описание протокола обмена |
|
|