Разработка информационной системы для контроля и учета поставок на предприятие ООО "Рекламное агентство Протон Плюс"
Обоснование необходимости и цели использования вычислительной техники для решения задачи учета запасов. Анализ существующих разработок и обоснование выбора технологии проектирования. Характеристика нормативно-справочной и входной оперативной информации.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 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