Программа автоматической обработки прайс-листов, их объединения и приведения к единому формату

Логотип надстройки Unification

Программа «Прайс лист», выполненная в виде надстройки для Excel, позволяет легко автоматизировать обработку прайс-листов.

Вспомните ситуацию: поставщики в очередной раз прислали свои прайс-листы в Excel — конечно, в совершенно разных форматах - и вам нужно объединить данные из всех этих файлов в одну таблицу. А составители этих таблиц будто специально хотели усложнить вам жизнь: один отправитель разбил ФИО на 3 разных столбца, другой указал цены в гривнах вперемешку с рублевыми, третий объединил в одном столбце наименование товара и его артикул, четвертый вынес названия категорий товара в отдельные строки. И вот смотрите вы на все эти файлы и понимаете, что, кроме как вручную, их не привести к единому виду.

Но на самом деле, выполнение таких сложных задач можно (и нужно) доверить нашей программе: потратив полчаса на её настройку, вы сможете полностью автоматизировать обработку разнотипных прайсов нажатием одной кнопки!

Что умеет программа

Главная функция программы — автоматическая обработка прайс-листов и, как следствие, приведение их к единому нужному вам формату одним нажатием кнопки.

В числе полезных функций программы вы также найдете:

  • Автоматизацию наценки по категориям
    Можно задать любые правила наценки на любую выборку товаров (например, на холодильники — наценка 10%, на всю косметику — 180 рублей на каждый товар, а на все товары дешевле 1000 руб. — 70%).
  • Обработку и фильтрацию данных
    Один столбец можно разбить на несколько отдельных, или сцепить данные разных столбцов в один.
  • Создание черных и белых списков
    Можно отсеить ненужные категории товара или взять только нужные.
  • Конвертацию валют
    Все валюты приводятся к единой. Курсы конвертации задаются в настройках.
  • Формирование категорий товаров по наименованиям
    Например, холодильники и чайники относим к бытовой технике, всё остальное помещаем в категорию “разное”, и т.д.
  • Автоматическую обработку прайсов со сложной структурой (много листов, данные расположены блоками и т.д.)

Настройка программы «Прайс-лист»

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

Помощь в настройке программы под конкретные прайсы — платная, однако большинство клиентов справляются с настройкой самостоятельно.

Техническая информация

Системные требования

  • Компьютер под управлением Windows (XP, Vista, 7, 8, 10)
  • Приложение Microsoft Excel (версии 2003, 2007, 2010, 2013 или 2016)

Подробнее

Форматы файлов

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

  • файлы CSV
  • файлы Excel (XLS, XLSB, XLSM, XLSX, и т.п.)

Поддерживаются таблицы как линейной, так и иерархической структуры.
Подробнее

 

Справка по программе «Прайс лист»

Сейчас инструкции в стадии разработки. В ближайшее время будут добавлены ещё и видеоинструкция.

Как скачать и протестировать программу

Комментарии

Программа "наверное" хорошая, НО:
- Хэлпа нет никакого, ни видео, ни текста нормального (просто порядок настройки пошаговый нужен);
- Демо, скорее всего из-за незнания правильной настройки, выдает ошибку "Нехватка оперативной памяти. Обратитесь к разработчику" и ничего не выводит
- Обещанной помощи по Скайпу просто НЕТ, автор постоянно молчит или занят
- Самому с ходу программу не настроить (ошибки и отсутствие хоть какого-то мануала)

В итоге хочется купить, но не знаешь как и как вообще это настроить.

Да, Станислав, это нормально.
Жалуются обычно не антивирусы, а непонятные программы типа «антивируса»
(вы просто зайдите на сайты этих 7 жалующихся «антивирусов» - и ваш вопрос сам собой исчезнет. я как-то решил им в техподдержку написать, - но когда увидел их сайты, - передумал. Не знаю, зачем вирустотал добавил их в выдачу)
Ориентироваться надо на нормальные антивирусы известных компаний, - Касперский, Майкрософт, DrWeb, Nod32, Symantec и т.п.)

Некоторые антивирусы жалуются на ваши надстройки, это нормально?
https://virustotal.com/ru/file/efb6f10c0c76553f4ca588d39102c3a09f297537e...
https://virustotal.com/ru/file/2fd9938c73d9ba94ff6285c13d3ff164733fb0d0c...

Похоже не обрабатывает больше 200 000 строк.

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

Подскажите, а сделать анализ в файле, если в документе несколько листов?

Спасибо, разобрался. Правда пришлось пошевелить мозгами )). Помогло то, что для поля можно задать формат и условия. В итоге один из обработчиков грузит только строки, где наименования это объединенная ячейка и два других обработчика грузят строки прайса который условно разбит на 2 колонки.

