Столкнулся с проблемами обмена после обновления интернет-магазина БУС с 17 версии на 19-ю и 1С с УТ 10 на УТ 11. Там в общем комбо всех проблем на сайте — компонент импорта каталога был кастомизирован, навешаны обработчики на On(Before|After)(IBlockElement|IBlockSection|Price)(Update|Add), шаблоны и компоненты каталога кастомизированы (еще в 14-15 версии БУС), компонент оформления заказа тоже кастомизирован. В общем никому не пожелаю такого ада — по-возможности избегайте такой работы. Я еще не до конца все проблемы разгреб, но те, что разгреб и еще пока живы в памяти — опишу — может, кому поможет, кто столкнется с чем-то похожим.
1. Не знаю как это работало раньше в прежней версии БУС / УТ 10, но после обновления пришлось поставить галочку в настройках обмена с 1С на сайте «Цены только в инфоблоке торговых предложений» — потому что кастомизированные компоненты и шаблоны каталога не способны были работать с товарами без торговых предложений. В этом случае 1С передает товар без характеристик как товар, а Битрикс делает сам ему торговое предложение.
2. Бизнес-процесс торговли был устроен так:
— на сайте клиент делает заказ
— заказ выгружается в 1С
— в 1С к заказу добавляется доставка с ценой
— заказ выгружается назад на сайт и там в том числе (если выбрана оплата картами) клиент может его оплатить.
И вот выгрузка доставки сломалась — в 1С доставку добавляют — на сайте она не появляется, да еще и существующая удаляется. Несколько дней копания в коде классов обмена с 1С в БУС и я кое-как понял, что оказывается код услуги доставки в 1С должен быть ORDER_DELIVERY. И в xml доставка должна обязательно передаваться следующим образом:
<Ид>ORDER_DELIVERY</Ид> — только так — стандартный обмен битрикс завязан прям на этот код ORDER_DELIVERY — он по нему дополняет документ заказа фиктивной «отгрузкой» и тогда отгрузки из заказа на сайте не удаляются.
И вот это важно:
<ЗначениеРеквизита>
<Наименование>ТипНоменклатуры</Наименование>
<Значение>Услуга</Значение>
</ЗначениеРеквизита>
если тип номенклатуры = услуга, то цену этого «товара» из документа битрикс добавляет в поле «стоимость доставки» заказа на сайте.
Потом гуглом по ключевому слову ORDER_DELIVERY битрикс я нашел уже, что я не первый, кто с этим столкнулся, но пока я это сам не раскопал гугл мне никак не помог. А в техподдержку я обычно не обращаюсь, так как ни разу она мне еще ничем не помогла в таких вопросах.
3. Вроде бы обмен заказами наладился, но я рано обрадовался — оказалось, что не все заказы обновляются из 1С на сайте. А в логах вижу сообщения
Ответ сервера: success
Ошибка проверки доступного количества товара «Товар 1»
Ошибка проверки доступного количества товара «Товар 2»
Причем не по каждому заказу. Прошло некоторое время, пока я наконец понял закономерность — ошибки появляются у тех товаров, у которых только одно торговое предложение. Несколько дней раскопок в коде обмена и я смог лучше локализовать ошибку: При выгрузке товаров из 1С на сайт товары без характеристик, получается, в соответствии с настройками («Загружать торговые предложения (характеристики) в отдельный инфоблок» и «Цены только в инфоблоке торговых предложений»), дублируются в инфоблок торговых предложений как предложение с ценой и доступным количеством, и у них с элементом в инфоблоке «Товаров» прописывается одинаковый «Внешний код». И потом, при обмене заказами, битрикс при проверке доступного количества берет по «внешнему коду» не «торговое предложение», а «товар» и выдает ошибку. Я долго пытался понять где именно он это делает и даже написал в техподдержку, но от техподдержки за несколько дней переписки удалось добиться лишь подтверждения того, что я нашел, но не помощи в решении проблемы — цитирую:
Цитата |
---|
Также проверьте, возможно что у вас на сайте и товар и торговые предложение имеют одинаковый внешний код, если это так, то это не корректно, при обмене 1С и сайт, у торговых предложений товара внешний код должен быть вида через символ # <внешний код товара>#<внешний код предложения> и такой внешний код должен быть у товара в корзине заказа и передаваться из 1С. … Это стандартная логика, при отмеченной опции «Цены только в инфоблоке торговых предложений» у торгового предложения для простого товара будет внешний код основного товара. Для того чтобы изменить такое поведение требуется кастомизация обмена. … В рамках работы службы техподдержки мы можем проконсультировать вас только по стандартному механизму обмена, вопросы по кастомизации существующего функционала вы можете задать на нашем форуме в специализированной ветке https://dev.1c-bitrix.ru/support/forum/, либо обратиться к одному из наших партнеров специализирующихся в данной области https://www.1c-bitrix.ru/partners/ |
Пока переписывался с поддержкой продолжал копать исходный код. В итоге нашел
Bitrix\Sale\Exchange\Entity\OrderImport::getProduct()
/bitrix/modules/sale/lib/exchange/entity/orderimport.php:398 (
https://bxapi.ru/src/?module_id=sale&name=OrderImport::getProduct
)
Править файлы ядра не хорошо, но в моем случае, боюсь, это единственный вариант — добавил дополнительный фильтр по IBLOCK_ID в array(«=XML_ID» => $code, «ACTIVE» => «Y», «CHECK_PERMISSIONS» => «Y»),
Гость, здравствуйте.
Во-первых, если вы используете компонент bitrix:catalog.section, вместо него нужно использовать grain:iiko.section.
Во-вторых, в настройках модуля торгового каталога должна стоять опция, разрешающая покупку при отсутствии товара (т.к. доступное количество товара из iiko не передается).
-
WebWorking
WebWorking
Житель- Регистрация
- 20 май 2017
- Сообщения
- 55
- Симпатии
- 45
- Баллы
- 31
- Пол
- Мужской
- Род занятий
- Web Working
- Интересы:
- Bitrix
Задаем вопросы / получаем ответы / делимся проблемами / рассказываем секреты / мутим фишечки / ломаем Битрикс /
и т.п.Не стесняемся !!!
Навигация:
— ИМ на Битрикс + 1СПоследнее редактирование: 18 сен 2017
-
semen787
Новичок
Зарегистрирован- Регистрация
- 7 окт 2017
- Сообщения
- 9
- Симпатии
- 1
- Баллы
- 1
- Пол
- Мужской
- Интересы:
- Bitrix
Подскажите пожалуйста в чем может быть проблема
после завершения заказа нажав на кнопку оформить заказ ничего не происходит т.е. не перекидывает на страницу о том что заказ создан.
сам заказ создается и на почту информация приходит
проблема наблюдается в хроме и яндекс браузере, в мозиле и опере все нормально
в консоле вот такая ошибка
template_bfc8329249a4381acc4ed6dbe8d894fc.js?1509045280319774:296 TypeError: Cannot read property ‘top’ of undefined
at checkStickyFooter (template_bfc8329249a4381acc4ed6dbe8d894fc.js?1509045280319774:296)
at HTMLDocument.initFull (template_bfc8329249a4381acc4ed6dbe8d894fc.js?1509045280319774:294)
at l (jquery-1.8.3.min.js?150904322293636:2)
at Object.fireWith [as resolveWith] (jquery-1.8.3.min.js?150904322293636:2)
at Function.ready (jquery-1.8.3.min.js?150904322293636:2)
at HTMLDocument.A (jquery-1.8.3.min.js?150904322293636:2)
checkStickyFooter @ template_bfc8329249a4381acc4ed6dbe8d894fc.js?1509045280319774:296
initFull @ template_bfc8329249a4381acc4ed6dbe8d894fc.js?1509045280319774:294
l @ jquery-1.8.3.min.js?150904322293636:2
fireWith @ jquery-1.8.3.min.js?150904322293636:2
ready @ jquery-1.8.3.min.js?150904322293636:2
A @ jquery-1.8.3.min.js?150904322293636:2
template_bfc8329249a4381acc4ed6dbe8d894fc.js?1509045280319774:295 Uncaught TypeError: Cannot read property ‘top’ of undefined
at checkScrollToTop (https://site.ru/bitrix/cache/js/s1/…acc4ed6dbe8d894fc.js?1509045280319774:295:195)
at https://site.ru/bitrix/cache/js/s1/…1acc4ed6dbe8d894fc.js?1509045280319774:295:67
at dispatch (https://site.ru/bitrix/js/main/jquery/jquery-1.8.3.min.js?150904322293636:2:38053)
at u (https://site.ru/bitrix/js/main/jquery/jquery-1.8.3.min.js?150904322293636:2:33916)
at Object.trigger (https://site.ru/bitrix/js/main/jquery/jquery-1.8.3.min.js?150904322293636:2:36647)
at https://site.ru/bitrix/js/main/jquery/jquery-1.8.3.min.js?150904322293636:2:44416
at Function.each (https://site.ru/bitrix/js/main/jquery/jquery-1.8.3.min.js?150904322293636:2:14543)
at init.each (https://site.ru/bitrix/js/main/jquery/jquery-1.8.3.min.js?150904322293636:2:11217)
at init.trigger (https://site.ru/bitrix/js/main/jquery/jquery-1.8.3.min.js?150904322293636:2:44392)
at init.v.fn.(anonymous function) [as scroll] (https://site.ru/bitrix/js/main/jquery/jquery-1.8.3.min.js?150904322293636:2:45189) -
andrej_07
Новичок
Зарегистрирован- Регистрация
- 15 сен 2017
- Сообщения
- 24
- Симпатии
- 8
- Баллы
- 6
- Пол
- Мужской
- Интересы:
- Bitrix
Прекрасно установился, причем даже на бесплатный аккаунт hostiman. Разворачивал как восстановление.
-
amor
Новичок
Зарегистрирован
Житель- Регистрация
- 9 авг 2017
- Сообщения
- 17
- Симпатии
- 1
- Баллы
- 6
- Пол
- Мужской
подскажите какой именно Битрикс устанавливали?
-
andrej_07
Новичок
Зарегистрирован- Регистрация
- 15 сен 2017
- Сообщения
- 24
- Симпатии
- 8
- Баллы
- 6
- Пол
- Мужской
- Интересы:
- Bitrix
-
amor
Новичок
Зарегистрирован
Житель- Регистрация
- 9 авг 2017
- Сообщения
- 17
- Симпатии
- 1
- Баллы
- 6
- Пол
- Мужской
Ну что я могу сказать с архивом,указанным по ссылке я игрался много времени и даже человек который в битриксе понимает тоже не мог установить битрикс на Хостинг Украина.
Скиньте ссылку на хостинг, которым пользуетесь -
R-TRY
Новичок
Зарегистрирован
Житель- Регистрация
- 31 окт 2017
- Сообщения
- 1
- Симпатии
- 0
- Баллы
- 1
- Пол
- Мужской
- Интересы:
- Bitrix
Добрый день. Подскажите как починить. Битрикс24, корпоративный портал 17.0.5. Нет возможности выставить крайний срок выполнения задачи из основного меню создания задачи. Поле тупо не активно. Кто-нибудь сталкивался?
И еще вопрос. Установил демку, а она не обновляется. Кнопка «установить обновления» не активна и все тут. Пробовал и в виртуальной машине и в вебокружении. Все одна фигня. Может кто-че подскажет?
Только не принимайте за спам. Еще один глюк выловил. Корпоративный портал, версия 17.0.5. Не работает опрос. Он создается, но результаты голосования не учитываются, не сохраняются
Прошу прощения. Сам дурак, надо было принять лицензионное соглашение. Остальные два вопроса актуальны.
Последнее редактирование модератором: 1 ноя 2017
-
andrej_07
Новичок
Зарегистрирован- Регистрация
- 15 сен 2017
- Сообщения
- 24
- Симпатии
- 8
- Баллы
- 6
- Пол
- Мужской
- Интересы:
- Bitrix
Я уже писал выше: hostiman.ru
Только что переустановил эту редакцию еще раз, уже чистую без демо данных. Все получилось.
Последнее редактирование модератором: 2 ноя 2017
-
rpg2009
Новичок
Зарегистрирован- Регистрация
- 21 дек 2017
- Сообщения
- 1
- Симпатии
- 0
- Баллы
- 1
- Интересы:
- Разное
да можно вроде. 30 дней не прошло но отсчет редактируется пробовал уронить в блокировку и поднять его
-
Zheleznij_DpoBocek
Новичок
Зарегистрирован- Регистрация
- 30 ноя 2017
- Сообщения
- 4
- Симпатии
- 1
- Баллы
- 1
- Пол
- Мужской
- Интересы:
- Bitrix
Привет. Нужен совет. Глупая ситуация — имеем сервер без доступа к интернету, на котором развернут BitrixVM, но на этапе загрузки сетапа Битрикса с сервера возникает ошибка.
Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/bitrix/www/bitrixsetup.php on line 774Warning: fsockopen(): unable to connect to www.1c-bitrix.ru:80 (php_network_getaddresses: getaddrinfo failed: Name or service not known) in /home/bitrix/www/bitrixsetup.php on line 774
Как ее обойти?
Подключение сервера к интернету не предлагать. Можно ли просто файлы скопировать с рабочей машины?Вложения:
-
bit.png
- Размер файла:
- 36,1 КБ
- Просмотров:
- 3
-
Oleg Nizamov
Новичок
Зарегистрирован- Регистрация
- 30 июл 2017
- Сообщения
- 16
- Симпатии
- 9
- Баллы
- 6
- Пол
- Мужской
Привет, если я правильно понял, то:
$request .= «HEAD «.$strRealUrl.» HTTP/1.0\r\n»;
$request .= «Host: $hostname\r\n»;
if ($proxyUserName)
$request .= «Proxy-Authorization: Basic «.base64_encode($proxyUserName.»:».$proxyPassword).»\r\n»;У тебя тут вылетает ошибка. Глупый вопрос — как без интернета ты хочешь через setup установить файлы?
Самое простое решение — сделать бекап, и развернуть бекап. На версии сервера без интернета поставь Для разработки.
Уверен так же, что если ты проверишь сервер bitrix_server_test.php, то у тебя вылезит кучу ошибок. Поэтому лучше сначала проверь через bitrix_server_test.php, а потом разверни через бекап
Последнее редактирование модератором: 28 апр 2018
-
Zheleznij_DpoBocek
Новичок
Зарегистрирован- Регистрация
- 30 ноя 2017
- Сообщения
- 4
- Симпатии
- 1
- Баллы
- 1
- Пол
- Мужской
- Интересы:
- Bitrix
Спасибо, развернул через бэкап
BitrixVM.
Ошибка при сохранении файла скрипта. Изменения не сохранены.
ошибку получаю при копировании шаблона компонента.Последнее редактирование модератором: 28 апр 2018
-
Oleg Nizamov
Новичок
Зарегистрирован- Регистрация
- 30 июл 2017
- Сообщения
- 16
- Симпатии
- 9
- Баллы
- 6
- Пол
- Мужской
Новое
BitrixVM.
Ошибка при сохранении файла скрипта. Изменения не сохранены.
ошибку получаю при копировании шаблона компонента.Вероятнее всего ты авторизован под root. А bitrix использует своего пользователя. Посмотри настройки файла, под каким пользователем файл создан
-
Zheleznij_DpoBocek
Новичок
Зарегистрирован- Регистрация
- 30 ноя 2017
- Сообщения
- 4
- Симпатии
- 1
- Баллы
- 1
- Пол
- Мужской
- Интересы:
- Bitrix
Авторизован под администратором. Речь идет про меню, как посмотреть под кем оно создано?
-
Oleg Nizamov
Новичок
Зарегистрирован- Регистрация
- 30 июл 2017
- Сообщения
- 16
- Симпатии
- 9
- Баллы
- 6
- Пол
- Мужской
Нет, зайти под ftp через WinSCP.
У файла когда есть такое поле Владелец. Если ты просто копировал, авторизовавшись под root у тебя будет там root.
Ошибка при сохранении файла скрипта. — 1С-Битрикс Разработчикам — Ошибка при сохранении файла.
так же /bitrix/admin/site_checker.php?lang=ru вкладка Проверка доступа. Там будут файлы с таким косяком
-
epicsd
Новичок
Зарегистрирован- Регистрация
- 14 апр 2020
- Сообщения
- 2
- Симпатии
- 0
- Баллы
- 1
- Пол
- Мужской
- Интересы:
- Bitrix
Доброе время суток! Может кто-нибудь сможет помочь или направить меня. Ситуация такая: есть битрикс, в нём ранее один знакомый программист что-то сделал и в результате продукт b2b-магазин от Сотбит стал считаться купленным(чего не должно быть), но когда ты его устанавливаешь, то получаешь демо-период. Вопрос такой, как я могу сбросить демо-режим? И как я могу скрыть установленную версию шаблона от сервиса Битрикс?
-
demin97sergey
Новичок
Зарегистрирован- Регистрация
- 20 июл 2020
- Сообщения
- 3
- Симпатии
- 1
- Баллы
- 1
- Пол
- Мужской
- Интересы:
- Разное
Добрый день. Помогите с нахождение работающего шаблона под cs-cart мультивендор с версией 4.11.4 желательно nulled)
-
demin97sergey
Новичок
Зарегистрирован- Регистрация
- 20 июл 2020
- Сообщения
- 3
- Симпатии
- 1
- Баллы
- 1
- Пол
- Мужской
- Интересы:
- Разное
Добрый день. Помогите с нахождение работающего 1c предприятие 8.3 синхронизации с опенкарт . Версия 3. )
Поделиться этой страницей
Еще одна проблема, с которой регулярно встречаются пользователи ЦМС Битрикс не добавляются товары в корзину.
Причин может быть множество: от неправильного программного кода, до неправильно выставленных прав на типы цен.
Рассмотрим основные причины, почему данная проблема возникает:
Перейдем в настройки торгового каталога (настройки – модули – торговый каталог):
Здесь мы видим настройки Включить количественный учет и Разрешить покупку при отсутствии товара (включая разрешение отрицательного количества товара). Если первая включена а вторая выключена, а количество товара равно 0, то возникнет ошибка Битрикс: не добавляются товары в корзину.
Рассмотрим еще одну причину ошибки битрикс не добавляются товары в корзину. Известно, что в модуле интернет-магазина битрикса существует такая сущность как тип цен. Для того, чтобы пользователь мог добавить товар в корзину он должен состоять в группе, обладающей соответствующими правами. Если их не хватает, товар не добавится в корзину.
Эта настройка располагается: магазин – цены – типы цен, далее выбираем соответствующий тип:
Вполне возможно, что в корзину добавляется цена элемента инфоблока, для которого нет прав на чтение у данной группы пользователей.
Возможно, в исходном коде неправильно вызывается функция
которая является надстройкой над:
или не подключен модуль интернет-магазина (CModule::IncludeModule(«sale»))
Также имеют место быть случаи, когда модуль интернет-магазина не установлен, или установлен неправильно. При этом также возможно возникновение ошибки добавления товара в корзину в битриксе
Столкнулся с такой проблемой: при вызове Add2BasketByProductID(8907, 1, $arProp); часть товаров нормально добавляется в корзину, а часть вообще не добавляется: «Ошибка проверки доступного количества товара».
Проблема появилась после установки последних обновлений, версия Битрикса 19.0.325. Техподдержка думала примерно сутки и написали следующее:
«Добрый день!
Извините за ожидание.
Вопрос оказался достаточно сложным, необходимо подключить старшего инженера, прошу немного подождать.
С уважением,
инженер отдела технической поддержки»
чем изрядно меня повеселили. Т.е. косяк настолько серьёзный, что аж целого страшного инженера привлекут. Подожду, но если вы столкнулись с такой же проблемой, то можно попробовать провернуть чукотский трюк: выгрузить все товары в xml, удалить и импортировать. Теоретически товары создадутся нормально. Но это гипотеза.
В моём случае ошибка была из-за того, что некоторые торговые предложения не были привязаны к товарам, а были привязаны к другим торговым предложениям. Пришлось переделывать и привязывать к товарам.
Здравствуйте! Я — Андрей Панёвин и занимаюсь профессиональной разработкой сайтов на платформе 1С-Битрикс (исключительно программирование). Есть вопросы по статье? Могу подсказать и помочь по скайпу (andrey.panevin.ru), WhatsApp (+7-911-091-0670) или перепиской в ВК.
1000 р./час.
Помогла статья? На поездку на море (Охотское):
- Интернет-магазины
- Аспро: Максимум
- Аспро: Next
- Аспро: Интернет-магазин
- Аспро: Крутой шоп
- Аспро: Маркет
- Аспро: Оптимус
- Аспро: Шины и диски 2.0
- Аспро: Шины и диски, интернет-магазин
Индикатор количества на складе не совпадает с доступным количеством товара
Рассмотрим проблему на конкретном примере. На одной из карточек товара вкладка «Наличие на складе» (отметка «Нет в наличии») не «дружит» с доступным количеством (иконка «Много»):
Проверяем настройки товара на вкладке «Торговый каталог».
- Переходим на вкладку «Склады» и проверяем информацию, которую можно задать вручную или выгрузить из 1С.
Переходим на вкладку «Параметры» и видим, что доступное количество не соответствует суммарным данным по складам. Такое может произойти, к примеру, из-за ошибки выгрузки. Редактируем информацию и сохраняем изменения.
Дело не в правах скрипта (.access.php), а в физических правах на директорию.
Например в Bitrix Env есть linux пользователь bitrix (UID:600), из-под которого выполняются все операции, но многие неквалифицированные разработчики работают из-под root-доступов.
В папку созданную root пользователем нельзя скопировать файлы из-под пользователя bitrix, если ей не установить соответствующие права.
Ознакомьтесь с соответствующей статьей в документации: https://dev.1c-bitrix.ru/learning/course/index.php…
Благодаря Андрею разобрался в проблеме! Дело в том что сайт битрикса работает под пользователем «bitrix». А я загружал папку local через FileZilla под пользователем root. У root прав больше чем у bitrix, поэтому сайт битрикса не мог скопировать компонент в папку local. Как только я загрузил файлы через FileZilla с пользователя bitrix, все заработало!