Все посты из категории: 1С Битрикс

Интеграция 1С Предприятия и 1С Битрикс: про то, как мы добавили возможность передачи архива по FTP

Работая над одним из проектов, я столкнулась с тем, что когда архив с данными от 1С больше 1,5Г - обмен проходит нестабильно - рвался именно на этапе передачи файла (иногда рвался, а иногда - нет). Возможно, это общая проблема, а возможно – на конкретном сервере, а сервер там солидный. Заказчик же хотел иметь возможность делать полную выгрузку каталога, полная выгрузка представляла собой архив, объемом около 6Г.Как известно, на третьем шаге стандартного протокола обмена 1С Предприятие по частям посылает Битриксу архив с файлами обмена в виде POST (я рассматриваю наш частный случай – объемный архив).Я предложила 1С Программисту переписать механизм импорта каталога товаров…
Читать далее

Рекурсивный алгоритм обхода дерева (General tree) (в контексте разделов инфоблока Битрикс)

Во время моей учебы в университете СИАОД казался мне скучнейшим предметом. Мы лежали на партах и не знали, куда себя девать, считая секунды до конца. Спустя годы я понимаю, что должна быть благодарна нашему преподавателю, который не позволял нам пропускать свои заунылые лекции. Потому что, занимаясь оптимизацией web-проектов на битрикс, я сплошь и рядом вижу ситуации, когда незнание такого простого алгоритма, как обход естественного дерева, вынуждает разработчиков делать лишние запросы к базе данных.Дерево в своем общем виде - это направленный граф, каждый узел которого может содержать неограниченное число потомков. Разделы инфоблока в Битрикс с их неограниченной вложенностью по факту представляют…
Читать далее

Импорт скидок номенклатуры из 1С Предприятия в 1С Битрикс

Начну с цитаты...если документом "Установка скидок номенклатуры" определены скидки на товары в зависимости от их количества в заказе, то данная информация поступит на сайт и скидка будет применяться и при продаже в Интернет-магазине. Кроме этого, модуль на стороне 1С выгружает в CommerceML и другие типы скидок, но их автоматический импорт в 1С-Битрикс предлагается реализовать разработчикам интернет-магазина, поскольку их применение очень сильно зависит от особенностей ценообразования для каждого конкретного случая. Цитата от сюда: https://1c.1c-bitrix.ru/ecommerce/v2.php Вот об опыте импорта тех самых "других" типов скидок я и хочу рассказать в данной статье. В частности, об импорте скидок, которые применяются к определенному товару вне…
Читать далее

О лишних запросах

Совершенство достигается не тогда, когда уже нечего прибавить, но когда уже ничего нельзя отнять Антуан де Сент-Экзюпери Оптимизация процесса интеграции 1С Предприятия и 1С Битрикс – это неисчерпаемая тема.  Чего только не увидишь порой в обработчиках событий добавления и обновления элемента инфоблока. Больше всего меня убивает, когда я вижу, что разработчики тянут из базы то, что у них и так уже есть. Пример из жизни (нет, серьезно – это реальный пример): AddEventHandler("iblock", "OnAfterIBlockElementAdd", "BXMUpdateElement_FIELDS"); function BXMUpdateElement_FIELDS(&$arFields) { $ibe = new CIBlockElement(); $dbr = $ibe->GetList(array(), array('ID'=>$arFields['ID']) ); while($oe = $dbr->GetNextElement()) { $arP = $oe->GetProperty('CML2_TRAITS'); } … } А то, что нужно…
Читать далее

О событиях, которые возникают при импорте каталога из 1С в Битрикс

В контексте интеграции 1С Предприятия и Битрикс не утихают споры по поводу того, какие события при этом отрабатывают, а какие не отрабатывают. А спорить, в общем-то, не о чем – благо, Битрикс поставляется нам в исходных кодах.Класс импорта CIBlockCMLImport, который я так люблю наследовать, описан в файле bitrixmodulesiblockclassesgeneralcml2 Открыв этот файл, мы ясно видим, что элементы инфоблока товаров, как и элементы инфоблока предложений добавляются функцией CIBlockElement::Add, а изменяются функцией CIBlockElement::UpdateИсходные коды этих функций мы можем посмотреть в файлах (в одном описан класс CAllIBlockElement в другом – его наследник CIBlockElement) bitrixmodulesiblockclassesgeneraliblockelement.phpbitrixmodulesiblockclassesmysqliblockelement.phpЧто же мы видим там?В функции Add имеется вот такая конструкция – перед…
Читать далее

