CatalogFill после НГ импортирует не все товары

MODX Revolution 2.5.0-pl
CatalogFill 2.4.8-pl

Здравствуйте, конфигурации импорта не менялись с августа месяца, все работало как часы до НГ, после праздников импорт почему то добавляет не все товары из Файла

Стоит проверка соответствия по ТВ - КОД ТОВАРА (все уникальные)

//проверять соответствие товара при обновлении по значению TV. Указать ID TV. false - не проверять (очистка категории при обновлении).
$cf_config['imp_chk_tvid_val'] = 64;

Немного потыкав, понял, если поменять код на те товары, которые перестали импортироваться на произвольный - они добавляются..

Я так понимаю импорт стал считать, что товары с данным кодом уже добавлены и обходит их. Но их реально нет. Раньше удалял / добавлял все без проблем. Подскажите от чего такое может быть.

Там вроде есть настройка заменить существующие. Может таким макаром импортируются?)

@kostya_slam она вкл. При импорте ставлю радио переключатель на ОБНОВИТЬ. Как и всегда. Раньше те товары, код которых уже есть - пропускались, те которых нет добавлялись. А тут рандомно какие то добавляет, какие то пропускает..

Добрый день!
Импортируете из excel? У вас где-нибудь остались старые файлы импорта excel и бекап ранних версий сайта?

Если да, то попробуйте:

  1. Взять файл, который гарантировано импортировался корректно, поменять в нем только одно поле на легко проверяемое значение, например цену, на 777 рублей.
    И импортировать в новую версию сайта. Если все сработает, значит ошибка в вашем новом файле импорта.

Если нет, значит идем дальше:

  1. Берем бекап сайта и на нем проверяем импорт из старого файла. Если все импортируется, попробуйте грузануть новый файл. Если и тут все сработало, значит что-то меняли на сайте, скорее всего в конфигах CatalogFill.

На первом шаге важно брать не текущий файл, а именно какой-то старый прайс, который вы когда-то грузили и он подошел, т.к. в excel тоже очень легко все испортить так, что и не видно будет разницы.

Я всегда храню бекапы сайта и старых прайсов, для таких случаев.

Участник @e.a.novgorodov написал в CatalogFill после НГ импортирует не все товары:

Я так понимаю импорт стал считать, что товары с данным кодом уже добавлены и обходит их. Но их реально нет. Раньше удалял / добавлял все без проблем. Подскажите от чего такое может быть.

Еще вопрос, импортируете в ресурсы модх или в свою базу? И где смотрите, что этих товаров нет? В SQL базе сайта или просто по выводу в каталоге?

@slaad бэкап делал на 2 недели назад - толку ноль, завтра попробую найти старый файл импорта

@slaad в самом ModX, а если в БД смотреть, это в какую таблицу?

@e.a.novgorodov
В бд это должна быть modx_site_content

@e.a.novgorodov

А тут рандомно какие то добавляет, какие то пропускает..

  1. Удалите все файлы в папке кэша /core/cache/.

  2. Сделайте файл поменьше и проверяйте на нем. Если найдете один товар, который всегда не добавляется, а должен, то проверьте сами в базе данных. Может где-то есть этот код товара, но не привязан к документу.

@slaad @Andchir сделал новый файл выгрузки, прям 100% рабочий и все тестил на нем (маленький, на 7 товаров)

  1. очистил папку /core/cache/ - Безрезультатно
  2. прошарил БД в таблицах site_content, site_tmplvar_contentvalues (ну и все что было похожее тоже просматривал) - товаров с таким кодом/названием точно нет
  3. пробовал выкладывать в другой каталог, в котором априори не было ни одной позиции - вообще не добавляет
  4. ошибок не выдает
  5. пробовал переустанавливать сам Catalogfill - безрезультатно
  6. когда при импорте выбираешь не ОБНОВИТ а ДОБАВИТЬ - добавляет все что есть, но тогда получаются дубликаты.
    Получается файл то рабочий, конфиг рабочий ( 100% ничего не менялось, доступ только у меня). Я понимаю, что где то в БД трабла, а как найти то (((

@slaad @Andchir О!! нашел, блин извините!! в таблице site_tmplvar_contentvalues есть реально код товара, который не добавляется!
А как сбросить то те, которых по факту то нет? и почему они не удалились не понимаю.

@slaad @Andchir
Вот в БД код

0_1484041966199_upload-cb047711-593b-4e7a-975e-21e3cb222e03

когда перехожу по contentid (в адресной строке админки) для редактирования ресурса пишет, что ресурса нет
0_1484042053262_upload-07987c22-c97d-41aa-b3b6-f657908db8fe

Вот только хотел написать, что плохо искали))

Все понятно, у вас ресурсы удалились, а связанные с ними ТВшки остались.
Тут лучше Andchir поможет, я с ходу не могу придумать, как побороть.

@slaad а как эти ресурсы удалялись?

@slaad так же через catalogfill, конфиг прогоняет коды в файле импорта и "ставит на удаление" потом очищаю корзину
я так делал каждый день и не по разу на протяжение полугода, проблем не возникало

Вот кусок кода импорта "на удаление"

//разбивка по столбцам при импорте и экспорте (content|tv|category)
$cf_config['content_row'] = array(
    array('Код товара',array(64,'tv')),    
);

//значения по умолчанию при импорте или проверка при экспорте
$cf_config['imp_content_default'] = array(
    'content' => array(
		'deleted' => 1,
        //'createdon' => strtotime("now")
    ),
    'tv' => array(
        //7 => 0
    )
    /*
    'category' => array(
        7 => array(
            'class_key' => 'CollectionContainer'
        ),
    ),
    */
);

@e.a.novgorodov надо ждать Andchir

Надо писать скрипт, который вычистит вам БД от лишних значений ТВ. Откуда они взялись вариантов очень много.

Вот примерный запрос для phpMyAdmin чтобы найти все лишние ТВ:

SELECT * FROM `modx_site_tmplvar_contentvalues` WHERE `contentid` NOT IN(SELECT `id` FROM `modx_site_content`)

Удалять найденные осторожно, т.к. тестировал я очень мало.

@Andchir ДА! то что нужно! в БД запрос по шаблону делаю - находит реально те ТВ, которых не привязаны!
Пытался как то обработать запрос так, чтобы он еще удалял сразу их, но я в этом не але, поэтому прям готовое решение не запилю))
Спасибо огромное! реально помогли!

Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.