Где возникла проблема: Модуль YML экспорт (Яндекс маркет)
Суть проблемы: В таблицу исключенных из экспорта объектов пишутся товары с исключенным прайс-листом (price_id) равным 0 (т.е. несуществующим id)
Как воспроизвести проблему: Выбираем несколько товаров.
Редактировать выбранные
снимаем все галочки, выбираем YML Исключить экспорт
Далее - Применить значение к выделенным товарам
Тут фокус: допустим у нас есть прайс листы с id 2, 6, 7
Если мы выберем для всех товаров исключить из прайслиста 2 - то будет все нормально, как и задумано
Но если мы хотим оставить экспорт в прайс 2 и 7, и исключить из 6 то в базу пишется две записи:
price_id object_id object_type
0 8564 product
6 8564 product
если мы хотим оставить экспорт в прайс 2 и 6, и исключить из 7 то в базу пишется тоже две записи:
price_id object_id object_type
0 8564 product
7 8564 product
если мы хотим оставить экспорт в прайс 6, и исключить из 2 и 7 то в базу пишется три записи:
price_id object_id object_type
0 8564 product
2 8564 product
7 8564 product
то есть если при наличии исключаемого варианта есть прайс не исключаемый - в базу пишется вариант с id = 0
При этом если не пользоваться массовым заполнением, а проставить в массовом редактировании вручную каждому товару исключаемые списки - то такой проблемы не возникает