Как подогнать стандартный импорт из 1С под готовое решение из маркетплейс Битрикс

Недавно передо мной встала задача сделать, чтобы при импорте из 1С Предприятия в Битрикс, свойства товаров аккуратненько вставали туда, куда предполагается в одном из готовых решений маркетплейс. Решение - не мое. В маркетплейсе его уже нет, и партнера-разработчика тоже нет. Но заказчику это решение очень нравилось, и он хотел использовать именно его. При стандартном же импорте данных из 1С свойства товаров, привязанные к справочникам в 1С, привязывались к элементу инфоблока, как списочные свойства, а для решения было нужно, чтобы они привязывались к элементам другого инфоблока по ID. Сказать по правде, думала я над этой задачей долго – разные варианты в…
Читать далее

Как добавить в магазин на Битрикс возможность импорта из нового формата данных

Помогая своим близким друзьям делать интернет магазин, я столкнулась с задачей импорта данных в Битрикс из формата YML (из формата файлов, который обычно применяется для экспорта в Яндекс.Маркет). За деньги, наверное, не согласилась бы писать такой импорт. А по дружбе – святое дело, и я стала копать. И очень интересные вещи накопала, которые, как ни странно, слабо освещены в документации 1С Битрикс.А вещи элементарные на самом деле. Оказывается, чтобы добавить возможность собственного импорта в магазин на Битрикс, достаточно добавить в директориюbitrix/php_interface/include/catalog_importДва файла имя_нового _импорта_setup.php – с настройками импортаимя_нового _импорта _run.php – собственно импортИ у них дожжен быть именно такой формат…
Читать далее

Кастомизация экспорта заказов в 1С Предприятие без модификаций ядра 1С Битрикс

Продолжая тему нестандартной интеграции 1С Битрикс и 1С Предприятия, хочу рассказать о том, как я кастомизирую экспорт заказов. Это тоже довольно востребованная и распространённая задача, и, что интересно, практически всегда заказчиков не устраивает экспорт «из коробки», и они просят пусть какие-то мелочи, но переделать.Например, недавно я столкнулась с такой задачей. Оптовые покупатели интернет-магазина (на 1С Битрикс Бизнес 11й версии ядра) обладают дополнительными свойствами: номерами договоров и датами заключения этих договоров. При оформлении заказа они выбирают один из своих договоров, на основании которого будет происходить сделка. Номер договора и его дата – должны передаваться в 1С предприятие при экспорте заказов.Формированием xml-файла…
Читать далее

Интеграция Битрикс с несколькими информационными базами 1С Предприятие – некоторые аспекты

Задача интеграции магазинов на Битрикс с несколькими информационными базами 1С Предприятие - возникает достаточно часто. Например, когда необходимо настроить работу 2х и больше интернет-магазинов на одном ядре Битрикс или в случае, когда каталог магазина должен наполняться товарами от разных поставщиков. На данную тему написано не мало статей, и я не буду подробно останавливаться на общей технологии настройки обмена в данном случае. Напомню, как делают:Как вариант: создают несколько копий файловhttp://<сайт>/bitrix/admin/1c_import.php иhttp://<сайт>/bitrix/admin/1c_exchange.php, а затем в настройках со стороны 1с прописывают для каждой базы свой путь.А дальше и возникают некоторые проблемы, перед которыми пасуют многие разработчики.Дело в том, что если просто сделать несколько…
Читать далее

Как кастомизировать шаблон авторизации в Битрикс

Нужно скопировать шаблон /bitrix/components/bitrix/system.auth.authorize/templates/.defaultв/bitrix/templates/название_шаблона/components/bitrix/system.auth.authorize/.defaultДалее можно кастомизировать скопированный шаблон авторизации – он применится на страницах, использующих данный шаблон сайта.
Читать далее

Подписаться на рассылку:

Fields marked with an * are required