битрикс в 1с ставит слушателя, который регистрирует различные события
при действиях с штрихкодом(добавление\удаление) регистрируется событие изменения Номенклатуры, при этом изменеия в Характеристике не фиксируется
Каким макаром битрикс использует эти данные потом, я не понял (вернее н естал копаться) Но эти очереди висят и никуда не деваются после обменов
Теперь по поводу штрихкода. Если на сайте стоит галка "Использовать контрольные суммы элементов для оптимизации обновления каталога", то происходит следующее
Код |
---|
if(isset($arXMLElement[$this->mess["IBLOCK_XML2_VERSION"]]))
$arElement["TMP_ID"] = $arXMLElement[$this->mess["IBLOCK_XML2_VERSION"]];
else
$arElement["TMP_ID"] = $this->GetElementCRC($arXMLElement);,,,,
if($arDBElement = $rsElement->Fetch()) {
$bMatch = ($arElement["TMP_ID"] == $arDBElement["TMP_ID"]);
,,,,
if($bMatch && $this->use_crc)
ну и если равно, ничего не делается (почти )) ) |
То есть, если мы не сохраняем характеристику(номенклатуру) то поле ВерсияДанных в 1с не меняется, соответственно в файл выгрузки попадает старое значение ВерсииДанных и Предложение на сайте не обновляется. То же самое видимо произойдет с доп характеристиками.
Выход. Либо при изменение "непрямых данных" характеристики (номенклатуры) жамкать сохранить в карточке. Либо Поставить галку Версионности данных.
Но тогда будет грузиться все , вне зависимости, изменилось что-то или нет в номенклатуре или характеристики
Ну и в тему призывается Александр. Прокомментируйте пожалуйста, что с этим можно сделать