Как привести все товары к типу product_variant ?
Каким то образом в Товарах есть вот такие вот дубли разделения - отдельно product и отдельно variant - как на картинке файла экспорта. Непотяно как оно появилось, видимо при импорте нужно было четко указывать "Тип строки" product_variant ?

Как такие товары привести к типу "product_variant" как у остального большинства товаров ? Иначе при обработке файлов экспорта получается путаница из-за этих дублей в названиях.
У нас у каждого товара по 1 артикулу , т.е. product_variant - как раз самое походящий для нас тип строки поидее.
18 ответов
Другими словами - как эти две строки объединить в одну с типом строки product_variant? Пробовал в файле импорта задавать явно product_variant - как вместо product так и вместо variant , не меняется картина ... только потерялся код артикула , и также остались две строки при выгрузке, как выше на картинке.
Чтобы избавиться от этого надо посмотреть как сделано в правильном товаре и сделать так же.
Т.е. у вас вот так
А надо сделать так
Если совсем не получается, то удалите товар и введите его снова вручную. Потом его экспортируйте и добавьте в таблицу, чтобы сравнить как надо.
Скорее всего у вас были одинаковые наименования товаров и они склеились.
Если у вас все товары одноартикульные, то не трогайте артикулы лишний раз. Вводите только наименование и код артикула, цены и кол-во и всё. Ничего более не нужно. Также не добавляйте вторые артикулы (случайно), не используйте режим Выбор параметров и, самое главное, не вводите товары с таким же именем и наименованиями/кодами артикулов и всё будет в порядке. Тогда ничего не будет склеиваться в артикулы при импорте/экспорте и т.п.
Да в том то и дело что артикулов у всех товаров по одному, у всех вид как у вас на втором скрине - просто товар выгружается, если у него тип не "product_variant", в две строки отдельные - сам товар (product) и его артикул ( variant )... думал как импортом их слить в одну строку product_variant , но что-то задача нетривиальная и не ручная... таких товаров около 600шт... придется мириться с таким положением и стараться не создавать таких новых засад
Посмотрели логи и файлы импорта. До 14/10 все было ровно - все товары имели тип строки "product_variant". Потом накатили очередное обновление Shop-script через Инсталлер и при следующем экспорте появилось это раздвоение для части товаров...
Было
Стало
Значит всё же что-то не так. Иначе ничего бы не разделилось. У вас должен быть активен режим "Выбор параметров" и создан артикул с параметрами отличными от общих параметров товара. Артикул этот может быть действительно один, но это в чистом виде артикул в товаре, а не сам товар (как бы странно это не звучало).
Разделение становится возможно тогда, когда в артикуле, пусть даже и в одном единственном, имеются какие-то свойства / параметры отличные от аналогичных общих свойств товара (масса, размеры, цвет или ещё что-то из набора характеристик, разрешенных для редактирования в свойствах артикулов).
Обратите внимание на "Выбор параметров" и "Варианты покупки". Это разные режимы для артикулов. Проведите опыт с каким-нибудь товаром и всё встанет на свои места.
Включаю Выбор параметров, выбираю параметр, артикул как и был остается один.
Но в итоге при экспорте получаем и товар и артикул. Вот и всё.
При импорте, который сложнее экспорта т.к. надо настраивать столбцы, тоже может создаться неоднозначная ситуация с уникальной идентификацией товаров, когда что-то намудрили например со столбцами и из файла, где было вроде бы каждого товара по одной строке вливается в базу товар и внутри него получаются артикулы. Тут надо уже разбираться по каждому столбцу внимательно, но что-то могло пойти не так.
Возьмите один товар для опытов и прогоните его туда-сюда разными комбинациями несколько раз. Экспортировать можно один выбранный товар. Это проще, чем таскать всю базу. Для опытов хватит и одного. Запомните полученные зависимости и проблема уйдет. Да ёё собственно и нет на самом-то деле. Просто ваша комбинация при импорте порождает такие штуки, либо артикул в товаре имеет свои параметры, либо и то и другое. Проведите опыт с импортом таблицы в свободном формате без указания всяких product, variant и product_variant и со свободным размещением столбцов данных. Это полезно для общей практики.
Замечено что если у артикула есть какие-либо характеристики - то имеем эффект раздвоения
тут пусто и при импорте по товару 1 строка product_variant
а тут есть характеристики у артикула и имеем две строки в файле экспорта по товару
но дело в том что до обновления магазина в октябре - и тот и другой товары из примера выше экспортировались как product_variant - в одну строку . Все таки разработчики что-то поправили и теперь это работает так - если есть характеристики у артикула в базе - то получи две строки по товару причем и для старых товаров тоже, а не для только вновь импортируемых
Значит избавляйтесь от хар-к, доступных для редактирования в свойствах артикула (это в Магазин - Настройки - Типы и хар-ки). Поскольку товары одноартикульные, то всё эти значения характеристик переносите в товар. Для быстрой работы с характеристиками у себя использую плагин https://www.webasyst.ru/store/plugin/shop/productfeatures/ т.к. он позволяет, не открывая товар, всё отредактировать в два клика. А есть ещё плагин https://www.webasyst.ru/store/plugin/shop/etfeatures/, который позволяет в два клика редактировать артикульные и товарные хар-ки прямо из таблицы товаров, предварительно настроив таблицу на показ нужных хар-к.
И далее видим хар-ку и её значение для товара (первое) и для единственного артикула (второе) и редактируем.
Тут есть подводный камень, например характеристика GTIN - она если не ошибаюсь присваивается только артикулам и отказаться от нее нельзя , так как она используется в выгрузке плагина Яндекс маркета. Или можно задать ее как характеристику товара?
и раньше все характеристики и товара и артикула "уживались" в одной строке "product_variant" . Вот и в Справке по экспорту пишут
как то нужно поменять тип строки на product_variant тогда в ней будут вместе и характеристики товара и артикула, впрочем так и было до октябрьского обновления.
Да нет никаких камней. Никакой проблемы от того, что GTIN и Вес не отключаются тоже нет. Ведь можно и не заполнять их в артикуле, а присвоить им значения, если это необходимо, только в товаре. Ничто и никто не мешает использовать GTIN в товаре.
Незаполненная хар-ка артикула не создает проблем с возникновением product и variant на двух строках.
Просто перенесите значения хар-к из артикула в товар. Опустошите эти поля в артикуле, а те, которые можно отключить, отключите. И всё будет в порядке.
У меня, например, GTIN не используется вовсе. Я его просто отключил для всех типов товаров и не вижу ни в артикуле, ни в товаре, а вес нужен, но в артикуле его просто не заполняю (см. скриншот предыдущего ответа, где указан вес 1,65 кг), а заполняю значение только в товаре. В артикуле всё пусто.
Да, спасибо! Все характеристики артикула можно продублировать в товаре , после этого получаем 1 строку а экспорте.
Причем поле вес на скрине тоже относится к артикулу , но размещено не в блоке его характеристик, и только после его удаления - получил строку product_variant
Теперь как то автоматизировать процесс нужно через файл импорта, а не в ручном режиме сводить две строки в одну.
И все же мы боремся с последствиями, а не с причиной.
Тип строки product_variant позволяет совмещать характеристики товара и артикула - как на скрине файла экспорта из нашего архива от 01/2022 - тут все уживалось вместе и только ав октябре что-то пошло не так... и товары имеющие характеристики артикула изменили Тип строки на два product и variant.. Я склонен думать что это из-за последнего обновления магазина, так как до обновления все товары имели тип product_variant
Если товар имеет один артикул, то на уровне движка магазина он должен быть с типом product_variant безотносительно есть характеристики у артикула или нет. Наверное все же это баг обновления...
Мне почему-то кажется, что именно сейчас мы имеем дело с каким-то исправленным багом, когда данные лучше пусть "удвоятся" в строках, но не потеряются. Связываю это с появлением редактора товаров и раздела товаров в новом интерфейсе. Возможно под это решались какие-то задачи и что-то поменялось. Мне несколько сложно сказать как оно было ДО, т.к. имея одноартикульные товары никогда ничего к артикулам не приписывал и всегда всё в одну строку выходило на товар. Мне всегда это виделось более правильным подходом для случая, когда артикулов нет, но есть товар.
Допустим есть product_variant, который совмещает в себе хар-ки товара и его единственного артикула.
Берем для примера хар-ку Вес. Вес исторически всегда стоял вне блока хар-к артикула, хотя был его хар-кой по-умолчанию как системный тип хар-к. В товаре указан вес 2 кг, а в артикуле 3 кг. Как это совместить без проблем и что главнее в одной строке для product_variant 2 кг или 3 кг? Оставить 2 или 3 кг? Или записать оба?
Другой частный случай, когда в товаре вес не указан вовсе, а в артикуле стоит 3 кг. Это как бы совместить можно наверное, но вылезает проблема контроля того какие хар-ки где именно вводить, чтобы случайно не задублировать артикульные в товаре и т.п. Потому что можно и так и сяк, и совместить, и частями, и вообще запутаться. Пасти этот зоопарк сложно т.к. данные лежат в двух местах и обязательно что-то где-то пролезет. Оптимально при единственном артикуле, сам артикул не трогать никак и всё скидывать на товар. Принять это как закон и выполнять. Начнется появление артикулов, тогда и разницу с товаром отражать в артикуле, но не всё подряд, а строго только то, что отличается от товара. Эта разница сформирует вторую строку данных.
Поэтому и сделано так, что как только возникает хар-ка чисто для артикула, то тут же создается variant для product.
Автоматизировать это все можно, но для этого вам надо обнулить хар-ки артикулов массово через импорт и заполнить правильными данными хар-ки товара. Придется поколдовать с таблицей и импортом не один раз наверное, т.к. такие вещи лучше делать пошагово.
Насчет двух одинаковых характеристик у товара и артикула тоже думал и подозревал что вся эта тема из-за них, но удалив одинаковую с товаром характеристику из артикула результат не получил... хотя очень надеялся что причина будет найдена.
И непонятно когда часть характеристик попала на артикул , специально ее туда не вносили - импортировали файлом. Тут видимо зависимость от того что использовать для идентификации товаров - наименование или артикул - и по этому признаку видимо характеристика приписывается к артикулу или товару. Нужно будет проверить . И сразу вопрос - если использовать идентификацию по наименованию и артикулу одновременно то куда запишутся характеристики ? Только опытным путем наверное можно выяснить.
Аналогичная ситуация. У множества товаров появились "variant", хотя всегда было без артикулов. При внимательном рассмотрении, такое появилось у тех товаров, у которых заполнен GTIN. Конечно приятно было почитать обсуждение проблемы двумя умными людьми, но что в итоге то? Как массово убрать gtin из значения для артикула (куда оно видимо пишется по умолчанию) в значение для товара? В старом интерфейсе я даже возможности такой не нашел, даже увидеть нельзя, не то что исправить! Но отлично видно в новом интерфейсе — прямо в таблице товаров, даже понятие новое для этого введено, выглядит как "1 модификация в 1 артикуле". И легко исправляется. Поле gtin для модификации очищаешь, оставив значение в gtin товара, потом переключатель "Товар состоит из нескольких артикулов или модификаций" выключаешь и готово! Но только вручную!!! А товаров таких много. Как это исправить массово?
Кроме того, что приходится исправлять вручную, некоторые товары иногда опять превращаются в модификации! В очень редких случаях, закономерности пока не нашел.
Дмитрий К, вам удалось решить проблему полностью?
А никак - так и висят часть товаров отдельно артикул отдельно товар... В поддержке сказали что в курсе проблемы
Логика должна быть такая
На что ответили
и позже
но мы экспортируем как раз для того чтобы после обработки снова импортировать .
Очистить все характеристики артикула как то нужно и залить их снова в товар , тогда проблемы не будет. Как массово это сделать - это другой вопрос . Пока не пробовал. Планирую позже заняться вплотную.
Как мы решили вопрос:
выгрузили все товары, отфильтровали эти двойные строки,
потом из артикула копируем все его характеристики в строку товара
после этого очищаем содержимое ячеек у характеристик артикула.
Готовый файл импортируем в базу. При импорте выбираем идентификацию по наименованию и артикулу.
получаем в итоге то что хотели )
посмотрим будет ли в дальнейшем новые разделения.
*на скриншотах часть не нужных для этого процесса столбцов удалена после выгрузки , чтобы картинка получилась читаемая
картинки скриншотов куда то пропали ((
Все характеристики в товаре , в таком виде импортируем
Получаем после новой выгрузки уже одну строку