Разработка информационной системы для контроля и учета поставок на предприятие ООО "Рекламное агентство Протон Плюс"

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 18.03.2012
Размер файла 869,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

then begin

showmessage('Не все поля ввода заполнены');

exit;

end;

//проверяем корректность заполнения поля ввода количества

try

StrToFloat(edit2.Text);

except

showmessage('Количество может быть только числом');

edit2.SetFocus;

exit;

end;

//проверяем корректность заполнения поля ввода себестоимости

try

StrToFloat(edit3.Text);

except

showmessage('Себестоимость может быть только числом');

edit3.SetFocus;

exit;

end;

//проверяем корректность заполнения поля ввода процента

try

StrToFloat(edit4.Text);

except

showmessage('Процент может быть только числом');

edit4.SetFocus;

exit;

end;

//обращаемся к процедуре поиска товара, в качестве параметров передаем SG с вкладки хранилище

//и наименование товара, который необходимо поставить на приход

FindItem(form1.StringGrid1, edit1.text);

//в результате отработки процедуры FindItem мы имеем выделенную строку, в которую необходимо записать товар с прихода

row:=form1.StringGrid1.Row; //запоминаем номер выделенной строки

//заполняем SG на вкладке Хранилище

if form1.StringGrid1.Cells[0,form1.StringGrid1.row]='' //если наименование в веделенной строке пустое, следовательно товар новый (ранее не был занесен в SG)

then begin

form1.StringGrid1.Cells[0,form1.StringGrid1.row]:=IntToStr(form1.StringGrid1.row); //записываем номер текущей строки в нулевой столбец

form1.StringGrid1.Cells[1,form1.StringGrid1.row]:=edit1.Text; //в первый столбец SG записываем наименование товара

//во второй - кол-во, используя форматный вывод (10 знаков всего, 2 после запятой)

form1.StringGrid1.Cells[2,form1.StringGrid1.row]:=FloatToStrF(StrToFloat(edit2.Text),ffFixed,10,2);

// в третий столбец записываем себестоимость, используя форматный вывод (14 знаков всего, 2 после запятой)

form1.StringGrid1.Cells[3,form1.StringGrid1.row]:=FloatToStrF(StrToFloat(edit3.Text),ffFixed,12,4);

// в четвертый столбец записываем процент

form1.StringGrid1.Cells[4,form1.StringGrid1.row]:=edit4.Text;

// в пятом столбце вычисляем цену Цена = Себестоимость + Себестоимость*(Процент/100)

form1.StringGrid1.Cells[5,form1.StringGrid1.row]:=FloatToStrF(StrToFloat(edit3.Text)+

StrToFloat(edit3.Text)*(StrToFloat(edit4.Text)/100),ffFixed,12,4);

//в шестой столбец записываем код товара

form1.StringGrid1.Cells[6,form1.StringGrid1.row]:=edit5.Text;

end else begin //в противном случае, если наименование не пустое в выделенной строке SG, обновляем и пересчитываем данные

//пересчитаем себестоимость товара по методу средней себестоимости

// Кол-во товара на складе * себ-ть ед-цы на складе + Кол-во товара на приходе * себ-ть ед-цы прихода

// себ-ть = ---------------------------------------------------------------------------------------------------

// Кол-во товара на складе + Кол-во товара на приходе

form1.StringGrid1.Cells[3,form1.StringGrid1.row]:=FloatToStrF((StrToFloat(form1.StringGrid1.Cells[2,row])*StrToFloat(form1.StringGrid1.Cells[3,row])+

StrToFloat(edit2.Text)*StrToFloat(edit3.Text))/

(StrToFloat(form1.StringGrid1.Cells[2,row])+StrToFloat(edit2.Text)),ffFixed,12,4);

//пересчитываем кол-во кол-во = кол-во на складе + кол-во на приходе

form1.StringGrid1.Cells[2,form1.StringGrid1.row]:=FloatToStrF(StrToFloat(form1.StringGrid1.Cells[2,form1.StringGrid1.row])+

StrToFloat(edit2.Text),ffFixed,10,2);

//записываем процент

form1.StringGrid1.Cells[4,form1.StringGrid1.row]:=edit4.Text;

//пересчитываем цену, Цена = Себестоимость + Себестоимость*(Процент/100)

