А если хорошенько подумать , то Вам этого не надо.
Задача вполне адекватная.
С некоторыми видами номенклатуры бывает, что название для удобства работы сотрудников состоит из аббревиатур и сокращений. Выгружать такое на сайт и показывать пользователю не очень красиво.
По вашему вопросу "другие модификации товара" я понял как товары одной серии. Типа белый айфон и черный айфон. Сделайте свойство "серия". Это простой с точки зрения реализации способ.
Можете в 1С заполнить серию, как ссылку на элемент другого справочника, чтобы легче было заполнять. Правда, на сайт выгрузится только GUID, но будет достаточно.
-------
Похожесть - это глобальная задача.
Вы сами должны решить, что такое похожесть
У разных видов номенклатуры похожесть определяется по разному. Где-то по цене, где-то по характеристикам, где-то по модели или серии. В автозапчастях вообще аналоги: каждый к каждому.
Но вы не должны впадать в крайность и загонять все характеристики в торговые предложения. В крайнем случае в Битриксе сто лет есть функционал "Сравнение товаров". Им редко кто пользуется,
А если ваш модуль требует установки расширения PHP, например, DOM - пусть клиент установит расширение. Выясните, какие пакеты требуются вашему модулю, и попросите клиента установить.
но и мы со своей стороны вроде как не должны поддерживать все подряд в любом составе, на текущей ВМ все работает и мы стараемся это поддерживать, может кто то попадал в аналогичные ситуации, как решали вопрос с клиентом?
Если ваш модуль платный и не имеет демо-версии, то вы сами должны разбираться с клиентом. Вы же в карточке модуля не пишите, что могут быть какие-то несовместимые версии PHP.
Вы не можете сказать клиенту: извини, у тебя сервер дерьмо. Вы должны как минимум зайти и диагностировать ошибку, предложить варианты.
Битрикс нормально поддерживает PHP 5.4. Выпустите обновление, чтобы ваш модуль тоже поддерживал 5.4.
Александр, у вас "Дополнительный реквизит" - это в УТ 11 аналог свойства из УТ 10.3. Ничего особенного, должно выгружаться.
Олег, я правильно понял, что вы сами изменили свою конфигурацию 1С и сделали в справочнике "Номенклатура" новый реквизит ОсновнойПоставщик? Обмен с сайтом ничего об этом реквизите не знает и поэтому не выгружает.
Я угадал?
Пишите в своих вопросах версии 1С, версии дополнения и что конкретно хотите выгружать. Чем полнее сформулирован вопрос, тем скорее вам дадут нормальный ответ.
А как быть с красотой, которая доступна в типовом шаблоне магазина - когда ты кликаешь на характеристику и видишь что изменилось?
С магазином одежды понятно. Там только цвет и размер.
Можете также сделать с ноутбуками. Только у вас получится всего100 характеристик. Реально для каждой модели будет 5-10 выпадающих списков - только те характеристики, которые различаются у товаров одной модели. Не знаю, красиво ли: на карточке модели выбирать товар.
Цитата Артемий Зайцев пишет: А на больших инфоблоках с тысячами свойств режим "Быстрая запись свойств" в разы ускоряет обмен.
Страшно такие вещи на рабочем сайте тестировать. Для этого нужен еще один новый сайт (и время при действующем проекте заниматься этой альтернативой). Лично я эти эксперименты отложу. Здесь важно понимать как в принципе сделано. Но если вы откроетесь раньше, есть шанс, что я это сделаю сам (хотя, могу и не делать, а сэкономить время заказчика и купить решение). Если взять демо, то самое важное все равно не увидишь пока не купишь. Так что здесь можно только рискнуть. Риск исчезнет, когда точно знаешь что сделано. Но к этому моменту будет уже свое решение. Это заколдованный круг.
Быстрая запись свойств безопасна. Она не нарушает обмен, не изменяет исходный код Битрикса и даже все обработчики будут работать, как раньше. Применяется только к инфоблоку товаров, в который идет выгрузка.
В модуле есть лог-файл. В нем пишется время CIblockElement::Add и CIblockElement::Update без учета времени обработчиков. На одном проекте с тысячей свойств я получал 0.8-0.9 секунды без быстрой записи свойств, и 0.1-0.2 с быстрой записью свойств на товар.
Неоптимальность Битрикса в том, что функции Add и Update сразу пытаются записать все 1000 свойств, хотя в товаре только 20-30 свойств заполнено. Намного эффективнее записывать только те свойства, которые пришли из 1С.
Артемий Зайцев пишет: Модуль отказоустойчивый обмен с 1С вставляет между шагами паузы. 30 секунд обмен, 2 секунды пауза. Замедление на 1/15. Но надежность очень сильно повышается. Длина интервалов настраивается.
Как это возможно, если запросы на сайт отдает 1С?
Возможно )))
Только, не понимайте всё слишком буквально. Мы не можем влезть в 1С и добавить паузу там между отправкой шагов.
Мы добавляем паузу на сайте. Реально время одного шага получается 32 секунды. В течение 2-х секунд сайт отдыхает. Базу и процессор не грузит. На дешевых хостингах c жесткими лимитами может помочь.
-------------
Кстати, с начала темы прошел уже целый год, и мы выпустили новый модуль Продвинутый обмен с 1С для ускорения обмена:
Там есть возможность обновлять только цены и остатки. Эту задачу часто просят клиенты. Им самое главное, чтобы цены и остатки были актуальны.
А на больших инфоблоках с тысячами свойств режим "Быстрая запись свойств" в разы ускоряет обмен.
В 1С 10.3 есть свойства номенклатуры, а в УТ 11 это называется "Дополнительные реквизиты" номенклатуры.
Пользователь 1С может создать сколько хочет свойств или дополнительных реквизитов. Все они выгружаются из 1С на сайт в формате CommerceML.
На сайте в Битриксе для хранения товаров используется инфоблок: один или несколько на каждый каталог. В инфоблок из файла CommerceML попадают свойства номенклатуры. В инфоблоке у элемента может быть сколько угодно свойств.
Спасибо, Иван. Значит ошибка на стороне сайта. Значит техподержка Битрикса гонит, что XML-файл неправильный. Жду реакции Битрикса. Будут ли они исправлять на сайте?
Неужели только у нас проблема с отображением количества товаров с нулевым остатком?
Вы не одиноки. У нас так же.
Цитата
Обращение # 465896 - Не выгружаются нулевые остатки У нас УТ 11.1.2.22, дополнение для 11.1.2.22, Информационные блоки 14.0.6, Торговый каталог 14.0.4, Интернет-магазин 14.0.5 Автоматическое сообщение о создании заявки в разработку На основе информации из данного обращения была создана заявка в отдел разработок. Категория: Ошибки. Критичность: Авария. Номер обращения в разработку: 38950.
У битриксов кривые руки.. Не могут друг с другом договориться о формате обмена и выпускают неработающие продуткты. Не хотят сделать открытый баг-трекер.
Последнее время качество дополнений для интеграции ниже нижнего. Вам ничего не остается кроме, как ругаться и ждать исправление.
Если нужно сейчас - сделайте изменение в 1С, пусть будет <Количество>0</Количество>
Так быть не должно. Проверьте еще раз все возможные настройки и вероятные глупости. Проверьте в тот ли инфоблок вы пишите товар. Вдруг кто-то баловался с настройками. Почистите кеш,
Александр, я понятия не имею о вашей ситуации и какие там настройки сервера. Я не нанимался читать и изучать ваши логи. Вы мне заплатили или купили модуль?
Миллион товаров - это особая песня. Не грех написать и собственный обмен. Он будет быстрее стандартного в 10 раз. А если каталог на собственных таблицах организовать, то еще быстрее.
Человек описал классическую ситуацию. До 5000 хорошо. После 5000 плохо. Это определенно либо ограничение хостинга, либо очень тяжелый обработчик на каком-то товаре. Тут надо замедлить обмен - проверить, пойдет ли дальше 5000. Ну и по логу посмотреть, где он прервался, если прервется.
Таймуты - это прежде всего настройка PHP: time_limit
Во вторую очередь настройки nginx (если у вас стоит),
Но интеграция с 1С должна работать даже на 64 мегабайтах памяти и 60 секундах time_limit.
Битрикс написал обмен очень грамотно, разбивает его не шаги (не более 30 секунд, но можете уменьшить в настройках обмена на сайте) и пишет всё через временную таблицу,
Если вы не используете каких-то собственных тяжелых обработчиков всё должно и так работать. Что за хостинг у вас? Какой тариф?