Информационная система учета заказов малого частного предприятия

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

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

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

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

  • Формирование предварительного заказа. На данном этапе указывается краткая информация о заказчике, включающая фамилию, имя, отчество заказчика, его адрес и телефон, состав заказа (возможно, пожелания по заказу), время выезда на замер. После ввода сведений заказ сохраняется в списке заказов.
  • Оформление договора на изготовление и установку. На данном этапе, если заказчик соглашается с условиями предоставления услуги, оформляется заказ на выполнение работ. Указываются дополнительные сведения о заказчике, фиксируется время оформления договора и сроки поставок. После этого оформленный заказ передается в список клиентов.
  • Фиксирование выполнения заказа. На данном этапе делаются отметки о выполнении заказа и осуществляется его перемещение в разряд выполненных заказов.

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

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

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

​ClientDate = Record Number: String; Data_Beg, Data_End: String; FIO: String; Adres: String; Summ_All, Summ_Beg: Longint; Status: Integer; Sostav, Prim: String; End; {Record} ZakazDate = Record Data_Beg: String; FIO: String; Adres: String; Summ: Longint; ZamerTime: String; Sostav, Prim: String; End; {Record} BalansDate = Record Data_Beg: String; Summ: Longint; VidZatrat: Integer; Prim: String; End; {Record}

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

​TClient = Class public CD: ClientDate; constructor Create; End; {Record} TZakaz = Class public ZD: ZakazDate; constructor Create; End; TBalans = Class public BD: BalansDate; constructor Create; End;

Так как заранее ничего нельзя сказать о количестве заказов и клиентов, лучше всего работать не просто с отдельными клиентами, а с их списками. Для этого опишем следующую структуру классов:

TListClient=Class public List: TList; Count: Longint; constructor Create; procedure Add; procedure LoadFromBase; End; TListZakaz=Class public List: TList; Count: Longint; constructor Create; procedure Add; procedure LoadFromBase; End; TListBalans=Class public List: TList; Count: Longint; constructor Create; procedure Add; procedure LoadFromBase; End;

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

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

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

Основное окно программы может, конечно, содержать стандартное верхнее меню, однако гораздо удобнее и выгоднее от него отказаться в пользу нескольких кнопок, выполняющих его функции. Будет вполне достаточно кнопок: «Новый заказ» (для оформления предварительного заказа), «Список заказов» (кнопка для заключения договоров), «Список клиентов» (полный список клиентов и их заказов, просмотр активных и выполненных заказов), «Баланс средств» (просмотр денежных расходов предприятия). Для удобства работы и перехода между отдельными страницами будем использовать компонент, позволяющий работать с отдельными вкладками – PageControl.

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

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

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

Рассмотрим теперь версию программы, ориентированную на работу с предприятием по выпуску мебельной продукции. Окно программы представлено на рис. 1. В верхней части программы содержатся четыре уже отмеченные выше кнопки, а также кнопки «Сохранить базу данных», «Интернет-страница предприятия», «Калькулятор».

Рис. 1. Окно программы с открытой вкладкой «Список клиентов»

В момент старта программа отображает вкладку «Список клиентов» с активными в настоящее время заказами (рис. 1). Вкладка содержит информацию о клиентах предприятия (с которыми уже заключен договор) и составе каждого заказа. Информация может быть изменена по необходимости. Кроме активных заказов здесь можно отображать заказы: выполненные, просроченные, 3 дня до монтажа, все заказы.

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

Рис. 2. Окно программы с открытой вкладкой «Новый заказ»

После подтверждения заказа (кнопка «Сохранить заказ») внесенный заказ будет отображаться во вкладке «Список заказов» (рис. 3). Здесь можно вносить изменения в заказ, а также удалить его в случае, если клиент откажется от услуг предприятия. Если же заказчик захочет воспользоваться услугами предприятия, то его необходимо перевести в разряд клиентов, для чего нужно нажать кнопку «Оформить заказ». В результате откроется окно оформления заказа (рис. 4), в котором нужно указать номер договора, дату начала и окончания действия договора, и другую предусмотренную информацию. После оформления заказа заказчик переходит в разряд клиентов и его можно увидеть во вкладке «Список клиентов».

Рис. 3. Окно программы с открытой вкладкой «Список заказов»

Рис. 4. Окно программы «Оформление заказа»

Вкладка «Баланс средств» (рис. 5) позволяет учитывать расходы, связанные с производством.

Рис. 5. Окно программы с открытой вкладкой «Баланс средств»

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

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

Рубрики: IT

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *