Описание программы импорта прайсов товаров (ИПТ)

Оглавление

1. Вводная информация. 1

2. Поставщики. 1

3. Схемы совместимости. 2

3.1. Загрузка прайса. 2

3.2. Правила для создания схемы.. 2

3.3. Правила для создания фильтров. 3

4. Загрузка товаров. 3

4.1. Предварительная загрузка товаров (буфер). 3

4.2. Совмещение товаров. 4

4.3. Категории. 4

4.4. Окончательная загрузка товаров на сайт. 5

5. Сохранение настроек для каждого поставщика. 6

6. Повторная загрузка товаров. 6

7. Структура базы данных программы ИПТ. 6

1.  Вводная информация

Под импортом прайсов имеется ввиду процесс, когда из excel-файла поставщика информация о товарах программным способом переносится в базу данных товаров CRM системы и/или сайта.

Принимается, что прайсы поставщиков товаров могут быть в различном формате, однако в них должна присутствовать следующая информация:

- название товара;

- цена;

- производитель;

- описание товара;

- возможна дополнительная информация.

Цель: создать программное обеспечение, которое в автоматическом или полуавтоматическом режиме будет импортировать прайсы от разных поставщиков в базу данных CRM или сайта.

2.  Поставщики

Для корректной и удобной работы в программе должны создаваться записи для каждого поставщика. У одного поставщика может быть несколько различных прайсов. При чем структура их может отличаться друг от друга. Т. е. каждый прайс должен настраиваться отдельно даже если поставщик один и тот же.

Для хранения информации о поставщиках используется таблица:

НЕ нашли? Не то? Что вы ищете?

E:\home\galastore\docs\pics\supplier.jpg

3.  Схемы совместимости

3.1.  Загрузка прайса

Создав поставщика далее можно создавать схему совместимости прайса. Для этого сначала создается запись о схеме совместимости.

Запись о том, что у поставщика есть схема должна содержать следующую информацию:

- название схемы;
- ссылка на поставщика;

Таблица:

E:\home\galastore\docs\pics\scheme.jpg

После того, как запись создана, загружается excel-файл, по структуре которого будет строится схема совместимости. При загрузке файла он открывается как обычный excel-файл.

Столбцы обозначаются как и в excel буквами, строки – цифрами.

Далее с помощью настройки правил создается непосредственная схема загрузки.

3.2.  Правила для создания схемы

1.  Столбец «Х» соответствует полю «N»,
тут и далее «Х» обозначает названия столбца в excel-файле, а «N» - название поля в таблице БД сайта или CRM.

2.  Столбец «Х» начиная со слова «Y» соответствует полю «N» ,
тут и далее «Y», «Z» и т. д. обозначают порядковые номера.

3.  Столбец «Х» начиная со слова «Y», но не больше чем «Z» слов, соответствует полю «N».

4.  Столбец «Х» начиная с символа «Y», «Z» символов.

Информация о правилах хранится в таблице:

E:\home\galastore\docs\pics\rules.jpg

В данной таблице в поле rules_descr сохраняется информация о правиле в текстовом виде.
Формат данного текстового поля может быть описан позже на этапе разработки.
Пример: COLUMN {X}, WORD {Y}, END {LAST} OR WORD {Z}.

В случае пересечения правил проверки быть не должно, одна и та же информация может вноситься в разные поля по желанию администратора.

3.3.  Правила для создания фильтров

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

Правила для фильтров:

1.  Не добавлять товар, если поле «Х» той же строки свободно.

2.  Не добавлять товар, если в поле «Х» есть/нет слово/словосочетание «ххххх»

3.  Добавлять товары номера строк от «Х» до «Y».

Информация про фильтры записывается в таблицу:

В данной таблице в поле filter_descr сохраняется информация о правиле в текстовом виде.
Формат данного текстового поля может быть описан позже на этапе разработки.
Пример: NOT COLUMN {X}, WORD {Y}, END {LAST} OR WORD {Z}.

Словарь данных правил должен быть разработан таким образом, чтобы его можно было расширять.

N.b! Во время разработки необходимо обязательно описывать синтаксис правил в отдельном документе, чтобы всегда была возможность без доступа в программный код продукта понять каким образом строится правило.

4.  Загрузка товаров

4.1.  Предварительная загрузка товаров (буфер)

После того, как схема создана, можно добавлять товары в БД программы ИПТ.

Примечание: БД программы ИПТ не связана с БД самого сайта, т. к. выполняет, по сути, только задачу импорта данных.

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

Когда все товары из прайса загружены в БД, администратор программы имеет возможность визировать данные. Т. е. выделить те товары, которые добавлены корректно, либо убрать из добавления товары, которые не соответствуют каким-либо параметрам.

На этом этапе все загруженные товары выводятся в виде таблички, в которой указываются: название товара и цена.