Здравствуйте, Максим
Настроить можно, - но несколько иначе
Надо задавать в каждом из 2 вариантов ни с какой строки по какую обрабатывать (ибо количество строк может меняться),
а использовать опцию «Обязательное поле» для столбца «Наименование» (или другого)
В результате, оба обработчика листа загрузят все строки, - но первый обработчик откинет свои строки (где наименование в столбце 1 пустое), а второй обработчик откинет строки, где наименование в столбце 2 пустое)

Если сами не разберетесь, - звоните в скайп, помогу с настройкой.

Добрый день. Очень нужная и полезная программа, но столкнулся с определенными трудностями в прайсе поставщика. Опишу сложности словами: прайс лист в одной таблице которого большинство товаров идут в один столбец, т.е. если считать за один столбец (код, наименование цена) в одной строке, а часть товаров в 2 столбца (код, наименование цена) и (код, наименование цена) в той же строке. Я думаю проблему можно было бы обойти если использовать несколько обработчиков для одного и того же листа, но должна быть возможность указать с какого и по какой номер строк делать выборку. На данный момент программа определяет последнюю строку только по последней заполненной, а для первой строки идет ограничение 256-максимальная.

Программа сможет это сделать, если есть возможность сопоставить «общие» товары двух прайсов
(это может быть столбец типа артикула, либо можно вручную настроить в программе соответствия для каждого товара)
Если же вы хотите, чтобы программа сама искала ПОХОЖИЕ названия, - то такого в программе нет (и не будет)

Даны два прайса поставщиков, которые содержат как уникальные так общие товары. В итоге надо получить единый "мой" прайс, причем выполнив отбор из общих товаров только с наименьшей ценой.
программа прайс лист может это делать? или написать полное ТЗ? что бы узнать возможность реализации моей задачи?

Здравствуйте, Владимир
Отправил запрос в скайп

Добрый день! Мне нужна помощь с настройкой программы, когда я создаю обработчик у меня всегда вылетает ошибка не удалось запустить обработчик. Мой скайп vladimir.m.c Буду очень благодарен за помощь.

Здравствуйте, Василий.
Не понял, где вы путаетесь указать путь на облако, и зачем (что значит «делать выгрузку параметров»)
Практически все облака позволяют подключить сетевую папку как обычный диск (Google Drive и яндекс.диск имеют специальную утилиту для этого, - наверняка, у mail.ru есть аналогичное)
Установите эту утилиту, - и облачный диск будет подключен как обычная папка на вашем компе.
И проблема решится.

Здравствуйте!!! Пользуюсь Вашей программой, все очень нравиться. Но появилась потребность делать выгрузку параметров и всех системных папок и настроек программы на mail облако, для работы с программой с другого компьютера на котором есть лицензия на программу. Но к сожалению нельзя указать путь на mail облако.

Денис, позвоните мне в скайп, - я подключусь к вашему компу, и посмотрю, из-за чего ошибка
Убедитесь, что используете последнюю версию программы.

Как вариант, - попробуйте откатиться на пару версий назад (вдруг ошибка исчезнет)
Всё это делается в окне О ПРОГРАММЕ на вкладке ПРОВЕРКА ОБНОВЛЕНИЙ

Здравствуйте! Когда начинаю обрабатывать прайс-листы то выходит ошибка: mod_processor_function Как это исправить?

Спасибо.У нас закончатся сейчас работы с сайтом, когда перейдем к контенту тогда уже обратимся к вам за помощью. Главное что это возможно).

Здравствуйте, Денис
Да, это возможно, - это делается при помощи таблиц замены
(табличка Excel из 2 столбцов, в первом столбце «что менять» пишем T-shirt, а во втором столбце «на что менять» пишем Футболка)
Могу показать, как это работает. От вас для этого надо: http://ExcelVBA.ru/help

Здравствуйте.
Хотим приобрести лицензию, но не можем понять с ходу, нас интересует такой алгоритм:
Если в ячейке N из массива ячеек столбца B встретилось слово "T-shirt" то помещаем в ячейку напротив столбца C значение "Футболка"
Т.е. замена T-shirt|Футболка только не по месту а в новой ячейке? Применять слова из заданного массива замен ...|...
Подскажите пожалуйста возможно ли такое?

17 декабря 2015 г. в 16:21 стало доступно обновление программы «Unification» (версия 1.2.1).

Изменения в новой версии программы:

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

Рекомендуем обновить программу до последней версии!

<примечание администратора сайта>
При общении по скайпу, проблема выявлена, - в одной из ячеек содержался текст длиной более 8192 символов,
и программа может выводить в результат (если вывод в формате Excel) значения не длиннее 8192 символов.