form1.StringGrid1.Cells[5,form1.StringGrid1.row]:=FloatToStrF(StrToFloat(form1.StringGrid1.Cells[3,form1.StringGrid1.row])+

StrToFloat(form1.StringGrid1.Cells[3,form1.StringGrid1.row])*(StrToFloat(form1.StringGrid1.Cells[4,form1.StringGrid1.row])/100),ffFixed,12,4);

//записываем код товара

form1.StringGrid1.Cells[6,form1.StringGrid1.row]:=edit5.Text;

end;

//заполняем SG на вкладке Поставки

//заполняем номер по-порядку

form1.StringGrid4.Cells[0,form1.StringGrid4.RowCount-1]:=IntToStr(form1.StringGrid4.RowCount-1);

//заполняем наименование товара

form1.StringGrid4.Cells[1,form1.StringGrid4.RowCount-1]:=edit1.Text;

//заполняем кол-во поступившего товара

form1.StringGrid4.Cells[2,form1.StringGrid4.RowCount-1]:=FloatToStrF(StrToFloat(edit2.Text),ffFixed,10,2);

//заполняем себестоимость поступившего товара

form1.StringGrid4.Cells[3,form1.StringGrid4.RowCount-1]:=FloatToStrF(StrToFloat(edit3.Text),ffFixed,12,4);

//заполняем текущую дату

form1.StringGrid4.Cells[4,form1.StringGrid4.RowCount-1]:=DateToStr(Date);

//заполняем текущее время

form1.StringGrid4.Cells[5,form1.StringGrid4.RowCount-1]:=TimeToStr(Time);

//заполняем код товара

form1.StringGrid4.Cells[6,form1.StringGrid4.RowCount-1]:=edit5.Text;

// добавляем в SG4 на вкладке поставки пустую строку

form1.StringGrid4.RowCount:=form1.StringGrid4.RowCount+1;

//закрываем форму

form2.Close;

end;

UNIT3

procedure FindItem2(var mySG:TstringGrid; ItemToSend:string);

//Находит товар в таблице аналогично процедуре FindItem. Отличается тем, что //при отсутствии данного товара процедура выводит соответствующее сообщение.

var

i,row: integer; //i - переменная цикла,

//row - переменная, в которую запоминаем номер строки искомого товара

begin

row:=0;

//организуем цикл по колонке наименование в SG

for i:=1 to mySG.RowCount-1 do

begin

if mySG.Cells[1,i]=ItemToSend //проверяем является ли текущий товар в SG искомым

then begin

row:=i; //если текущий товар = искомому, то запоминаем номер строки

break; //прирываем выполнение цикла;

end;

end;

if row <> 0 //если row не равно 0, т.е. товар в SG найден

then mySG.Row:=row //выделяем строку с искомым товаром

else //в противном случае (товар не найден)

//выводим сообщение об отсутствии данного товара

showmessage('Товар '+ItemToSend+' отсутствует на складе');

end;

procedure TForm3.Button1Click(Sender: TObject);

{Вызывается нажатием кнопки ОК на форме создания заказа. Проверяется корректность введенных данных, и происходит изменение информации в трёх таблицах: уменьшение количества товара во вкладке Хранилище, добавление строки нового заказа во вкладку Заказы, увеличение количества проданных товаров во вкладке Продано, а также пересчет общей выручки и прибыли.}

var

row: integer;

begin

//проверяем все ли поля ввода заполнены

if (trim(edit1.text)='')or(trim(edit2.text)='')or(trim(edit3.text)='')or

(trim(edit4.text)='')or(trim(edit5.text)='')or(trim(edit6.text)='')

then begin

showmessage('Не все поля ввода заполнены');

exit;

end;

//проверяем чтобы количество было числом

try

StrToFloat(edit2.Text);

except

showmessage('Количество может быть только числом');

exit;

end;

//процедура поиска товара, который необходимо отгрузить в таблице SG1 на вкладке хранилище

FindItem2(form1.StringGrid1, edit1.text);

//в результате отработки процедуры FindItem2, если не было выведено сообщение об отсутствие товара на складе

//мы имеем выделенную строку, с которой необходимо списать отгружаемый товар

