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

Как работает импорт?

Добавлено: 30 май 2016, 19:46
nikorn
Попробовал поработать с экспортом/импортом, но тут же наткнулся на то, что не понимаю, как работает импорт. Похоже, при импорте просто добавляются записи (add) из импортируемого файла. Да?

А есть ли такой вариант, когда импорт перезаписывает (update) существующие записи? Или даже не всю запись, а только импортируемые поля? Например, если ID импортируемой записи уже есть в БД

Объясню, зачем это нужно.

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

Re: Как работает импорт?

Добавлено: 30 май 2016, 20:52
support
А есть ли такой вариант, когда импорт перезаписывает (update) существующие записи?
Пока такой возможности нету. Понятно для чего это нужно, но пока более никто не спрашивал о такой возможности, и по этому эта функция отложена в долгий ящик запланированных возможностей:)

Re: Как работает импорт?

Добавлено: 30 май 2016, 21:38
nikorn
Самая главная проблема, которая сейчас имеется в системе экспорта/импорта, это необратимость процесса. По хорошему должно быть так, что после экспорта и последующего обратного импорта таблицы (с настройками по умолчанию) в системе ничего не должно измениться.

В настоящее же время экспорт числовых полей с последующим обратным импортом приводит к самым неожиданным результатам: 15 000,00 превращается, например, в 15,00.

Конечно, то что сейчас имеется - это уже огромное достижение. Но хотелось бы сделать следующий шаг - реализовать экспорт таблиц "один к одному". Чтобы потом так же "тупо" импортировать все обратно и быть уверенным, что таблицы остались работоспособными. Кроме числовых полей, в частности, есть еще проблема экспорта/импорта связанных полей.

Re: Как работает импорт?

Добавлено: 31 май 2016, 07:18
support
Еще есть проблема импорта полей с типом Дата, так как формат даты разный и PHP функция не всегда коректно справляется с определением, тем более если дата не на английском, так что тут есть над чем работать:)

Я согласен с вами и следующий шаг уже в планах есть. Но этот процесс трудоемкий и более некто не просил об этом.

Если будет хотя бы 3 запроса на эту тему, тогда включу в 1.8

Re: Как работает импорт?

Добавлено: 31 май 2016, 08:14
nikorn
Во вложении очень хороший бесплатный php-модуль экспорта/импорта для OpenCart. Он делает импорт/экспорт корректно и имеет много полезных настроек. Может быть из него удастся почерпнуть готовые решения, когда дойдут у Вас руки до этой задачи. Я также готов подключиться, в том числе, на этапе разработки ТЗ.

Re: Как работает импорт?

Добавлено: 31 май 2016, 08:22
support
спасибо, пригодится

Re: Как работает импорт?

Добавлено: 31 май 2016, 14:16
nikorn
Делюсь с участниками форума простой функцией Excel, которая преобразует формат даты Excel в формат даты Руководителя. Мне она помогла импортировать в Руководитель данные, которые годами копились в файлах Excel.

Код: Выделить всё

=СЦЕПИТЬ(ГОД(A1);"-";МЕСЯЦ(A1);"-";ДЕНЬ(A1))

Re: Как работает импорт?

Добавлено: 02 июн 2016, 14:15
tommy.felt
support писал(а):
А есть ли такой вариант, когда импорт перезаписывает (update) существующие записи?
Пока такой возможности нету. Понятно для чего это нужно, но пока более никто не спрашивал о такой возможности, и по этому эта функция отложена в долгий ящик запланированных возможностей:)
Добрый день! Писал в другом треде, о том что такая возможность очень нужна.)
Есть ли вероятность, что она в ближайшем времени появится в Дополнении?;)
Импорт в бесплатной версии, Обновление в платной -- хороший стимул соинвестировать в проект.))

P.S. Пока только настраиваю систему, поэтому могу удалять все записи и импортировать с расширенными данными.
Как это сделать одним махом, но чтобы не удалять сущность, дабы сохранить все поля?
Пока приходится циклиться: удалить -- подтвердить..

Благодарю.)

Re: Как работает импорт?

Добавлено: 02 июн 2016, 14:43
nikorn
Предлагаю делать так, как поступал я, когда втаскивал данные за прошлые годы:

1) Подготовить данные в Excel'е, учитывая все особенности работы импорта. При этом некоторые поля придется дублировать в двух форматах - Excel'а и Руководителя. Актуальные данные держать в этом файле
2) Сделать резервную копию БД
3) Зайти в mySQL, выделить все записи в нужной таблице и удалить их
4) Импортировать из Excel'а

Работа занимает 1-2 минуты.

NB! Рецепт не будет работать, если у вас есть связи между таблицами.

Re: Как работает импорт?

Добавлено: 02 июн 2016, 15:44
tommy.felt
NB! Рецепт не будет работать, если у вас есть связи между таблицами.[/quote]
У меня предыдущая версия полностью преобразована в текстовый формат, по требованиям импорта Руководителя
Теперь необходимо выгрузить инфу с Реформы ЖКХ за три года..)
Через API.)