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

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

ispolin
ispolin
Репутация: 0
Сообщения: 8
Зарегистрирован: 26.01.2021
С нами: 3 года 2 месяца

Сообщение #1 ispolin » 26.01.2021, 14:21

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


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

makki M
makki M
Репутация: 199
Сообщения: 697
Зарегистрирован: 12.08.2016
С нами: 7 лет 7 месяцев
Откуда: Киев
Сайт

Сообщение #2 makki » 26.01.2021, 15:47

Когда задаете вопрос о помощи, пожалуйста всегда указывайте свою версию OkayCMS
Cоздание и расширение функционала интернет-магазина на платформе OkayCMS 2 (с 3-й и 4-й версией не работаю)

OkayCMS M
Администратор
Аватара
OkayCMS M
Администратор
Репутация: 216
Сообщения: 1627
Зарегистрирован: 12.11.2015
С нами: 8 лет 4 месяца
Сайт Skype

Сообщение #3 OkayCMS » 26.01.2021, 21:30

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


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

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

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

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

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

ispolin
ispolin
Репутация: 0
Сообщения: 8
Зарегистрирован: 26.01.2021
С нами: 3 года 2 месяца

Сообщение #4 ispolin » 27.01.2021, 05:52

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

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

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


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

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

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

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

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

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

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #5 korshunov » 27.01.2021, 06:06

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

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

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

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

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

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

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

ispolin
ispolin
Репутация: 0
Сообщения: 8
Зарегистрирован: 26.01.2021
С нами: 3 года 2 месяца

Сообщение #6 ispolin » 27.01.2021, 10:52

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

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

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

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

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

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

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


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


Название раздела: Предложения по улучшению OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Предложения по улучшению OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 17 гостей