Страница 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.)