- •Содержание
- •Введение
- •1 Общие вопросы теории стандартизации
- •1.1 Специфика разработки программных средств
- •1.2 Понятие качества программного средства
- •2 Описание предметной области
- •3 Разработка и стандартизация ис автоматизированного учета складом ооо «стандарт-энерго»
- •3.1 Описание работы склада
- •3.2 Проектирование логической и физической моделей базы данных
- •3.3 Разработка приложения для автоматизации учета складом
- •3.3.1 Создание базы данных
- •3.3.2 Создание клиентского приложения
- •3.4 Патентная защита разработанной ис учета складом предприятия ооо «Стандарт -Энерго»
- •3.4.1 Общая информация о Роспатенте
- •3.4.2 Документы на регистрацию программного средства в Роспатенте
- •Заключение
- •Список использованных источников
- •Реферат
- •Объём программы: 4 Кб
- •Приложение б
- •«Создание таблиц»
- •«Создание Windows приложения»
-
Реферат
Авторы: Зайцев Роман Александрович
Правообладатель: Зайцев Роман Александрович
Программа: Автоматизация учета складом товароматериальных ценностей предприятия ООО «Стандарт -Энерго».
Аннотация: Автоматизация учета складом представляет собой документационную систему по учету поступления товаров и материалов необходимые для ведения хозяйственной деятельности предприятия и оказанию услуг по своему направлению, а так же формирование документа (карточка товара) на регистрацию материалов на складе, отпуск материалов со склада, информацию о которых заведующий может просмотреть в таблице «Товар», что и является основной направленностью решения с помощью данного ПС.
Тип ЭВМ: IBM PC
Язык: C++
ОС: Windows XP Professional SP 3
-
Объём программы: 4 Кб
-
Приложение б
-
«Создание таблиц»
Листинг 1.1 Код создания домена D_INDEXTYPE
CREATE DOMAIN D_INDEXTYPE AS
INTEGER
NOT NULL;
Листинг 1.2. Таблица STAFF
CREATE GENERATOR GEN_STAFF_ID;
CREATE TABLE STAFF (
ID_S D_INDEXTYPE NOT NULL /* D_INDEXTYPE = INTEGER NOT NULL */,
LAST_NAME D_TXT /* D_TXT = VARCHAR(50) NOT NULL */,
FIRST_NAME D_TXT /* D_TXT = VARCHAR(50) NOT NULL */,
PATRONYMIC D_TXT /* D_TXT = VARCHAR(50) NOT NULL */,
FIO D_TXT /* D_TXT = VARCHAR(50) NOT NULL */,
PASSPORT INTEGER
);
Листинг 1.3. Код создания первичного ключа для таблицы STAFF
ALTER TABLE STAFF ADD CONSTRAINT PK_STAFF PRIMARY KEY (ID_S);
Листинг 1.4. Код создания генератора GEN_STAFF_ID
CREATE SEQUENCE GEN_STAFF_ID;
ALTER SEQUENCE GEN_STAFF_ID RESTART WITH 4;
Листинг 1.5 Создание триггера для таблицы STAFF
AS
BEGIN
IF (NEW.ID_S IS NULL) THEN
NEW.ID_S = GEN_ID(GEN_STAFF_ID,1);
END
Листинг 1.6. Создание хранимой процедуры STAFF_INS
BEGIN
fio = last_name || ' ' || substring(first_name from 1 for 1) || '. ' || substring(patronymic from 1 for 1) || '.';
INSERT INTO staff (
id_s,
last_name,
first_name,
patronymic,
fio,
passport)
VALUES (
null,
:last_name,
:first_name,
:patronymic,
:fio,
:passport);
END
Листинг 1.8. Создание хранимой процедуры STAFF_UPD
BEGIN
fio = last_name || ' ' || substring(first_name from 1 for 1) || '. ' || substring(patronymic from 1 for 1) || '.';
UPDATE staff
SET last_name = :last_name,
first_name = :first_name,
patronymic = :patronymic,
fio = :fio,
passport = :passport
WHERE (id_s = :id_s);
END
Листинг 1.9. Создание хранимой STAFF_DEL
BEGIN
DELETE FROM staff
WHERE (id_s = :id_s);
END
-
«Создание Windows приложения»
Листинг 2.1. Реализация фильтрации по полю LAST_NAME LIKE, таблицы STAFF
void __fastcall TForm1::Edit10Change(TObject *Sender)
{
DataModule2->STAFF->Active=false;
DataModule2->STAFF->Filtered=false;
DataModule2->STAFF->Filter="LAST_NAME LIKE '"+Form1->Edit10->Text+"%'";
DataModule2->STAFF->Active=true;
DataModule2->STAFF->Filtered=true;}
Листинг 2.2. Реализация поиска по таблице STAFF
void __fastcall TForm1::Button29Click(TObject *Sender)
{
TLocateOptions LO;
DataModule2->STAFF->Locate("LAST_NAME",Form1->Edit9->Text,LO<<loPartialKey<<loCaseInsensitive);
}
Листинг 2.3. Реализация добавления данных в таблицу STAFF
void __fastcall TForm19::Button1Click(TObject *Sender)
{
try {
DataModule2->STAFF_INS->ParamByName("LAST_NAME")->AsString=Form19->Edit2->Text;
DataModule2->STAFF_INS->ParamByName("FIRST_NAME")->AsString=Form19->Edit1->Text;
DataModule2->STAFF_INS->ParamByName("PATRONYMIC")->AsString=Form19->Edit3->Text;
DataModule2->STAFF_INS->ParamByName("PASSPORT")->AsString=Form19->Edit4->Text;
DataModule2->STAFF_INS->Prepare();
DataModule2->STAFF_INS->ExecProc();
DataModule2->STAFF->Active=false;
DataModule2->STAFF->Active=true;
ShowMessage("Запись добавлена!");
Close();}
catch (EIBInterBaseError *x)
{
ShowMessage(x->Message);
} }
Листинг 2.4. Реализация редактирования данных в таблице STAFF
void __fastcall TForm20::Button1Click(TObject *Sender)
{
try {
DataModule2->STAFF_UPD->ParamByName("ID_S")->AsString=Form20->Edit5->Text;
DataModule2->STAFF_UPD->ParamByName("LAST_NAME")->AsString=Form20->Edit2->Text;
DataModule2->STAFF_UPD->ParamByName("FIRST_NAME")->AsString=Form20->Edit1->Text;
DataModule2->STAFF_UPD->ParamByName("PATRONYMIC")->AsString=Form20->Edit3->Text;
DataModule2->STAFF_UPD->ParamByName("PASSPORT")->AsString=Form20->Edit4->Text;
DataModule2->STAFF_UPD->Prepare();
DataModule2->STAFF_UPD->ExecProc();
DataModule2->STAFF->Active=false;
DataModule2->STAFF->Active=true;
ShowMessage("Запись отредактированна!");
Close();
}
catch (EIBInterBaseError *x)
{
ShowMessage(x->Message);
} }
Листинг 2.5. Реализация удаления данных из таблицы STAFF
void __fastcall TForm21::Button1Click(TObject *Sender)
{
try {
DataModule2->STAFF_DEL->ParamByName("ID_S")->AsString=Form21->Edit1->Text;
DataModule2->STAFF_DEL->Prepare();
DataModule2->STAFF_DEL->ExecProc();
DataModule2->STAFF->Active=false;
DataModule2->STAFF->Active=true;
ShowMessage("Запись удалена!");
Close();
}
catch (EIBInterBaseError *x)
{ ShowMessage(x->Message);}
}
Листинг 26. Реализация отчета по продуктам
void __fastcall TForm1::Button35Click(TObject *Sender)
{
Form22->QuickRep1->PreviewModal();}