row:=form1.StringGrid1.Row; //запоминаем номер выделенной строки

//если товар в веделенной строке соответствует товару в заказе

if form1.StringGrid1.Cells[1,row]=Edit1.Text

//проверяем хватает ли товара для заказа

then if StrToFloat(form1.StringGrid1.Cells[2,form1.StringGrid1.Row])<StrToFloat(Edit2.Text)

then showmessage('Товара '+form1.StringGrid1.Cells[1,row]+' на складе '+

form1.StringGrid1.Cells[2,form1.StringGrid1.Row]+', а для заказа необходимо '+Edit2.Text)

else begin

//заполняем SG на вкладке Хранилище

//вычитаем от остатков товара на складе заказываемое кол-во

form1.StringGrid1.Cells[2,row]:=FloatToStrF(StrToFloat(form1.StringGrid1.Cells[2,row])-

StrToFloat(edit2.Text),ffFixed,10,2);

//добавляем строку нового заказа на вкладку заказы

//заполняем номер по порядку

form1.StringGrid2.Cells[0,form1.StringGrid2.RowCount-1]:=IntToStr(form1.StringGrid2.RowCount-1);

//заполняем предприятие

form1.StringGrid2.Cells[1,form1.StringGrid2.RowCount-1]:=edit3.Text;

//заполняем Ф.И.О.

form1.StringGrid2.Cells[2,form1.StringGrid2.RowCount-1]:=edit4.Text;

//заполняем адрес

form1.StringGrid2.Cells[3,form1.StringGrid2.RowCount-1]:=edit5.Text;

//заполняем телефон

form1.StringGrid2.Cells[4,form1.StringGrid2.RowCount-1]:=edit6.Text;

//заполняем наименование

form1.StringGrid2.Cells[5,form1.StringGrid2.RowCount-1]:=edit1.Text;

//заполняем кол-во

form1.StringGrid2.Cells[6,form1.StringGrid2.RowCount-1]:=FloatToStrF(StrToFloat(edit2.Text),ffFixed,10,2);

//заполняем выручку (выручка=кол-во*цена)

form1.StringGrid2.Cells[7,form1.StringGrid2.RowCount-1]:=FloatToStrF(StrToFloat(edit2.Text)*

StrToFloat(form1.StringGrid1.Cells[5,row]),ffFixed,10,2);

//заполняем текущую дату

form1.StringGrid2.Cells[8,form1.StringGrid2.RowCount-1]:=DateToStr(Date);

//заполняем текущее время

form1.StringGrid2.Cells[9,form1.StringGrid2.RowCount-1]:=TimeToStr(Time);

//увеличиваем кол-во строк в таблице на вкладке заказы на единицу

form1.StringGrid2.RowCount:=form1.StringGrid2.RowCount+1;

//увеличение кол-ва проданных товаров на вкладке продано

form2.FindItem(form1.StringGrid3, edit1.text);

if form1.StringGrid3.Cells[0,form1.StringGrid3.Row]='' //если наименование в веделенной строке пустое, следовательно товар новый (ранее не был занесен в SG)

then begin //добавляем новую строку в таблицу продано

//заполняем номер по порядку

form1.StringGrid3.Cells[0,form1.StringGrid3.Row]:=IntToStr(form1.StringGrid3.Row);

//заполняем наименование

form1.StringGrid3.Cells[1,form1.StringGrid3.Row]:=edit1.Text;

//заполняем количество

form1.StringGrid3.Cells[2,form1.StringGrid3.Row]:=FloatToStrF(StrToFloat(edit2.Text),ffFixed,10,2);

//заполняем выручку

form1.StringGrid3.Cells[3,form1.StringGrid3.Row]:=form1.StringGrid2.Cells[7,form1.StringGrid2.RowCount-2];

//заполняем прибыль (прибыль = кол-во по заказу * (цена - себ-ть))

form1.StringGrid3.Cells[4,form1.StringGrid3.Row]:=FloatToStrF(StrToFloat(edit2.Text)*

(StrToFloat(form1.StringGrid1.Cells[5,form1.StringGrid1.Row])-

StrToFloat(form1.StringGrid1.Cells[3,form1.StringGrid1.Row])),ffFixed,10,2);

//заполняем код

