Архив рубрики: 1с битрикс. Туда и обратно…

Не выводятся свойства в переключатель SKU. Bitrix.

Свойство для переключателя SKU

    НЕ МОЖЕТ БЫТЬ МНОЖЕСТВЕННЫМ!!

Bitrix. Тормозит выгрузка на сайт. Часть первая. Одинэсная.

На очередном проекте (каталог 16к позиций + предложения + картинки) столкнулся с невозможностью выгрузки каталога на сайт. Навовсе. Долго-долго шкрябает, что-то выгружает, но завершить не может. Читать далее

Bitrix при обмене заказами возвращает некорректный XML.

В первой позиции файла указывается не объявление XML а мусорный пробельный символ или перевод строки. Подозреваю проблему с кодировкой. Появилось после обновления.
Временное быстрое решение – костыль в файл ядра.

1С-Bitrix. Выгрузка множественного свойства.

1. Добавить в схему возможность выгрузки значений множественного свойства.

2. Указать, что свойство множественное в классификаторе

3. Выгрузить свойства как множественные

Bitrix. Обмен заказами. Формирование имени контрагента.

Имя контрагента в 1С формируется:
1. Для юрлица из поля “Полное наименование”

2. Для физлица из поля “ФИО агента”!!! млдь!!!! АГЕНТА!!! Ттвою так…

Закат солнца вручную – запускаем событие в битриксе.

Все вполне очевидно. Хотя, пришлось слегка покопаться в исходниках.
Здесь используем событие OnSuccessCatalogImport1C модуля catalog. В данном случае, нужно было почистить мусор после импорта порции кривых данных из 1С.
Событие вызывается после импорта каждого файла *.xml, полученного от 1С. Имя файла передается во второй параметр обработчика события. Событие удобно использовать, например, для поиска пустых цен у торговых предложений. OnPriceUpdate – в данном случае использовать не получилось, т.к. цена не нулевая, а отсутствующая, и в файле не передается, и, соответственно, событий не генерирует (это по логике – не проверял).
Для проверки функциональности обработчика в работе использовал следующий код.

//Создаем описание события
$evt = new \Bitrix\Main\Event('catalog', 'OnSuccessCatalogImport1C');
//Получаем экземпляр менеджера событий
$man = \Bitrix\Main\EventManager::getInstance();
//Отправляем...
$man->send($evt);

Bitrix. Синхронизация заказов возращает html. II

В продолжение Bitrix. Синхронизация заказов возращает html.

Выяснил, что отключить вывод html вместо xml можно отключив галку :

2016-07-22_13-52-19

Или отключив админские права у пользователя из под которого идет обмен, т.к.:

$bDesignMode = $GLOBALS[“APPLICATION”]->GetShowIncludeAreas() && is_object($GLOBALS[“USER”]) && $GLOBALS[“USER”]->IsAdmin();

Нифига не очевидно, но как то так.

Очистка кэша после импорта скидок

После импорта скидок на сайт (bitrix), необходимо обновить кэш связанной информации для отображения новых цен/скидок в публичке.

CCatalogDiscount::ClearDiscountCache(array(
'PRODUCT' => true,
'SECTIONS' => true,
'PROPERTIES' => true
));

Не импортировать верхний уровень

При выгрузке каталога вложенные группы вываливаются в корень

С галкой (см. картинку) нужно обращаться с осторожностью. Читать далее

Способ доставки с сайта в 1С.

Для того, чтобы способ доставки приземлялся в заказе куда нужно, а именно сюда…
Способ доставки
Нужно установить в настройке обмена (в настройке документа заказ клиента) соответствие поля способ доставки свойству документа по наименованию так…
Способ доставки2
“Тип данных” = “Из дополнительных свойств документа (по Наименованию)”
“Значение” = “Способ доставки” – вбиваем ручками.

При подстановке значения при импорте заказа, система уидит что тип поля = ПеречислениеСсылка.СпособыДоставки и будет сопоставлять значение по представлению.
Соответственно наименование службы доставки (по идее) должно соответствовать представлению значения перечисления.
Способ доставки3
Пока в состоянии предположения. Проверяю.