Сообщения

Сообщения за сентябрь, 2017

Новый шаблон sale.order.ajax: кастомизация

Изображение
На реализацию этого функционала ушло порядка 30 часов рабочего времени (плюс время на самообразование). За это время было отправлено 18 коммитов, написано 371 строк кода и осуществлено несколько попыток виртуального суицида :) Основная задача Создать группу свойств "Параметры доставки", которая будет зависеть от выбора типа доставки. Для курьера это "Адрес доставки", для "Транспортной компании" это выбор ТК из выпадающего списка, для доставки "Другая транспортная компания" - тоже текстовое поле (как и адрес доставки). Все эти поля являются обязательными, и отображаться должны не в блоке "Пользователь", а в блоке с доставками. В новом шаблоне sale.order.ajax перенести поля в другой блок не так просто, как кажется на первый взгляд, а информации на эту тему буквально крупицы.

Если при полной выгрузке из 1С в битрикс товары и разделы приходят неактивными

Есть такая беда. Москвичи и питерцы с ней, скорее всего, не сталкиваются :) На разгадывание этой загадки у нас ушло 8,5 часов чистого рабочего времени. Небольшой ликбез о том, что происходит при полной выгрузке. Есть компонент, который отвечает за выгрузку. Он лежит по адресу: /bitrix/components/bitrix/catalog.import.1c/component.php В 607 строке (у вас может быть другая строка) есть условие: elseif ( $_GET [ "mode" ]== "deactivate" ) И дальше начинается магия. Во время выгрузки 1с посылает GET-параметр, в котором указано время начала выгрузки. После полной выгрузки разделов и элементов инфоблока происходит проверка. Если время обновления товара/раздела в битриксе меньше, чем время начала выгрузки - значит, это старый элемент, и тогда происходит... $section ->Update( $arSection [ "ID" ], array ( "ACTIVE" => "N" ));