Jump to content


Photo
- - - - -

Импорт/Экспорт

импорт импорт csv импорт материалов 220v

  • This topic is locked This topic is locked
65 replies to this topic

#41 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 10 March 2015 - 08:47

| 113 uah | 41 | XXS | Синий | цена 2 |остаток 2 |  размер 2 | цвет 2|

А если у нас 10 вариаций? Как их отличать (читать как "отделять") другу друга?

 

Учтем что набор внутри вариации не постоянный, например в одной из них есть остаток и цена, а в другом их нет, зато есть цвет и размер.

В итоге, вашу строку можно трактовать десятками (если не сотнями) способами.

И это только одна строка, а что если будет 10 вариаций?

 

Пока что такой вариант не приемлем. Слишком большая каша.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#42 rihter2001

rihter2001
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 2.1
  • posts: 319
  • topics: 18

Posted 10 March 2015 - 09:58

Пока что такой вариант не приемлем. Слишком большая каша.

я понимаю что пока..

надеюсь в будущем будет адекватный импорт

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


  • 0

#43 Евгения

Евгения
  • JBZoo User (rus)
  • User rate: 11.4
  • posts: 505
  • topics: 25

Posted 10 March 2015 - 10:09

я понимаю что пока..

надеюсь в будущем будет адекватный импорт

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

Спорно оно все. Даже если вылизать csv, один фиг руками править приходится. У меня девочки сидят на связке exel+openoffice и.. не то чтоб совсем счастливы, но вполне довольны жизнью, потому что бывает на МНОГО хуже :)

 

З.Ы. Денис огромное спасибо за код в категориях. Работает :))) И от девочек вам тоже спасибо :)

 

И наверное его стоит выложить в рецепты. На новой версии еще не тестировала, но протестирую и выложу, хорошо? Штука очень полезная.


Edited by Евгения, 10 March 2015 - 10:11.

  • 0

"Это бессмысленно" - сказал разум. "Это нелепо" - заметил опыт. "Это бесполезно" - отрезал здравый смысл. "О! Вот так нормально!" - обрадовался клиент.

Что, где лежит (тема-сборник про пути к файлам)


#44 rihter2001

rihter2001
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 2.1
  • posts: 319
  • topics: 18

Posted 10 March 2015 - 10:16

сидят на связке exel+openoffice

я на такой же связке сижу, но перебивать ручками около 1000 позиций это ппц , а цены массово как меняете?


  • 0

#45 Евгения

Евгения
  • JBZoo User (rus)
  • User rate: 11.4
  • posts: 505
  • topics: 25

Posted 10 March 2015 - 11:07

Формулами. :)

 

То есть у нас разложены товары по категориям. Выгружаем категорию, открываем exel, пишем формулу, сохраняем, перекодируем, выгружаем. 

 

Как вариант выгружаем производителя. Цены как правило по их прайсам меняются.


Edited by Евгения, 10 March 2015 - 11:08.

  • 0

"Это бессмысленно" - сказал разум. "Это нелепо" - заметил опыт. "Это бесполезно" - отрезал здравый смысл. "О! Вот так нормально!" - обрадовался клиент.

Что, где лежит (тема-сборник про пути к файлам)


#46 rihter2001

rihter2001
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 2.1
  • posts: 319
  • topics: 18

Posted 10 March 2015 - 11:18

Формулами

пардоньте как вот это

value:113 uah; _balance:41; Размер:XXS; Цвет:Синий

можно запихнуть в формулу экселя?


создал тестовый вариант

2015-03-10_13-13-28.jpg

но ни при варианте

2015-03-10_13-10-57.jpg

ни при

2015-03-10_13-10-08.jpg

варианты цены не импортирует


  • 0

#47 Евгения

Евгения
  • JBZoo User (rus)
  • User rate: 11.4
  • posts: 505
  • topics: 25

Posted 10 March 2015 - 18:52

пардоньте как вот это

value:113 uah; _balance:41; Размер:XXS; Цвет:Синий

 

