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

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

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

Импорт товаров из 1С-Битрикс в 1С Предприятие УТ 11 – опыт использования стандартного функционала

В прошлый раз, когда я делала клиенту импорт товаров из 1С-Битрикс в 1С Предприятие УТ мы с 1С-программистом делали какую-то жуткую кастомизацию по его инициативе, и от стандартного импорта там остались только рожки да ножки. Сейчас со мной работает другой 1С-программист, и мы стараемся сначала выжать максимум из стандартного функционала, а уж потом, если этого мало — переходим к кастомизации.Итак передо мной встала задача импортировать 36 000 с хвостом товаров из 1С-Битрикс в 1С УТ 11.1.6. Битрикс обновлен до самой свежей версии, на 1С УТ установлено битриксоидовское дополнение.Начав настраивать импорт каталога с сайта заказчика в 1С УТ я, как обычно,…
Читать далее

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

Читатели моего блога попросили меня рассказать о том, как лучше организовать обмен заказами между 1С Битикс и 1С Предприятием в условиях, когда справочник номенклатуры в одной и в другой ИБ синхронизирован по внешнему коду. Это можно сделать 2мя различными способами в зависимости от того, какой программист - 1с-ник или битриксоид имеется  в трудовом резерве: 1) На стороне 1С. Можно сделать, чтобы первая информационная база, забрав заказы, не посылала сайту сообщение http://<сайт>/bitrix/admin/1c_exchange.php?type=sale&mode=success    см. описание протокола обмена: http://dev.1c-bitrix.ru/api_help/sale/orders_protocol.php тогда вторая ИБ, зайдя после, сможет забрать те же самые заказы. 2) Или на стороне сайта: создаются 2 разных файла http://<сайт>/bitrix/admin/1c_exchange.php и  http://<сайт>/bitrix/admin/1c_exchange2.php одинакового…
Читать далее

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

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

Дикие ягоды и подводные камни… (опыт интеграции 1С Битрикс и 1С ПРедприятия)

"Хочу все, как на дикой ягоде (как на wildberries.ru)" - над таким незамысловатым заданием заказчика нам недавно довелось поработать (нам - это в данном случае мне и моей помощнице Юлии Ханусяк). Уточнив, что именно заказчик хочет "как на дикой ягоде", я поняла, что он хочет такую же организацию каталога и карточки товаров, как там и чтобы каталог наполнялся на стороне 1С и уже не требовал дозаполнения на стороне сайта. Несколько разработчиков до меня благоразумно отказались от этой задачи, я же изначально не увидела в ней всех подводных камней. Мы определились, какие задачи заказчик хочет видеть решенными до запуска магазина, а…
Читать далее

Импорт скидок номенклатуры из 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. Сказать по правде, думала я над этой задачей долго – разные варианты в…
Читать далее

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

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

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

Fields marked with an * are required