Страница 1 из 1

Изменить алгоритм при Импорте файла

Добавлено: 26.01.2021, 14:21
ispolin
Заметил что когда Импортирую файл, то часть товара не загружается. Связано это с тем что есть одинаковые "Артикул", Было бы правильно что бы строки не пропускались, а была возможность вписать, что нужно добавить к Артикулу если скрипт найдет совпадения. Например перед началом обработки в поле вписывается 1 и когда скрипт найдет совпадение, он добавит 1. если поле пустое, то пропустит.


И как можно сейчас исправить ситуацию, кто может подсказать?

Добавлено: 26.01.2021, 15:47
makki
Когда задаете вопрос о помощи, пожалуйста всегда указывайте свою версию OkayCMS

Добавлено: 26.01.2021, 21:30
OkayCMS
ispolin писал(а):Заметил что когда Импортирую файл, то часть товара не загружается. Связано это с тем что есть одинаковые "Артикул", Было бы правильно что бы строки не пропускались, а была возможность вписать, что нужно добавить к Артикулу если скрипт найдет совпадения. Например перед началом обработки в поле вписывается 1 и когда скрипт найдет совпадение, он добавит 1. если поле пустое, то пропустит.


И как можно сейчас исправить ситуацию, кто может подсказать?
На самом деле, такие строки не пропускаются. Они перезаписываются.
То есть если у вас в файле идет условно:

Артикул Название
11 Платье
12 Кофта
11 Штаны

То у вас сначала создается товар Платье, а затем он перезаписывается на товар Штаны.
Таким образом вы видите только последний товар из файла.

Но со стороны - да, это может казаться как пропуски.

Более правильным решением всё же было-бы вам уникализировать артикулы перед загрузкой

Добавлено: 27.01.2021, 05:52
ispolin
makki писал(а):Когда задаете вопрос о помощи, пожалуйста всегда указывайте свою версию OkayCMS

Понял. Извините. версия 3.8.1

Добавлено спустя 7 минут 13 секунд:
OkayCMS писал(а):
ispolin писал(а):Заметил что когда Импортирую файл, то часть товара не загружается. Связано это с тем что есть одинаковые "Артикул", Было бы правильно что бы строки не пропускались, а была возможность вписать, что нужно добавить к Артикулу если скрипт найдет совпадения. Например перед началом обработки в поле вписывается 1 и когда скрипт найдет совпадение, он добавит 1. если поле пустое, то пропустит.


И как можно сейчас исправить ситуацию, кто может подсказать?
На самом деле, такие строки не пропускаются. Они перезаписываются.
То есть если у вас в файле идет условно:

Артикул Название
11 Платье
12 Кофта
11 Штаны

То у вас сначала создается товар Платье, а затем он перезаписывается на товар Штаны.
Таким образом вы видите только последний товар из файла.

Но со стороны - да, это может казаться как пропуски.

Более правильным решением всё же было-бы вам уникализировать артикулы перед загрузкой

Логику импорта понял. Я этим и занимаюсь, что делаю уникальные артикулы, но честно товара более 9000 позиций и выискивать дубли по артиклу. Было бы очень правильно если дублирующие позиции не перезаписывались, а как то уникализировались с отчетом в конце какие позиции были изменены или в конце скрипт спрашивал что делать с дублями и пользователю был выбор , типа пропустить, сделать уникальным т.д. т.п.

Добавлено: 27.01.2021, 06:06
korshunov
ispolin писал(а):Заметил что когда Импортирую файл, то часть товара не загружается. Связано это с тем что есть одинаковые "Артикул", Было бы правильно что бы строки не пропускались, а была возможность вписать, что нужно добавить к Артикулу если скрипт найдет совпадения. Например перед началом обработки в поле вписывается 1 и когда скрипт найдет совпадение, он добавит 1. если поле пустое, то пропустит.

И как можно сейчас исправить ситуацию, кто может подсказать?

Исправить можно изменением скрипта импорта. Но работа совсем не простая, начиная с разработки своего алгоритма.

Если, как Вы придумали, приписывать 1, то очень быстро могут другие проблемы возникнуть. Например, в случае

Артикул Название
11 Платье
12 Кофта
11 Штаны
11 Пиджак

для строк Штаны и Пиджак сформированы будут одинаковые артикулы...

А вообще, как заметил OkayCMS,
OkayCMS писал(а):Более правильным решением всё же было-бы вам уникализировать артикулы перед загрузкой

Добавлено: 27.01.2021, 10:52
ispolin
korshunov писал(а):
ispolin писал(а):Заметил что когда Импортирую файл, то часть товара не загружается. Связано это с тем что есть одинаковые "Артикул", Было бы правильно что бы строки не пропускались, а была возможность вписать, что нужно добавить к Артикулу если скрипт найдет совпадения. Например перед началом обработки в поле вписывается 1 и когда скрипт найдет совпадение, он добавит 1. если поле пустое, то пропустит.

И как можно сейчас исправить ситуацию, кто может подсказать?

Исправить можно изменением скрипта импорта. Но работа совсем не простая, начиная с разработки своего алгоритма.

Если, как Вы придумали, приписывать 1, то очень быстро могут другие проблемы возникнуть. Например, в случае

Артикул Название
11 Платье
12 Кофта
11 Штаны
11 Пиджак

для строк Штаны и Пиджак сформированы будут одинаковые артикулы...

А вообще, как заметил OkayCMS,
OkayCMS писал(а):Более правильным решением всё же было-бы вам уникализировать артикулы перед загрузкой


Согласен с 1-кой вариант плохой, тогда нужна генерация уникальной добавочной части артикула к артикулу дублю. на выбор пользователя. Выбор таков: цифры, буквы или цифры с буквами и длина. Пока решаю все через Ексель, нашел еще надстройку PLEX называется. Очень облегчает работу, не нужно макросы писать разные