можно запихнуть в формулу экселя?

 

Колонки Value, значение, _balance, значение, Размер, значение, Цвет, значение и последняя колонка с сложением всех предыдущих с разделителем.

Но это примитивно. Можно без значений, но тогда со ссылками на результаты сложения. И автоподстановка с автозаменой в ячейках в экселе прекрасно работает.

 

Сохраняем соответственно только те колонки, которые нам нужны.

 

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

 

Еще с одними я извращалась в np++ и регулярными выражениями. Аналогично, один раз пишем регулярки, сохраняем и не имеем себе мозг.


Edited by Евгения, 10 March 2015 - 18:55.

  • 0

"Это бессмысленно" - сказал разум. "Это нелепо" - заметил опыт. "Это бесполезно" - отрезал здравый смысл. "О! Вот так нормально!" - обрадовался клиент.

Что, где лежит (тема-сборник про пути к файлам)


#48 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 16 March 2015 - 06:09

В любом случае CSV будет накладывать свои ограничения.

И основное из них - это двумерная таблица (колонки x столбцы).

 

И все бы хорошо для простых полей, пока мы не пытаемся затолкать туда чуть больше чем просто строку.

Например - путь до картинки - без проблем даже для множественного поля.

А вот путь до картинки, где есть описание, alt, title и так чтобы множественное - уже большой вопрос.

 

Когда мы говорим о цене, то перед разработчиками встает головная боль, как вот это

