Суть проблемы: у всей номенклатуры в 1С есть множественное свойство - скажем "Размер", с вариантами L, XL, XXL. При полной выгрузке всей номенклатуры никаких проблем нет. Проблема при частичной выгрузке. Если я хочу выгрузить только 1 товар, у которого это свойство равно L, то после выгрузки обнаруживаю что в инфоблоке в этом свойстве (я его назвал SIZE) вариантов значений кроме L никаких нет. То есть они удалились!!! Чтобы проверить повторяю полную выгрузку еще раз - значения свойства появляются. Затем опять выгружаю только 1 товар - остается только значение, которое было выгружено. Для всех остальных элементов в инфоблоке это свойство обнуляется!!!
Это первая часть, а есть еще вторая: если я выгружаю одну номенклатуру со одним значением этого свойства (L), а затем повторяю частичную выгрузку, но уже с другой номенклатурной позицией, у которой значение этого свойства XL - то вижу, что в инфоблоке XML_ID этого значения не изменился!! Хотя само значение изменилось с L на XL.
Предполагаю что что-то не так на стороне 1С, поскольку известно, что при CIBlockElement::Update требует передачи всех свойств элемента, а не переданные исчезают.
Очень жду ответа - у кого-то повторяется ошибка? Или возникала уже? Стоит вопрос о переписывании всей логики свойств каталога нескольких сайтов..
Для информации: 1C 8.1 (8.1.13.37) УТ 10.3 (10.3.10.4) БУС 8.5.1 Версию интеграции поставил 2.7 (была старая, но проблема и там была)
Судя по вашему описанию и при полной выгрузке будет та же беда, если не все варианты значений выбраны у хотя бы одной номенклатуры. И скорее всего проблема в обновлении значений свойства, видимо БУС их банально переписывает.
1. Выгружать со стороны 1С все значения свойства всегда. 2. Не обновлять значения свойства при обмене.
Дмитрий Останин, как выгружаете часть номенклатуры? Если изменением фильтра в 1С, то это логичное поведение: раз товар не выгружается, значит его в каталоге быть не должно, как и его свойств.
Цитата
Иван пишет: Судя по вашему описанию и при полной выгрузке будет та же беда, если не все варианты значений выбраны у хотя бы одной номенклатуры.
- это предположение - предположение основывается на том, что: значения множественного свойства выгружаются не все, а только те что присутствуют у выгружаемых элементов.
Иван пишет: - предположение основывается на том, что: значения множественного свойства выгружаются не все, а только те что присутствуют у выгружаемых элементов.
не спорю. Не понял, как у одного товара может быть несколько свойств. Наверно, имели ввиду характеристики.
Иван пишет: Судя по вашему описанию и при полной выгрузке будет та же беда, если не все варианты значений выбраны у хотя бы одной номенклатуры.
Нет, при полной выгрузке появляется столько вариантов значений, сколько их назначено в номенклатуре.
Цитата
1. Выгружать со стороны 1С все значения свойства всегда. 2. Не обновлять значения свойства при обмене.
1) а есть рецепт как это сделать? У меня конечно была идея создать липовую номенклатурную позицию в которой назначены все варианты свойств, но это все-таки не решение.
2)
Цитата
Алексей Прищепо пишет: как выгружаете часть номенклатуры? Если изменением фильтра в 1С, то это логичное поведение:
Именно так, а есть другие варианты?
Цитата
...раз товар не выгружается, значит его в каталоге быть не должно, как и его свойств.
Вот это как раз не верно. В БУС в настройках интеграции с 1С я ставлю "Ничего не делать с товарами, которые отсутствуют в файле экспорта". А по факту получается что все товары меняются - затирается свойство. И это очень критично!
Цитата
Алексей Прищепо пишет: Цитата
Цитата
Иван пишет: - предположение основывается на том, что: значения множественного свойства выгружаются не все, а только те что присутствуют у выгружаемых элементов.
не спорю. Не понял, как у одного товара может быть несколько свойств. Наверно, имели ввиду характеристики.
Нет, имелись ввиду именно свойства. И насколько я знаю в 1С нельзя свойству задать множественное значение, а только одно из списка.
как выгружаете часть номенклатуры? Если изменением фильтра в 1С, то это логичное поведение:
Именно так, а есть другие варианты?
Вариант выгрузить часть номенклатуры: добавить какое-то свойство ко всей номенклатуре, которое не будет показываться на сайте, и его изменять у тех позиций, которые хотите выгрузить. При этом в настройках фильтра оставляете все выгружаемые позиции.
Комбинацию с выгрузкой каталога по частям мне предлагал в саппорте битрикса, они сами не знали, что со свойствами такая проблема будет. (Я имею ввиду выгрузку по частям с изменением настроек фильтра.) Да, если указано не трогать, свойства конечно меняться не должны. Но попробуйте доказать это разработчикам или хотя бы саппорту.
Алексей Прищепо пишет: Комбинацию с выгрузкой каталога по частям мне предлагал в саппорте битрикса, они сами не знали, что со свойствами такая проблема будет. (Я имею ввиду выгрузку по частям с изменением настроек фильтра.) Да, если указано не трогать, свойства конечно меняться не должны. Но попробуйте доказать это разработчикам или хотя бы саппорту.
Подождите, получается что разработчики БУС в курсе и не видят в этом никакой проблемы??? Пока вериться с трудом - конкуренты не дремлют и рады любой возможности покритиковать Битрикс.
Алексей Прищепо пишет: Вариант выгрузить часть номенклатуры: добавить какое-то свойство ко всей номенклатуре, которое не будет показываться на сайте, и его изменять у тех позиций, которые хотите выгрузить. При этом в настройках фильтра оставляете все выгружаемые позиции.
То есть использовать выгрузку только изменений? Или все-таки полную? Частичная нужна потому как надо как правило добавить 10-15 товаров на сайт в течение 5-ти минут. А с полной выгрузкой ждать 2-2,5 часа - товаров много.
Дмитрий Останин пишет: То есть использовать выгрузку только изменений? Или все-таки полную? Частичная нужна потому как надо как правило добавить 10-15 товаров на сайт в течение 5-ти минут. А с полной выгрузкой ждать 2-2,5 часа - товаров много.
Выгрузку изменений. Товары либо сразу создавайте в папке, которая выгружается на сайт, либо после перемещения изменяйте, включая фото, тогда они будут выгружаться в режиме выгрузки изменений.
Дмитрий Останин пишет: Нет, имелись ввиду именно свойства. И насколько я знаю в 1С нельзя свойству задать множественное значение, а только одно из списка.
Сам Битрикс понимает множественные значения свойств, проблема что штатный модуль интеграции про них не знает. Мы дорабатывали 1С и интеграцию, чтобы сделать множественные значения свойств : в хмл-файле в шапке в блоке описания свойства и его возможных значений надо указать что свойство множественное.