Компиляция прайсов и выгрузка на сайт.

Все проекты
Прошло времени:   55 лет 6 месяцев 6 дней 2 часа 36 минут
Есть автомагазин, занимается продажей автодисков и шин. У данного магазина есть несколько поставщиков. Каждый поставщик периодически предоставляет прайсы в формате XLS (Excel 2003-2010). Форма каждого прайса индивидуальна для каждого поставщика (на данный момент их 9).
Задача: написать ПО для десктопа (WinXP-7), которое позволяет из нескольких прайсов разных поставщиков собрать общий файл для выгрузки в каталог их сайта. Сайт на Битриксе, модуль импорта готов, принимает файлы в формате CSV.
Промежуточные задачи:
- сделать выборку всех данных по дискам и шинам (остальные номенклатуры игнорировать) со всех прайсов поставщиков (9 прайсов + прайс самого магазина).
- привести эту выборку к единому виду. Так как лишь в одном прайсе описание каждой номенклатуры разбито по отдельным столбцам, необходимо это описание разобрать из строчки с самой номенклатурой. То есть, из строки вида
«AEZ Bridge 8*17 5/114,3 38 71,6 (арт. ABRS0HA38) Колесный Диск»
выбрать название диска (AEZ), модель (Bridge), ширина (8), радиус (17), кол-во отверстий (5), расстояние между отверстиями (114,3), вылет (38), диаметр центрального отверстия (71,6).
Для автошин это будет название, модель, радиус, ширина профиля и высота покрышки.
Необходимо связать бренд и модель с определенной моделью из справочника для решения нескольких последующих задач.
- необходимо вывести список всех разобранных номенклатур в программу для редактирования оператором (менеджером). Так как из-за неточностей в описании номенклатуры возможны погрешности в определении данных диска – должна быть возможность ручного изменения этих данных, причем эти изменения должны «запомниться» на будущее (номенклатуры одного поставщика в основном не изменяются от прайса к прайсу).
Все данные должны быть отсортированы по: 1. Бренду. 2. Модели. 3. Характеристикам диска/шины. 4. Цене.
То есть в идеале один и тот же диск одного размера, но разных поставщиков, должен следовать друг за другом (поставщик естественно должен быть указан). Причем, если данная модель есть в прайсе самого магазина, то первым должна идти она, затем другие производители в прядке увеличения цены (самые дешевые вверху).
В программе должен быть предусмотрен фильтр, позволяющий быстро отобрать диски и шины по заданным характеристикам.
Должна быть возможность выбора, какие номенклатуры готовить для выгрузки (менеджер сам выбирает, диск какого поставщика выгрузить на сайт). Кроме того, должна быть возможность добавлять наценку, причем для разных поставщиков разную.
- должна осуществляться связь номенклатуры со справочником моделей дисков. Данный справочник администратор 1C магазина будет обновлять сам, делая выгрузку определенных полей в 1С в Excel. Справочник они будут вести сами. Дело в том, что на сайте часть товара уже заполнена, с фотографиями, описанием и прочим.. Поэтому выгрузка не должна заменять эти данные, и лишь обновлять и добавлять новые номенклатуры. Для этого у них каждой модели в 1C присвоен некий ID, равный id товара на сайте. При импорте данные автоматически пристыковываются по данному id к готовому товару на сайте. По поводу справочника, примера выгрузки и т.д. связь с администратором:

- в итоге формируется файл выгрузки в формате CSV с выбранными номенклатурами.
Изначально программа писалась на Delphi (RAD Studio XE5), никаких доп. компонент, все из коробки. На данный момент программа импортирует данные из выбранных XLS-прайсов, определяет тип прайса (вернее шаблон, по которому его разбирать) и разбирает данные по полям с помощью регулярок. Шаблоны в формате XML, что позволяет в дальнейшем модифицировать быстро шаблоны, либо добавлять новые. Мне данный подход показался удобным. В принципе, данные промежуточно нигде не сохраняются – строка забирается с одного файла, разбирается и тут же вставляется в итоговый.
    Видеть контакты заказчика и оставлять свои предложения по проекту могут только зарегистрированные и авторизованные пользователи.
    Зарегистрируйтесь или войдите на сайт под своим именем.

    Фриланс-биржа Web-lance.net предлагает огромные возможности по поиску работы как опытным специалистам в сфере интернет-бизнеса, так и новичкам, только постигающим основы заработка во всемирной сети. Здесь вы найдете сотни интересных вакансий в сфере дизайна, копирайтинга, программирования, верстки, контент-менеджмента и других сфер деятельности востребованных среди интернет-пользователей. Также, зарегистрировавшись на бирже, вы сможете разместить здесь свою анкету, указав в ней свою специализацию и контактные данные, что даст возможность потенциальным клиентам, связаться с вами для дальнейшего взаимовыгодного сотрудничества. Сайт удобно структурирован и разбит на тематические разделы, что позволяет даже неопытным заказчикам точно определять категорию, в которую стоит публиковать их проект, в тоже время, упрощая исполнителям поиск интересующих их вакансий. Кроме того на портале имеется раздел Блоги где зарегистрированные пользователи могут публиковать материалы, а также Форум на котором исполнители и заказчики смогут обсудить рабочие моменты, а также пообщаться на интересующие их темы. Приятной вам работы на Web-lance.net - бирже, где вы сможете найти лучших исполнителей и самые интересные проекты.

    Профессия технического переводчика подразумевает не только безупречное знание иностранного языка, но и умение отлично оперировать техническими терминами. Категория технических переводов представлена различными инструкциями; описаниями технологии, оборудования, прибора, инструмента; правилами использования устройств; программным обеспечением и т.д. Технический переводчик в процессе работы руководствуется основной задачей — перевести информацию так, чтобы получился осмысленный понятный для восприятия широкому кругу пользователей текст.