form1.StringGrid3.Cells[5,form1.StringGrid3.Row]:=form1.StringGrid1.Cells[6,form1.StringGrid3.Row]

end else begin//пересчитываем кол-во, выручку и прибыль по реализованному товару

//пересчитываем кол-во (кол-во = кол-во продано + кол-во в заказе)

form1.StringGrid3.Cells[2,form1.StringGrid3.Row]:=FloatToStrF(StrToFloat(edit2.Text)+

StrToFloat(form1.StringGrid3.Cells[2,form1.StringGrid3.Row]),ffFixed,10,2);

//пересчитываем выручку (выручка = выручка + выручка по заказу)

form1.StringGrid3.Cells[3,form1.StringGrid3.Row]:=FloatToStrF(StrToFloat(form1.StringGrid3.Cells[3,form1.StringGrid3.Row])+

StrToFloat(form1.StringGrid2.Cells[7,form1.StringGrid2.RowCount-2]),ffFixed,10,2);

//пересчитываем прибыль (прибыль = прибыль + кол-во по заказу * (цена - себ-ть))

form1.StringGrid3.Cells[4,form1.StringGrid3.Row]:=FloatToStrF(StrToFloat(form1.StringGrid3.Cells[4,form1.StringGrid3.Row])+

StrToFloat(edit2.Text)*

(StrToFloat(form1.StringGrid1.Cells[5,form1.StringGrid1.Row])-

StrToFloat(form1.StringGrid1.Cells[3,form1.StringGrid1.Row])),ffFixed,10,2);

//перезаписываем код товара

form1.StringGrid3.Cells[5,form1.StringGrid3.Row]:=form1.StringGrid1.Cells[6,form1.StringGrid3.Row]

end;

//пересчитываем общую выручку и общую прибыль

//вся выручка = вся выручка + выручка по заказу

form1.label1.Caption:=FloatToStrF(StrToFloat(form1.label1.Caption)+

StrToFloat(form1.StringGrid2.Cells[7,form1.StringGrid2.RowCount-2]),ffFixed,10,2);

//вся прибыль = вся прибыль + кол-во по заказу * (цена-себ-сть)

form1.label2.Caption:=FloatToStrF(StrToFloat(form1.label2.Caption)+

StrToFloat(form1.StringGrid2.Cells[6,form1.StringGrid2.RowCount-2])*

(StrToFloat(form1.StringGrid1.Cells[5,form1.StringGrid1.Row])-

StrToFloat(form1.StringGrid1.Cells[3,form1.StringGrid1.Row])),ffFixed,10,2);

//закрываем форму заказа

close;

end;

end;

Список литературы

Алексеев Н.С. Теоретические основы товароведения непродовольственных товаров. - М., Прогресс, 2008. - 254с.

Аниськова О.Г., Пигунова О.В. Стратегия коммерческой деятельности предприятия розничной торговли. - М.: Издательско-книготорговый центр Маркетинг, 2008. - 425 с.

Абрютин М.С., Грачев А.В. Анализ финансово-экономической деятельности предприятия. М.: Дело и Сервис, 2008. - 180 с.

Артеменко В.Г., Белендир М.В. Финансовый анализ: Учебное пособие. М.: ДИС НГАЭиУ, 2008. - 128 с.

Баканов М.И., Сергеев Э.А. Анализ эффективности использования оборотных средств // Бухгалтерский учет. 2008. № 10. С. 64-66.

Баканов М.И., Шеремет А.Д. Теория экономического анализа. М.: Финансы и статистика, 2007. - 218с.

Балабанов И.Т. Основы финансового менеджмента. М.: Финансы и статистика, 2009. - 384 с.

Бланк И.Б. Финансовый менеджмент. Киев: Ника -- Центр -- Эльга, 2008. - 306 с.

Белявский И.К. Основы коммерции: Учебно-практическое пособие / Московский государственный университет. - М.: МЭСИ, 2010. - 423с.

Брагин Л.А. Торговое дело - экономика и организация. М, ИНФРА - М, 2009. -256с.

Виноградова С.Н. Коммерческая деятельность. - Минск: «Высшая школа» 2008. - 176 с.

Гончаров П.Г., Егоров В.Ф., Жданова С.Д. и др. Организация торговли непродовольственными товарами. - М.: Экономика, 2008 - 425с.