Решено применением функции обработки «Подстрока» - обрезкой текста до 8 тыс символов

Добрый день, Нравится программа

Есть проблема при обработке большого файла на 16000-17000 строк
у меня на 1307 строке заканчивается обработка и заполняется графа {данные} до конца.

Это не баг, это фича)
В программе специально реализована возможность вывода формул в итоговый файл (чтобы можно было выводить формулы типа =RC5*RC6 или =RC[-1]*1.25)
Соответственно, всё, что начинается со знака =, программой воспринимается как формула (в стиле R1C1)
Если формула некорректная (знак = попался случайно в начале ячейки), - то да, будет ошибка, - программа не сможет вывести массив данных на лист итогового файла.

Обнаружил БАГ. Если в прайсе текстовая ячейка начинается со знака РАВНО то на выходе в едином прайсе во всех записях ставится {данные}. Решается проблема удалением символа = в обработчике прайса.

Навскидку, - 3 варианта:

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

2) в обработчике прайс листа для поля «цена» ставим галочку «поле содержит стоимость товара», потом заходим на вкладку «стоимость», и включаем сложную наценку, в настройках которой будет одно правило:
если цена меньше 300, умножаем её на ноль.
ну и далее аналогично первому варианту, - для поля «цена» ставим галочку «обязательное поле»

3) в конфигурации вывода для поля «цена» добавляем таблицу замен, которая обнулит цены меньше 300 руб.
Для этого, ставим режим «точное совпадение», режим замены «ячейка целиком», ставим галочку «использовать подстановочные символы».
Потом добавляем в таблицу замен 3 правила: меняем # на пусто, меняем ## на пусто, меняем [1-2]## на пусто
Ну и, в завершении, ставим галочку «обязательное поле» (для поля «цена» в конфигурации вывода)

PS: Первые 2 варианта применяются к конкретному прайсу, а последний вариант — к сводному прайсу.

Подскажите как сделать следующее: Не загружать в единый прайс записи, где поле стоимость меньше 300 руб

Есть еще прайсы, где имя архива не уникальное, например "Price.rar", а содержащийся в архиве файл - уникальный ("Автосити.xls").
Если я выделю все архивы и выберу команду WinRar "Извлеч каждый файл в отдельную папку" то у меня создаться не уникальная папка "Price".
Получается такие файлы нужно извлекать индивидуально или в заранее созданные уникальные папки (Автосити\) или в общую папку с прайсами.
При этом их нужно еще вручную найти среди других архивов с прайсами.
И делать это нужно каждый раз. Неудобно.
В предложенном же мною варианте нам будет не важно где содержиться уникальное ключевое слово: в имени архива или в заархивированном файле так как имя будет формироваться из двух имен. Главное чтобы уникальное имя где-то было. Один раз настроил и забыл.

Эту опцию нужно добавлять не в обработчик прайса (как я писал в предыдущем сообщении) а вынести куда-то в общую настройку.
Если галочка стоит "Извлекать из архива" то при вызове операции массовой обработки прайсов, первым делом должна запуститься операция извлечения и переименования файлов.

Если создать в папке «Прайс листы» подпапку «Шинторг», — то можно будет вручную извлекать файл из архива в эту папку, не переименовывая его.
А в настройках обработчика задать маску имени файла Шинторг\*.xls*
Про возможность использования отдельных подпапок для разных поставщиков написано здесь:
http://excelvba.ru/programmes/Unification/AddFiles

Пожелание к доработке: в обработчике прайса хотелось бы иметь опцию автоматического извлечения из архива zip/rar.
Должны быть две галочки (может и больше):
1. Удалять файл архива после извлечения
2. (ВАЖНАЯ) Добавлять имя файла архива к извлекаемым файлам (в начало или в конец)

По 2 пункту: бывают поставщики, которые отсылают прайсы в архиве, где имя поставщика введено в наименование файла архива напр. "Шинторг.rar", а в самом же архиве файлы называются так "Прайс 2015_07.xls". Т.е. если просто извлекать файл из архива, то по имени файла не понятно к какому обработчику отнести это файл.
Маску ведь не задашь "Прайс*" ибо она скорее всего будет не уникальна. А имени "Шинторг_Прайс 2015_07.xls" задаем "Шинторг_*" и все ок.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
          _   _____   ____     ___         
_ __ (_) | ___| | ___| / _ \ ___
| '_ \ | | | |_ |___ \ | | | | / _ \
| | | | | | | _| ___) | | |_| | | __/
|_| |_| |_| |_| |____/ \__\_\ \___|
Введите код, изображенный в стиле ASCII-арт.