Автоматизированная система поддержки бизнес процессов закупки товаров предприятиями розничной торговли
Автор: Братчин А.В.
Журнал: Экономика и социум @ekonomika-socium
Статья в выпуске: 3-1 (12), 2014 года.
Бесплатный доступ
В данной статье рассмотрены методы создания автоматизированной системы поддержки бизнес-процессов закупки товаров предприятиями розничной торговли.
Автоматизированная система, бизнес процессы
Короткий адрес: https://sciup.org/140108351
IDR: 140108351
Текст научной статьи Автоматизированная система поддержки бизнес процессов закупки товаров предприятиями розничной торговли
Для предприятий розничной торговли правильная организация закупки товаров имеет важную роль для осуществлении рыночной торговли. От правильной организации процесса закупок зависит полнота предлагаемого ассортимента, время его реализации, количественные и качественные потери товаров, уровень торговли, выполнение планов по продажам и другие показатели торговой деятельности.
Чтобы совершить закупку товаров отделу снабжения/закупок на предприятии необходимо проанализировать множество предложений различных поставщиков и выбрать наиболее выгодное. Для этого необходимо сравнивать различные прайс-листы с целью выявить наиболее привлекательные и выгодные фирме предложения. Это процесс занимает большое количество времени, так как нет определенного правила оформления прайс-листов и поставщики оформляют их как им удобно, что значительно усложняет процесс закупок.
В данной статье мы рассмотрим средство, которое позволит облегчить бизнес-процесс закупки товаров. Таким средством, безусловно, будет, является web сайт, который будет преобразовывать загруженные в него прайс-листы поставщиков и представлять их в виде одной таблицы с необходимыми характеристиками (названиями столбцов) и возможностью выбора товаров для заказов. Такое представление прайс-листов значительно позволит облегчить процесс выбора товаров отделу закупок. Также сайт будет сам формировать формы заказов и отправлять их на почту поставщикам, а копии заказчикам.
Для выбора средств реализации сайта сначала определимся с тем, какие основные задачи потребуется решить. Такими задачами будут:
-
- загрузка прайс-листов на сервер
-
- анализ содержимого прайс-листов
-
- генерирование объединенного представления
-
- отправка файлов заказов на почту
В качестве языка для реализации сайта выберем php. В области программирования для сети Интернет, PHP — один из популярных сценарных языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.
Написать код загрузки файлов на сервер на php не составит особого труда, так как уже создано множество различных решений выполняющих поставленную задачу, таких как готовые скрипты, подключаемые библиотеки и т.д.
Прайс-листы обычно представлены в виде форматов различных электронных таблиц. Поэтому для чтения таких прайс-листов будем использовать библиотеку PHPExcel. PHPExcel поддерживает множество форматов чтения и записи с помощью одного API. Эта библиотека распространяется по GNU Lesser General Public License, а это значит, что ее свободно можно использовать в своих проектах. Форматы чтения и записи не ограничиваются файлами Excel.
Определившись со средствами чтения электронных таблиц необходимо определить методы для считывания информации только о товарах и их характеристиках. Для этого мною были разработаны три метода:
-
1) Использование таблиц ключевых слов.
-
2) Использование регулярных выражений.
-
3) Метод определения строки с характеристиками товаров.
Для того чтобы выбрать из файла только информацию о предоставляемых товарах необходимо определить границы ячеек где эта информация хранится. Для этого нужно найти строку в файле, в ячейках которой находятся названия столбцов хранящих данные о товаре. Такими столбцами являются столбцы, хранящие названия товаров и цену. Без этих столбцов прайс-лист не может обойтись, следовательно, именно их нам и нужно найти для определения границ нужной нам информации.
Суть метода таблиц ключевых слов состоит в том, что в базе данных сохраняются различные варианты синонимов ключевых слов, которые будут необходимы для поиска в таблице строки, в которой хранятся ячейки с названиями столбцов и запоминания их позиции в таблице.
Этот метод является наиболее легким и одновременно наиболее надежным способом выделения из электронной таблицы только тех ячеек, которые несут информацию о предоставляемых поставщиком товарах.
Недостатком данного подхода может стать отсутствие синонима в таблице вследствие чего корректно считать данные не получится. Также недостатком такого подхода является то, что при составлении прайс-листов могла быть допущена ошибка в названии столбца. Это также может привести к ошибке чтения данных.
Решением недостатков метода таблиц ключевых слов может стать использование вместо синонимов ключевых слов шаблонов регулярных предложений. Один шаблон способен заменить множество синонимов, что в свою очередь поможет добиться снижения используемой памяти. Также, используя регулярные выражения, можно будет добиться более точного определения необходимых полей.
Использование регулярных выражений имеет и ряд недостатков. Главный из них - заведомо более медленная работа по сравнению со стандартными строковыми функциями языка php или обращениями к элементам массивов.
Третий метод основывается на том, что в прайс-листе цена находится в последнем столбце, а название предоставляемого товара в первом. Зная это можно попытаться считать информацию о товарах.
Для этого начнем анализ прайс-листа со средней строки и последнего столбца и будем идти до первого столбца пока не найдем формат типа данных цены. Найдя столбец подходящей требованиям будем двигаться вверх по строкам до тех пор, пока тип данных не сменится на текстовый. Найденная ячейка будет означать, что мы нашли строку с названиями характеристик товаров и столбец, хранящий цены. Далее первый текстовый элемент найденной строки, скорее всего, окажется названием товаров. Таким образом, можно считать все необходимые данные из прайс-листа.
Плюс этого метода заключается в том, что по сравнению с предыдущими методами не требует сравнения каждой ячейки, и распознавание прайс-листов происходит почти всегда.
Но данный подход имеет и множество минусов. Он основывается на логике, что цена будет находиться в последней ячейке, а название в первой. В большинстве случаев так оно и есть, в противном случае распознавание приведет к абсурдному результату.
Данный метод имеет смысл применять, как запасной вариант, если метод ключевых слов или использования регулярных выражений не дал результатов, а распознать прайс-лист необходимо.
Так как возможности библиотеки PHPExcel не ограничиваются только чтением данных, а имеют и широкий функционал по записи то формы заказов можно создавать в форматах Excel и средствами языка php отправлять на почту.
Актуальность создания автоматизированной системы поддержки бизнес процессов закупки товаров предприятиями розничной торговли является то, что любой организации как государственного, так и частного сектора занимающейся розничной торговлей необходимо закупать товары для их последующей реализации. В этой связи целесообразно создание и использование автоматизированных систем.
"Экономика и социум" №3(12) 2014