Дашков Л.П., Памбухчиянц В.К. Коммерция и технология торговли. - М., 2008. - 254с.

Зубкова И.Н. Организация торговли непродовольственными товарами. - М.: Издательский Дом «Дашков и Ко», 2009. -218с.

Ильин А.И. Планирование на предприятии, М., 2008 - 225с.

Каплина С.А. Организация коммерческой деятельности: Учеб. пособие для сред. спец. заведений/ С.А. Каплина. - Ростов н/ Д: Феникс, 2008. - 414 c.

Кирин Ф.Я. Хозяйство Челябинской области.- Челябинск: Юж.-Урал. Кн. Изд-во, 2010. - 157 с.

Коммерческая деятельность производственных предприятий (фирм) Учебник О.А. Новиков, В.О. С.А. Уваров и др.; Под общ. ред.: О.А. Новикова. В.В. Щербакова. -- СПб.: Изд-во 2008. --416с.

Коммерческая деятельность. Учебник Ф.Г. Панкратов, Т.К. Серегина. - М.: ИВЦ «Маркетинг», 2009 г.

Коммерческая деятельность. Учебник Ф.П. Половцева. - М.: «Инфра-М», 2009г.

Коновалова Т.Ю. Ассортимент и качество, М., 2009 - 356с.

Котлер Филипп. Маркетинг, 2009. - 452с.

Ньюман Э. Кален П. Розничная торговля - СПб.: Питер, 2008 - 416с., ил., табл.

Осинова Л.В., Синяева И.М. Основы коммерческой деятельности. Учебник. М. «Банки и биржи» 2008. - 324 с.

Памбухчиянц В.К. Организация, технология проектирование торговых предприятий. - М.; 2008 - 320 с.

Пеньков Е.Г. “Организация учета в материально-техническом снабжении”, Финансы, М. 2008.

Плиханов Г.В. Торговое дело. - Москва, 2009. - 452с.

Покровский А.И. Экономика торговли. - М., 2008. - 354с.

Половцева Ф.П. Коммерческая деятельность. - М.: ИНФРА - М, 2010. - 257с.

Практикум по коммерческой деятельности. Учеб. пособие/ Ф.Г. Панкратов и др. - М.: Маркетинг, 2008 - 248 с.

Рихтер Джеффри “Windows для профессионалов”, С-П. Русская редакция 2010.

Размещено на Allbest.ru


Подобные документы

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

    курсовая работа [768,6 K], добавлен 18.02.2010

  • Обоснование проектных решений по информационному обеспечению. Обоснование цели использования вычислительной техники для решения комплекса задач. Характеристика нормативно-справочной и входной оперативной информации. Информационная модель и ее описание.

    дипломная работа [3,2 M], добавлен 06.04.2015

  • Внедрение информационных систем взаимодействия с клиентами. Назначение автоматизированного варианта решения задачи. Анализ существующих разработок и обоснование выбора технологии проектирования. Расчет и обоснование экономической эффективности проекта.

    дипломная работа [7,5 M], добавлен 11.12.2020

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

    курсовая работа [3,3 M], добавлен 12.01.2015

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

    дипломная работа [1,9 M], добавлен 09.02.2018

  • Технико-экономическая характеристика предметной области. Анализ существующих разработок, выбор и обоснование стратегии автоматизации и способа приобретения ИС. Характеристика первичных документов с нормативно-справочной и входной оперативной информацией.

    дипломная работа [3,6 M], добавлен 10.03.2013

  • Обследование объекта, обоснование необходимости систем компьютерного тестирования. Анализ существующих разработок и обоснование выбора технологии проектирования. Создание системы компьютерного тестирования на основе случайного выбора в среде Visual Basic.

    дипломная работа [2,4 M], добавлен 18.08.2013

  • Технико-экономическая характеристика предметной области. Обоснование необходимости и цели использования информационных технологий для решения задачи. Выбор технологии проектирования, разработка АРМ. Расчет показателей экономической эффективности проекта.

    дипломная работа [2,8 M], добавлен 11.03.2010

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

    дипломная работа [448,5 K], добавлен 08.11.2010

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

    дипломная работа [5,0 M], добавлен 20.10.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.