<?php
$varName = array(
    '8ab2212c-520a-4b65-a4a4-8d093aea1744' => array(
        'variations'      => array(
            0  => array(
                '_value'    => array(
                    'value' => '10 usd',
                ),
                '_sku'      => array(
                    'value' => 'tshirt-first-base',
                ),
                '_balance'  => array(
                    'value' => '-1',
                ),
                '_discount' => array(
                    'value' => '0 eur',
                ),
                '_image'    => array(
                    'value' => 'images/tshirt-white.png',
                ),
            ),
            1  => array(
                '_value'                               => array(
                    'value' => '15 eur',
                ),
                '_sku'                                 => array(
                    'value' => 'tshirt-first-black-s',
                ),
                '_balance'                             => array(
                    'value' => '-1',
                ),
                '_discount'                            => array(
                    'value' => '0 eur',
                ),
                '_image'                               => array(
                    'value' => 'images/tshirt-black.png',
                ),
                '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                    'value' => 'черный',
                ),
                '621c68de-a995-4302-acc6-543596657cf5' => array(
                    'value' => 's',
                ),
            ),
            2  => array(
                '_value'                               => array(
                    'value' => '15 eur',
                ),
                '_sku'                                 => array(
                    'value' => 'tshirt-first-white-s',
                ),
                '_balance'                             => array(
                    'value' => '-1',
                ),
                '_discount'                            => array(
                    'value' => '0 eur',
                ),
                '_image'                               => array(
                    'value' => 'images/tshirt-white.png',
                ),
                '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                    'value' => 'белый',
                ),
                '621c68de-a995-4302-acc6-543596657cf5' => array(
                    'value' => 's',
                ),
            ),
            3  => array(
                '_value'                               => array(
                    'value' => '20 usd',
                ),
                '_sku'                                 => array(
                    'value' => 'tshirt-first-black-m',
                ),
                '_balance'                             => array(
                    'value' => '-1',
                ),
                '_discount'                            => array(
                    'value' => '0 eur',
                ),
                '_image'                               => array(
                    'value' => 'images/tshirt-black.png',
                ),
                '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                    'value' => 'черный',
                ),
                '621c68de-a995-4302-acc6-543596657cf5' => array(
                    'value' => 'm',
                ),
            ),
            4  => array(
                '_value'                               => array(
                    'value' => '20 eur',
                ),
                '_sku'                                 => array(
                    'value' => 'tshirt-first-white-m',
                ),
                '_balance'                             => array(
                    'value' => '-1',
                ),
                '_discount'                            => array(
                    'value' => '0 eur',
                ),
                '_image'                               => array(
                    'value' => 'images/tshirt-white.png',
                ),
                '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                    'value' => 'белый',
                ),
                '621c68de-a995-4302-acc6-543596657cf5' => array(
                    'value' => 'm',
                ),
            ),
            5  => array(
                '_value'                               => array(
                    'value' => '25 eur',
                ),
                '_sku'                                 => array(
                    'value' => 'tshirt-first-black-l',
                ),
                '_balance'                             => array(
                    'value' => '-1',
                ),
                '_discount'                            => array(
                    'value' => '0 eur',
                ),
                '_image'                               => array(
                    'value' => 'images/tshirt-black.png',
                ),
                '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                    'value' => 'черный',
                ),
                '621c68de-a995-4302-acc6-543596657cf5' => array(
                    'value' => 'l',
                ),
            ),
            6  => array(
                '_value'                               => array(
                    'value' => '25 eur',
                ),
                '_sku'                                 => array(
                    'value' => 'tshirt-first-white-l',
                ),
                '_balance'                             => array(
                    'value'  => '-1',
                    '_basic' => '-1',
                ),
                '_discount'                            => array(
                    'value' => '0 eur',
                ),
                '_image'                               => array(
                    'value' => 'images/tshirt-white.png',
                ),
                '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                    'value' => 'белый',
                ),
                '621c68de-a995-4302-acc6-543596657cf5' => array(
                    'value' => 'l',
                ),
            ),
            7  => array(
                '_value'                               => array(
                    'value' => '30 eur',
                ),
                '_sku'                                 => array(
                    'value' => 'tshirt-first-black-x',
                ),
                '_balance'                             => array(
                    'value' => '-1',
                ),
                '_discount'                            => array(
                    'value' => '0 eur',
                ),
                '_image'                               => array(
                    'value' => 'images/tshirt-black.png',
                ),
                '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                    'value' => 'черный',
                ),
                '621c68de-a995-4302-acc6-543596657cf5' => array(
                    'value' => 'x',
                ),
            ),
            8  => array(
                '_value'                               => array(
                    'value' => '30 eur',
                ),
                '_sku'                                 => array(
                    'value' => 'tshirt-first-white-x',
                ),
                '_balance'                             => array(
                    'value' => '-1',
                ),
                '_discount'                            => array(
                    'value' => '0 eur',
                ),
                '_image'                               => array(
                    'value' => 'images/tshirt-white.png',
                ),
                '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                    'value' => 'белый',
                ),
                '621c68de-a995-4302-acc6-543596657cf5' => array(
                    'value' => 'x',
                ),
            ),
            9  => array(
                '_value'                               => array(
                    'value' => '35 eur',
                ),
                '_sku'                                 => array(
                    'value' => 'tshirt-first-black-xl',
                ),
                '_balance'                             => array(
                    'value' => '-1',
                ),
                '_discount'                            => array(
                    'value' => '0 eur',
                ),
                '_image'                               => array(
                    'value' => 'images/tshirt-black.png',
                ),
                '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                    'value' => 'черный',
                ),
                '621c68de-a995-4302-acc6-543596657cf5' => array(
                    'value' => 'xl',
                ),
            ),
            10 => array(
                '_value'                               => array(
                    'value' => '35 eur',
                ),
                '_sku'                                 => array(
                    'value' => 'tshirt-first-white-xl',
                ),
                '_balance'                             => array(
                    'value' => '-1',
                ),
                '_discount'                            => array(
                    'value' => '0 eur',
                ),
                '_image'                               => array(
                    'value' => 'images/tshirt-white.png',
                ),
                '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                    'value' => 'белый',
                ),
                '621c68de-a995-4302-acc6-543596657cf5' => array(
                    'value' => 'xl',
                ),
            ),
        ),
        'values'          => array(
            1  => array(
                '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                    'value' => 'черный',
                ),
                '621c68de-a995-4302-acc6-543596657cf5' => array(
                    'value' => 's',
                ),
            ),
            2  => array(
                '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                    'value' => 'белый',
                ),
                '621c68de-a995-4302-acc6-543596657cf5' => array(
                    'value' => 's',
                ),
            ),
            3  => array(
                '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                    'value' => 'черный',
                ),
                '621c68de-a995-4302-acc6-543596657cf5' => array(
                    'value' => 'm',
                ),
            ),
            4  => array(
                '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                    'value' => 'белый',
                ),
                '621c68de-a995-4302-acc6-543596657cf5' => array(
                    'value' => 'm',
                ),
            ),
            5  => array(
                '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                    'value' => 'черный',
                ),
                '621c68de-a995-4302-acc6-543596657cf5' => array(
                    'value' => 'l',
                ),
            ),
            6  => array(
                '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                    'value' => 'белый',
                ),
                '621c68de-a995-4302-acc6-543596657cf5' => array(
                    'value' => 'l',
                ),
            ),
            7  => array(
                '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                    'value' => 'черный',
                ),
                '621c68de-a995-4302-acc6-543596657cf5' => array(
                    'value' => 'x',
                ),
            ),
            8  => array(
                '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                    'value' => 'белый',
                ),
                '621c68de-a995-4302-acc6-543596657cf5' => array(
                    'value' => 'x',
                ),
            ),
            9  => array(
                '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                    'value' => 'черный',
                ),
                '621c68de-a995-4302-acc6-543596657cf5' => array(
                    'value' => 'xl',
                ),
            ),
            10 => array(
                '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                    'value' => 'белый',
                ),
                '621c68de-a995-4302-acc6-543596657cf5' => array(
                    'value' => 'xl',
                ),
            ),
        ),
        'selected'        => array(
            '61ea0db8-ad23-4dd2-a2dc-d2f38c5cc970' => array(
                'черный' => 'черный',
                'белый'  => 'белый',
            ),
            '621c68de-a995-4302-acc6-543596657cf5' => array(
                's'  => 's',
                'm'  => 'm',
                'l'  => 'l',
                'x'  => 'x',
                'xl' => 'xl',
            ),
        ),
        'default_variant' => '6',
    ),
);

Затолкать в CSV и всем угодить :)

 

Этот код не с потолка. Это простейшая футболка №1 с бета сайта.

 

И тут есть небольшое но крайне важное условие. Импорт должен без проблем распознать каждое поле и положить его в нужную вариацию.

Шаг в право-влево => Расстрел на месте :)

 

Пока что положить каждое поле вариации в отдельную ячейку CSV -  не вариант.

 

PS Формулы очень удобная вещь, яб сказал это минимум необходимый для пользования таблицами.

А мой скромный опыт говорит, что 1С может в любом формате загружать и выгружать данные. Вот только 1С-ники ленятся...


  • 2
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#49 Na_uM

Na_uM
  • JBZoo User (rus)
  • User rate: 15.9
  • posts: 782
  • topics: 61

Posted 26 March 2015 - 17:03

Кто нить делал экспорт с последним обновлением? как результаты?

у меня данные что то в пляс пошли - как пример в материалах два строки адрес и телефон, в экспорте в графе адрес для одного материала правильно - адрес, для другого в той же графе - телефон, а в админке все правильно


  • 0

#50 flart

flart
  • JBZoo User (rus)
  • User rate: 15.2
  • posts: 223
  • topics: 16

Posted 06 April 2015 - 17:47

Тестирую экспорт. У меня никак не получается выгрузить корректно "Пользовательские поля"

Файл сбивается (все поля в данные в разброс идут), пробовал с разными разделителями.

 

Если не выбирать Пользовательские поля то тогда все ок. Подскажите как сделать экспорт этих полей ? 


  • 0

flart-small.png






Also tagged with one or more of these keywords: импорт, импорт csv, импорт материалов, 220v

Click to return to top of page in style!