Далее человек должен выбрать категорию, к которой относится товар (подробнее см. раздел категорий).

Кликнув на любой из товаров, можно увидеть похожие товары, которые уже загружены в БД программы ИПТ (подробнее см. раздел совмещение товаров). В случае, если для товара уже выбрана категория, то похожие товары ищутся только в выбранной категории, что позволит и упростить работу пользователя и снизить нагрузку на программу.

Если такой товар в БД уже существует, администратор выбирает из похожих товаров тот, которые необходимо. Таким образов новый товар считается клоном того, который уже существует, только с другими характеристиками. Товары связаны одним id.

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

После того, как товары проверены и совмещены с существующими, можно переходить к следующему этапу – «окончательной загрузке товаров на сайт».

Примечание: для данного раздела структура БД не описывается, т. к. функциональность данной части может быть реализована различными вариантами, например с помощью сохранения временных данных в сессии или в БД.

4.2.  Совмещение товаров

На этапе предварительной загрузки товаров происходит совмещение загружаемых товаров с уже существующими в БД сайта товарами.

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

Визуально это должно происходить следующим образом: после того, как был прочитан excel-файл, все загружаемые товары выводятся в общем списке. Кликая на любой товар должно открываться дополнительное поле (либо окно) в котором выводятся все похожие товары, из тех, что есть в БД. Из приведенных товаров можно выбрать один (только один) товар.

Таким образом, фактически, говорится, что данный загружаемый товар есть копией того, что уже есть в БД. Соответственно, в БД сохраняется не новая номенклатура, а только дополнительная модификация существующего товара (т. е. добавляется запись только в таблицы products_supplier_lk и products_description).

После того, как для товара вручную произошло совмещение, в списке добавляемых товаров они отмечаются цветом (или другой отметкой, например иконкой), чтобы администратор явно видел, какие товары совмещены, какие нет.

В случае, если данный товар от этого производителя уже есть в БД, то товар заново не добавляется, а только обновляется информация о нем.

Удаление с помощью импорта не происходит ни в каком случае.

4.3.  Категории

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

Это происходит следующим образом:

1.  Загружаются категории из БД сайта и выводятся в программе в виде дерева.

2.  Мышкой выделяются те товары (одновременно как угодно много), которые необходимо перенести в какую-то категорию.

3.  В шапке должна находиться кнопка «перенести в категорию…», после клика на которую нужно левой клавишей мышки кликнуть на нужную категорию (не путать с открытием и закрытием веток дерева категорий – для этого должна быть иконка «+» рядом с каждой категорией).

4.  После выбора категории, программа должна переспросить у пользователя действительно ли он хочет для выбранных товаров присвоить категорию «название категории».

5.  Если да, то всем выбранным товарам присваивается категория и рядом с каждым товаром выводится названия категории к которой он принадлежит.

4.4.  Окончательная загрузка товаров на сайт

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

Структура таблицы товаров следующая:

В таблице products сохраняется запись про товар: только название и id.

Между таблицами products и supplier создается связь «много-ко-многим» с помощью таблицы products_supplier_lk, т. к. один и тот же товар может быть у разных поставщиков. Т. е. фактически реальным товаром является запись в таблице products_supplier_lk, а в таблице products хранится номенклатура товаров, которые представлены на сайте.

Описание товаров хранится в таблице products_description. Причем в данной структуре созданы только основные поля описания товаров а фактически их может быть больше. Расширять количество полей можно в ходе разработки ИПТ по мере необходимости.

Кроме того должна быть продумана возможность добавления полей описания товаров во время работы с программой, т. к. количество информации в исходных excel таблицах может быть различное. Либо, как допустимый вариант, должны быть резервные поля.

5.  Сохранение настроек для каждого поставщика

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

Т. е. храниться должна следующая информация:

1.  Список поставщиков.

2.  Список типов прайсов у каждого поставщика.

3.  Схемы импорта прайсов – правила, по которому импортируются товары из файла.

4.  Схемы фильтров прайсов – правила, по которым фильтруются данные из файла.

5.  После загрузки прайса в программу первый раз, все товары должны быть сохранены в программе.

6.  Для каждого товара должно быть сохранено соответствие загружаемого товара к тем, что уже есть в БД сайта.

7.  Для каждого товара должна быть сохранена категория, в которую загружается товар.

6.  Повторная загрузка товаров

После первого раза импорта прайса, все последующие происходят в полуавтоматическом режиме. А именно: все этапы загрузки пользователь обязан пройти как и в первый раз, однако сейчас ему предлагается только либо согласиться с настройками (из первого раза), либо поменять по своему усмотрению настройки. Во втором случае новые настройки замещают старые.

На этапе «предварительной загрузки товаров» в буфер те товары, которых ранее не было в прайсе должны помечаться красным цветом. А те товары, которые были ранее, но в новом файле не присутствуют должны помечаться серым фоном.

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