Так, с этим понял. А подскажите, как задать уникальный ключ, если например поле артикула у меня отсутствует? Использовать для этого ID документа в файле импорта? В коде это задается здесь?

Конечно может, ведь весь php-процесс разваливался. Импортер создает документы. При сохранении документа вызывался несуществующий метод ($this->modx->invokeEvent вместо $this->xpdo->invokeEvent), из-за чего выполнение разваливалось. Но это не имеет никакого отношения к Duplicate entry 'category' for key 'tmp_external_key'. Вот прям вообще никакого. Про это я написал в первом комментарии.

Ну а может из-за это фатальной ошибки вываливаться импорт?

Ну, это вообще проблема никак не связанная с модимпортером. Та ошибка в принципе фатальная и в случае ее возникновения php разваливаться будет.

Николай, нашел причину того, почему импорт не работал. Не работает он на новой версии 2.6.0 из-за нового события OnResourceCacheUpdate. Честно говоря, не знаю для чего это событие, но вот этот фикс проблему решил: https://github.com/modxcms/revolution/commit/719c29231279b44cd9a6f5cd5a49f181a44a63dd

Так вы попробуйте теперь на ту чистую еще пару раз поверх прогнать. Но может на рабочем сайте структурные изменения каталога какие-то проводили.

Николай, странно, откуда у меня эта ошибка. Попробовал на чистом сайте импортировать - все залетело без проблем. А может быть из-за версии 2.6.0 ошибка? Или из-за того что в БД у меня уже много всего?

Андрей, вам же четко пишет ошибку: Duplicate entry 'category' for key 'tmp_external_key'. То есть вы пытаетесь в таблицу временных данных создать сразу несколько записей с одинаковым ключом. В данном случае у вас конфликтное значение - '', то есть пустая строка. Пустая строка - это тоже значение. Если этой блокировки по неуникальным данным не будет, у вас дубли наплодятся. Скорее всего это произошло в следствии того, что вы не указали при импорте уникальный ключ для категорий (то есть каждая запись должна иметь внешний ключ (1С-артикул или типа того)). Это необходимо не только для предотвращения появления дублей, но и для того, чтобы в дальнейшем при повторном импорте выполнялось обновление ранее существующих данных, а не создание каждый раз новых объектов. А Attempt to set NOT NULL field parent to NULL - это MODX-ошибка. Вы пытаетесь создать документ без указания поля parent. Даже если родителя у документа нет, у него parent должен быть установлен 0.

Николай, подскажите, пожалуйста, куда смотреть и в чем моя ошибка. Делаю импорт из yml. Категории создаются отлично, обновляются тоже. С товарами же такая беда: один товар создается и идет ошибка "Что-то пошло не так...". В консоли вижу такие ошибки: