Розробка елементів гнучкої спеціалізованої системи приватного підприємства

Реалізація гнучкої спеціалізованої системи підприємництва в середовищі Delphi 6.0 за допомогою технології доступу до баз даних ADO. Розробка елементів системи, її призначення для накопичення і обробки інформації про обіг товарів приватного підприємства.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 26.10.2012
Размер файла 1,3 M

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

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

String [11]

Номер 1-го рахунку

schet2

String [11]

Номер 2-го рахунку

schet3

String [11]

Номер 3-го рахунку

kod_b1

Small Integer

Код 1-го банку

kod_b2

Small Integer

Код 2-го банку

kod_b3

Small Integer

Код 3-го банку

Таблиця 4.2. Структура полів таблиці. "Довідник банків і їх реквізитів" - sp_bank

Назва поля

Тип поля

Опис

kod_b

AutoInc

Код банку (ключове поле)

name_b

String [100]

Назва банку

mfo

String [6]

МФО

egrpou

String [8]

ЕГРПОУ

Таблиця 4.3. Структура полів таблиці. "Довідник груп товарів" - groops

Имя поля

Тип поля

Опис

kod_groop

Autoinc

Код групи товару (ключове поле)

name_groop

String [25]

Назва групи товарів

Procent

Number

Процент вартості послуги від загальної вартості

Таблиця 4.4. Структура полів таблиці. "Довідник товарів" - sp_tov

Назва поля

Тип поля

Опис

kod_tov

Autoinc

Код товару (ключове поле)

kod_groop

Integer

Код групи товарів

name_tov

String [50]

Назва товару

ed

String [5]

Одиниці виміру

kol

Large Integer

Кількість одиниць на складі

price

Currency

Закупочна ціна

price_otp

Currency

Ціна продажу

Таблиця 4.5. Структура полів таблиці. "Рух товарів" - documents_id

Назва поля

Тип поля

Опис

id

Autoincrement

Код записи (ключове поле)

No_doc

Large Integer

Номер накладної

date_doc

Date

Дата оформлення накладної

kod_kontr

Integer

Код контрагента

summa

Currency

Сума закупки / продажу

Таблиця 4.6. Структура полів таблиці. "Довідник структури руху товарів" - sostav_doc

Назва поля

Тип поля

Опис

ID

Autoinc

Код записи (ключове поле)

No_doc

Integer

Номер накладної

kod_tov

Integer

Код товару

kol

Integer

Кількість товарів

Структурна схема взаємозв'язку таблиць бази даних представлена на рисунку 4.2

Рис.4.2 Схема взаємозв'язку таблиць бази даних

4.4 Інтерфейс користувача розроблюваної системи

Інтерфейс користувача системи, що представляється, максимально адаптований для користувача. Він інтуїтивно зрозумілий і забезпечений всіма необхідними коментарями і підказками. Розгалужена довідкова система дає вичерпну інформацію про основні функціональні можливості і можливі варіанти експлуатації системи.

Використання додатків MS Office як елементи інтерфейсу дозволяє максимально спростити процес формування і висновку на друк необхідних документів і інформації про статистику руху товарів.

У програмі використовується 13 форм, ієрархія яких представлена на рисунку 4.3

Рис. 4.3 Ієрархія форм.

Головне меню системи має наступну структуру:

Рис.4.4 Головне меню системи

Всього в системі передбачено те, що кожному довіднику відповідає таблиця бази даних.

При обранні підпункту меню Довідник контрагентів на екрані з'явиться вікно (рис.4.5), в якому можна додати, видалити або змінити дані про контрагентів.

Рис.4.5 Вікно "Довідник контрагентів"

Для зручності роботи користувача в програмі реалізований послідовний пошук за іменем клієнта. Для цього необхідно ввести перші букви контрагента у вікні вводу відповідної області програми.

При натисненні кнопки Додати в таблицю "Довідник контрагентів" автоматично додає новий запис. На екрані з'явиться вікно "Карточка контрагента" (рис.4.6).

Рис.4.6 Вікно "Карточка контрагента" в режимі "Приватна особа"

Клієнтами фірми можуть виступати як організації, так і приватні особи, це і передбачено в системі при заповнені карточки. При запуску форми клієнт вважається приватною особою, і форма має вигляд, як це представлено на рис.4.6 При обранні типу "Організація" вид вікна зміниться.

В розроблюваній системі передбачена можливість збереження інформації про три рахунка контрагента. Для додавання рахунку необхідно натиснути кнопку "Додати". На екрані з'явиться наступне вікно:

Рис.4.7 Вікно "Рахунок контрагента"

Тут необхідно ввести номер рахунку контрагента. Обрати банк можна із раніше сформованого довідника реквізитів банків.

Рис.4.8 Вікно "Довідник реквізитів банку"

Якщо у вікні "Довідник контрагентів" натиснути кнопку "Змінити", на екрані знов з'явиться вікно "Карта контрагента", що дозволяє змінити необхідні дані. Подвійне клацання по відповідному запису аналогічне натисненню кнопки "Змінити".

Система дозволяє також видалити інформацію про клієнта з довідника. Для цього необхідно натиснути кнопку "Видалити" і підтвердити видалення даних з довідника:

Підпункт меню "Довідники" "Довідник груп товарів" виводить на екран вікно, в якому можна ввести відповідні відомості. Вікно має наступний вигляд:

Рис.4.9 Вікно "Довідник груп товарів"

Вікно Довідника товарів має наступну структуру:

Рис.4.10 Вікно "Довідник товарів"

В лівій частині вікна вибирається група товарів, в правій - вводиться інформація про товари вибраної групи.

Кнопка "Довідник груп" дає можливість користувачеві швидко перейти до відповідного вікна.

На цьому формування довідників системи закінчується.

При виборі підпункту меню Операції - Закупка товарів на екрані з'явиться наступне вікно:

Рис.4.11 Вікно "Закупка товарів"

Номер накладної і дата формується автоматично. Далі користувачеві необхідно вибрати із списку найменування постачальника (дані формуються на підставі довідника контрагентів).

Кнопка "Підбір" виводить на екран вікно "Довідник товарів", в якому необхідно вибрати відповідну позицію. Після цього необхідно ввести кількість товару. Сума закупки і підсумкова сума обчислюються автоматично.

Підпункт меню Операції - Продаж товарів виводить на екран вікно із схожою структурою.

Рис.4.12 Вікно "Продаж товарів"

Але при натисненні кнопки "Підбір" на екрані з'явиться вікно з інформацією про товари на складі.

Рис.4.13 Вікно "Товари на складі"

Структура вікна подібна до "Довідника товарів", проте тут також міститься інформація про кількість товару. Причому у вікні відображаються тільки ті назви товарів, які є на складі в наявності. У нижній частині вікна відображається загальна сума вартості товарів на складі по закупочним цінам.

При введенні кількості товару, що відпускається, якщо воно перевищує кількість товару, що є на складі, на екран виводиться повідомлення про те, що товарів в такій кількості немає.

Вікно "Статистика закупок" дозволяє розглянути інформацію про закупку товарів за певний період.

Рис.4.14 Вікно "Статистика закупок"

Кнопка "Детальніше" виводить на екран детальну інформацію про закупки товарів.

Аналогічний вигляд має вікно "Статистика продажу".

Кнопки "Друк" у вікнах статистики дозволяють сформувати "Книгу закупок" і "Книгу продажу" за вибраний період у вигляді файлу у форматі MS Excel.

Аналогічну операцію можна провести, вибравши в меню підпункти Документи - Книга закупок і Документи - Книга продажу. При цьому на екрані з'явиться вікно, в якому необхідно вибрати діапазон дат:

Рис.4.15 Вікно "Вибір діапазону дат"

При виборі підпункту меню Товари на складі на екрані з'явиться вікно, в якому можна проглянути всі товари, які є і дізнатися загальну суму вартості їх за закупочними цінами.

Підпункт меню Довідка - виводить на екран докладну індексовану довідкову систему про функціональні можливості системи.

4.5 Опис основних процедур і функцій системи, що розробляється

Головна форма програми містить компонент - MainMenu, за допомогою якого реалізоване головне меню системи і ImageList - компонент, що містить в собі список графічних зображень, які використані як іконки підпунктів меню і командних кнопок.

При виборі пункту меню "Контрагенти" на екрані з'явиться вікно, в якому представлений відсортований список.

В даному випадку і далі скрізь послідовний пошук по частковому збігу був організований за допомогою методу Locate компоненту Table:

procedure Tkontrag. Edit1Change (Sender: TObject);

begin

ADOtable1. Locate ('name_kontr',edit1. Text, [loCaseInsensitive,loPartialKey]); // пошук без врахування реєстру по частковому збігу

end;

Оброблювач події OnClick кнопки "Додати" має наступний вид:

procedure Tkontrag. BitBtn1Click (Sender: TObject);

begin

ADOTable1. Insert; // вставка запису в таблицю

f: =false; // ознака того, що форма з'явиться в режимі вставки нового запису

karta. showmodal; // виведення на екран вікна в модальному режимі

end;

При подвійному натисненню по вибраному запису, на екрані з'явиться вікно, в якому можна відредагувати дані. При цьому таблиця БД переходить в режим редагування.

procedure Tkontrag. BitBtn2Click (Sender: TObject);

begin

ADOTable1. Edit;

f: =true; // ознака того, що форма з'явиться в режимі редагування

karta. ShowModal;

end;

При натисненні виводиться запит на підтвердження. Це було реалізовано за допомогою стандартної функції MessageDlg.

if MessageDlg ('Ви впевнені в тому, що хочете видалити+

QuotedStr (ADOTable1. FieldByName ('name_kontr'). AsString) +

'? ',mtConfirmation, [mbYes,mbNo],0) = mrYes then

ADOTable1. Delete;

Форма введення реквізитів контрагентів містить візуальні компоненти введення даних, такі як DBText і DBComboBox (для полів вибору із списку), кожний з яких пов'язаний з відповідним полем таблиці.

При появі форми в режимі редагування відбувається наступні дії:

1. Формується список рахунків контрагента:

bitbtn1. Enabled: =false; // кнопка "Змінити рахунок" не активна

Listbox1. Items. Clear; // список рахунків очищається

if kontrag. ADOTable1schet1. AsString<>'' then // якщо номер рахунку введений він додається в список

listbox1. Items. Add ('Р/р № '+kontrag. ADOTable1schet1. AsString);

if kontrag. ADOTable1schet2. AsString<>'' then

listbox1. Items. Add ('Р/р № '+ kontrag. ADOTable1Schet2. AsString);

if kontrag. ADOTable1schet3. AsString<>'' then

listbox1. Items. Add ('Р/р № '+kontrag. ADOTable1Schet3. AsString);

2. В компонент datetimepicker1 заноситься дата видачі паспорта, яка зберігається у відповідному полі таблиці.

if kontrag. ADOTable1Date_pasp. AsDateTime<> strtodate ('30.12.1899') then

datetimepicker1. Date: =kontrag. ADOTable1Date_pasp. AsDateTime

else datetimepicker1. Date: =date;

3. В залежності від типу контрагента буде обрана відповідна позиція в списку типів (компонент combobox1)

if kontrag. ADOTable1TyPe. AsString='О' // якщо тип - "організація"

then combobox1. ItemIndex: =0 // обрана перша позиція в списку

else combobox1. ItemIndex: =1; // інакше - друга

combobox1change (sender);

end;

Зовнішній вигляд форми змінюється залежно від того, чи є контрагент приватною особою або організацією. У першому випадку передбачено введення паспортних даних, в другому - інформації про контактних осіб організації. Так само, залежно від вибраного типу вводиться або код МФО (для приватної особи), або ЕДРПОУ (для організацій).

procedure Tkarta.comboBox1Change (Sender: TObject);

begin

if combobox1. ItemIndex=0 then // якщо це організація

begin

groupbox2. Visible: =true;

groupbox3. Visible: =false;

label12. Caption: ='ЕДРПОУ'

end else begin

groupbox3. Visible: =true;

groupbox2. Visible: =false;

label12. Caption: ='МФО'

end; end;

При виборі із списку номера рахунку - стає активною кнопка "Змінити", яка виводить на екран форму bank_rekv.

При натисненні кнопки "Додати" на екрані з'явиться аналогічна форма. Проте, оскільки система передбачає можливість зберігання інформації тільки про три рахунки, в системі передбачений захист.

if listbox1. Items. Count<3 then // якщо введено менше трьох рахунків

begin

listbox1. Items. Add (''); // додавання строки в список

listbox1. ItemIndex: =listbox1. Items. Count-1; // обрана остання позиція

end else begin showmessage ('Можна ввести тільки три номера рахунків! '); exit; end;

bank_rekv. Edit1. Text: ='';

bank_rekv. ShowModal;

При закритті форми в відповідне поле таблиці заноситься тип контрагента ("О" - організація, "Ч" - приватна особа):

case combobox1. ItemIndex of

0: kontrag. ADOTable1TyPe. AsString: ='О';

1: kontrag. ADOTable1TyPe. AsString: ='Ч';

і дата видачі паспорта:

kontrag. ADOTable1Date_pasp. AsDateTime: =datetimepicker1. Date;

Обов'язковим для введення є тільки ім'я клієнта, тому в обробнику події OnCloseQuery, що виникає при запиті на закриття форми написаний наступний код:

procedure Tkarta. FormCloseQuery (Sender: TObject; var CanClose: Boolean);

begin

if (dbedit1. Text='') and (flag=true) then

begin

showmessage ('Введіть найменування контрагента! ');

canclose: =false;

end;

end;

Розглянемо детальніше основні процедури модуля введення банківських реквізитів. При появі форми, залежно від порядкового номера обраного в списку рахунку, компонент dbedit1 буде пов'язаний з відповідним полем таблиці. У компонент edit1 буде занесене найменування банку, взяте з відповідного довідника.

case karta. ListBox1. ItemIndex of

0: begin // перший номер рахунку

dbedit1. DataField: ='schet1'; // компонент пов'язаний з полем 'schet1'

if sp_bank. ADOTable1. Locate ('kod_b',kontrag. ADOTable1kod_b1. AsInteger, []) // якщо обраний банк

then edit1. Text: =sp_bank. ADOTable1name_b. AsString // назва банку

else edit1. Text: ='';

end;

end;

При натисненні кнопки "Довідник банків" на екрані з'явиться форма в режимі перегляду:

procedure Tbank_rekv. BitBtn1Click (Sender: TObject);

begin

sp_bank. DBGrid1. ReadOnly: =true; // дані виводяться тільки для перегляду

vibor: =true; // ознака того, що дані виводяться тільки для перегляду

sp_bank. ShowModal

end;

Інтерфейс вікна "Довідник реквізитів банків" реалізований за допомогою компонентів ADOTable, DataSourse, DBGrid.

При закритті форми код обраного банку заноситься у відповідне поле таблиці.

if vibor then // якщо форма відкрита в режимі обрання

begin

case karta. ListBox1. ItemIndex of // порядкові номери рахунків

0: kontrag. ADOTable1Kod_b1. AsInteger: =ADOTable1Kod_b. asinteger;

1: kontrag. ADOTable1Kod_b2. AsInteger: =ADOTable1Kod_b. asinteger;

2: kontrag. ADOTable1Kod_b3. AsInteger: =ADOTable1Kod_b. asinteger;

end; bank_rekv. Edit1. Text: =ADOTable1Name_b. AsString;

end else // якщо форма в режимі редагування

if ADOtable1. Modified= true then

ADOtable1. Post;

Введення даних в довідник товарів реалізований за допомогою майстер-детальних зв'язків між двома таблицями - groops (MasterSource) і sp_tov (DetalSource). Таким чином, в правій частині вікна відображається список товарів вибраної категорії.

Форма "Закунка товарів" може бути викликана в двох режимах - здійснення операції закупки товарів і перегляд складу обраною накладною (в режимі редагування). В першому випадку змінна red=true, в другому - false. Номер накладної вноситься у відповідне поле автоматично (наступний+1).

procedure TNakladnaya_p. FormShow (Sender: TObject);

var a: integer;

begin

if not red then // якщо не в режимі перегляду

begin

zap: =false; combobox4. Items. Clear; // очистка списку контрагентів

floatedit1. Value: =0; // очистка поля загальної суми закупки

ADOtable2. Last; // перехід на наступний запис в таблиці

a: =ADOtable2no_doc. AsInteger+1; // номер накладної

ADOtable2. Insert; // додавання запису

ADOtable2no_doc. AsInteger: =a;

ADOtable2. Post;

ADOtable1. Filter: ='no_doc='+inttostr (ADOtable2no_doc. AsInteger); // таблиця sostav_doc фільтрується за номером накладної

ADOtable1. Filtered: =true;

kontrag. ADOTable1. First;

while not kontrag. ADOTable1. Eof do // формування списку контрагентів із довідника

begin

combobox4. Items. Add (kontrag. ADOTable1name_kontr. AsString); // додавання найменування в список

kontrag. ADOTable1. Next; // перехід на наступну запис

end;

combobox4. ItemIndex: =-1;

end

else // далі слідують оператори, які виконуються при появі форми в режимі перегляду

begin

zap: =true;

ADOtable1. Filter: ='no_doc='+inttostr (ADOtable2no_doc. AsInteger);

ADOtable1. Filtered: =true;

combobox4. Items. Clear;

combobox4. Items. Add (prihod. ADOQuery1name_kontr. AsString); // ім'я контрагента

combobox4. ItemIndex: =0; floatedit1. Value: =0; // обнулення параметрів

ADOtable1. First;

while not ADOtable1. Eof do

begin

floatedit1. Value: =0;

floatedit1. Value: =floatedit1. Value+ADOtable1cena. AsFloat; // обчислення загальної суми

ADOtable1. Next

end; end; end;

Розробка форми "Закупка товарів" на етапі проектування:

При натисненні кнопки "Підбір" на екрані з'явиться форма "Довідник товарів" в режимі перегляду. При цьому зовнішній вид форми зміниться.

procedure TNakladnaya_p. BitBtn2Click (Sender: TObject);

begin

ADOTable1. Insert; // вставка запису

tovar. dbgrid1. ReadOnly: =true; //

tovar. BitBtn2. Visible: =true; tovar. BitBtn3. Visible: =false; // Кнопка "Підбір" стане видимою, кнопка "Вийти" невидимою

tovar. BitBtn5. Visible: =false; // Кнопка "Видалити" стане невидимою

tovar. DBGrid2. ReadOnly: =true;

tovar. DBNavigator1. Enabled: =false;

fl_t: =true; // форма в режимі перегляду

tovar. ShowModal; end;

Поля таблиці "Сума" стануть обчислюваними:

procedure TNakladnaya_p. ADOTable1CalcFields (DataSet: TDataSet);

begin

ADOTable1cena. AsCurrency: =tovar. ADOTable2price. AsCurrency * ADOTable1kol. AsInteger; // закупочна ціна одиниці товару помножується на кількість

end;

При зміні поля кількість також відбувається перерахунок загальної суми закупки:

procedure TNakladnaya_p. ADOTable1kolChange (Sender: TField);

begin

while not ADOtable1. Eof do // перебір всіх записів відфільтрованого набору

begin

floatedit1. Value: =floatedit1. Value+ADOtable1cena. AsFloat;

ADOtable1. Next

end;

end;

При натисненні кнопки "Записати" виконується оформлення приходу із занесенням даних у відповідні таблиці.

procedure TNakladnaya_p. BitBtn1Click (Sender: TObject);

begin

// дані заносяться в таблицю накладних

ADOtable2. Edit;

ADOTable2date_doc. AsDateTime: =datetimepicker1. Date; // дата закупки

ADOTable2summa. AsCurrency: =floatedit1. Value; // сума закупки

ADOtable4. Locate ('name_kontr',combobox4. Text, []); // пошук в таблиці - довідника контрагентів обраного пункту списку

ADOTable2kod_kontr. AsInteger: =ADOTable4kod_kontr. AsInteger; // код контрагента

ADOTable2doc. AsString: ='p'; // вид операції - закупка

ADOtable2. Post;

zap: =true;

// дані заносяться в таблицю, яка зберігає інформацію про подробиці замовлення

ADOtable1. First;

while not ADOtable1. Eof do // додається товар, який був закуплений

begin

ostatki. ADOTable1. Locate ('kod_tov',ADOtable1kod_tov. AsInteger, []); // пошук відповідного запису по коду товару

ostatki. ADOTable1. Edit; // перехід в режим редагквання

ostatki. ADOTable1kol. AsInteger: =ostatki. ADOTable1kol. AsInteger+ADOtable1kol. AsInteger;

ostatki. ADOTable1. Post; ADOtable1. Next;

end;

ostatki. ADOTable1. Active: =false; // оновлення даних таблиці

ostatki. ADOTable1. Active: =true;

close;

end;

Подібним чином реалізована операція продажу товарів.

Система дозволяє вести статистику закупок і продажу товарів.

Дані статистики виводяться на основі набору компоненту ADOQuery, що містить наступний SQL-запит.

select p. doc, p. date_doc, p. no_doc,p. summa, до. name_kontr from documents_id p left join kontragenty до on до. kod_kontr=p. kod_kontr where p. doc='p' order by p. date_doc

Таким чином, дані формуються з двох таблиць, одна з яких -

documents_id (довідник оформлених накладних) є головною, а друга kontragenty (довідник контрагентів) - підпорядкованою. Список відсортований по даті оформлення накладних.

Кнопка "Фільтр" дозволяє вивести статистику за певний період:

procedure TPrihod. BitBtn2Click (Sender: TObject);

begin

ADOquery1. Filter: ='date_doc>='+''''+DateToStr (DateTimePicker1. Date) +''''+'and date_doc<='

+''''+DateToStr (DateTimePicker2. Date) +'''';

ADOquery1. Filtered: =true;

checkbox1. Checked: =false;

end;

Прапорець "Показати все" дозволяє повернутися до початкового набору:

procedure TPrihod. CheckBox1Click (Sender: TObject);

begin

if checkbox1. Checked then

ADOquery1. Filtered: =False;

end;

Кнопка "Подробиці" дозволяє вивести повну інформацію обраної накладної. При цьому на екрані з'явиться форма "Закупка товарів" в режимі перегляду даних.

procedure TPrihod. BitBtn4Click (Sender: TObject);

begin

red: =true; // дані тільки для перегляду

Nakladnaya_p. ADOTable2. Locate ('no_doc',ADOQuery1no_doc. AsInteger, []); // пошук обраного номера накладної

Nakladnaya_p. DateTimePicker1. Date: =ADOQuery1date_doc. AsDateTime; // установка дати

Nakladnaya_p. DBGrid1. ReadOnly: =true; // редагування заборонено

Nakladnaya_p. FloatEdit1. ReadOnly: =true;

Nakladnaya_p. BitBtn1. Enabled: =false; // кнопки неактивні

Nakladnaya_p. BitBtn2. Enabled: =false;

Nakladnaya_p. ShowModal;

end;

Так само реалізована можливість ведення статистики про продаж товарів.

Система передбачає формування 4-х вихідних документів: Прайс-лист товарів, Книга товарів на складі, Книга закупок і Книга продажу.

Перший з цих документів формується на підставі набору за допомогою наступного SQL-запиту:

select g. name_groop,t. name_tov, t. ed, t. price_otp from sp_tov t left join groops g on g. kod_groop=t. kod_groop order by g. name_groop,t. name_tov

Дані формується на основі двох таблиць - groops (довідник груп товарів) і sp_tov (довідник товарів).

Дані виводяться в автоматично створюваний файл MS Excel.

Обробник події OnClick відповідного пункту меню буде мати такий вигляд:

procedure Tmain. N19Click (Sender: TObject);

var i,j: integer; r: string;

begin

E: =CreateOleObject ('Excel. Application'); // створення об'єкта MS Excel

workbook: =e. workbooks. add; // додання робочої книги

// Формування заголовку звіту

SetMergeCells (1,'A1: C1',true); // об'єднання комірок

cell: =workbook. worksheets [1]. cells [1,1]; // завдання робочого діапазону комірок

range: =workbook. worksheets [1]. range [cell,cell];

range. horizontalalignment: =-4108; // вирівнювання по горизонталі і по центру

range. verticalalignment: =-4108; // вирівнювання по вертикалі і по центру

range. rowheight: =50; // установка товщини границь

range. font. size: =20; // розмір шрифту

range. font. bold: =true; // тип написання - "жирний"

range. font. color: =clRed; // колір - червоний

range. value: ='Прайс-лист від '+datetostr (date); // виведення тексту заголовку, який містить поточну дату

i: =3; // номер строки

for j: =1 to 3 do // формування заголовків стовпців

case j of // j - номер стовпця

1: begin cell: =workbook. worksheets [1]. cells [i,j];

range: =workbook. worksheets [1]. range [cell,cell];

range. horizontalalignment: =-4108;

range. verticalalignment: =-4108;

range. columnwidth: =75;

range. font. bold: =true;

range. interior. color: =rgb (160,240,240); // визначення кольору заливки комірок

range. borders. linestyle: =1;

range. borders. weight: =3;

range. value: =' Найменування ';

end;

.

end;

ADOquery1. First; // перехід на перший запис набору

SetMergeCells (1,'A4: C4',true); // об'єднання комірок для виводу назви групи товару

cell: =workbook. worksheets [1]. cells [4,1];

range: =workbook. worksheets [1]. range [cell,cell];

range. horizontalalignment: =-4108;

range. verticalalignment: =-4108;

range. font. bold: =true;

range. value: =ADOquery1name_groop. AsString; // назва групи товару

r: =ADOquery1name_groop. AsString; // в цій змінній буде зберігатися поточна назва групи товару

i: =i+1; // номер рядка

while not ADOquery1. Eof do // перебір всіх записів

begin

i: =i+1; if r<>ADOquery1name_groop. AsString then // якщо група товарів змінилась

begin

SetMergeCells (1,'A'+inttostr (i) +': C'+inttostr (i),true); // об'єднання комірок

cell: =workbook. worksheets [1]. cells [i,1];

range: =workbook. worksheets [1]. range [cell,cell];

range. horizontalalignment: =-4108;

range. verticalalignment: =-4108; range. font. bold: =true;

range. value: =ADOquery1name_groop. AsString;

i: =i+1; end;

r: =ADOquery1name_groop. AsString; // виведення назви групи товарів

cell: =workbook. worksheets [1]. cells [i,1];

range: =workbook. worksheets [1]. range [cell,cell];

range. value: =ADOquery1name_tov. asstring; // виведення назви товарів

range. borders. linestyle: =1;

range. borders. weight: =2;

cell: =workbook. worksheets [1]. cells [i,2];

range: =workbook. worksheets [1]. range [cell,cell];

range. value: =ADOQuery1ed. asstring; // виведення одиниці виміру.

range. borders. linestyle: =1; range. borders. weight: =2;

cell: =workbook. worksheets [1]. cells [i,3];

range: =workbook. worksheets [1]. range [cell,cell];

range. numberformat: ='_-* # ##0,00 грн. _-; - * # ##0,00 грн. _-; _-* "-"?? грн. _-; _-@_-'; // формат комірки - грошовий

range. value: =ADOQuery1price_otp. AsFloat; // виведення ціни продажу

range. borders. linestyle: =1;

range. borders. weight: =2;

ADOquery1. Next;

end;

e. visible: =true; // візуалізація додатку

end;

Так само передбачено формування звіту "Книга товарів на складі", заснованого на наборі даних за допомогою наступного SQL-запиту:

select g. name_groop,t. name_tov, t. ed, t. price, t. kol, t. price_otp from sp_tov t left join groops g on g. kod_groop=t. kod_groop where t. kol>0 order by g. name_groop,t. name_tov

Дані відсортовані спочатку по назві групи товарів, а потім по назві товарів. У набір включені тільки ті записи, значення поля "кількість" яких більше нуля.

На відміну від попереднього документа звіт передбачає формування проміжних підсумків по кожній з груп товарів, а також виведення загальної суми вартості товарів на складі (за цінами закупки).

При виборі пунктів меню "Книга закупок" і "Книга продажу" на екрані з'явиться форма. Сформовані документи основані на наступних SQL-запитах:

ADOQuery1:

select k. name_kontr,d. date_doc,d. summa,d. no_doc, d. doc from documents_id d left join kontragenty k where k. kod_kontr=d. kod_kontr and d. doc='p' order by d. date_doc

ADOQuery2:

select k. name_kontr,d. date_doc,d. summa,d. no_doc, d. doc from documents_id d left join kontragenty k where k. kod_kontr=d. kod_kontr and d. doc='r' order by d. date_doc

Обидва набори засновано на даних таблиць documents_id (перелік оформлених накладних) і kontragenty (довідник контрагентів) і відсортовані по даті оформлення документа. У першому випадку в набір включені дані, що стосуються закупки товарів, а в другому - продаж.

Документи "Книга закупок" і "Книга продажу" формуються на основі шаблонів (Книга закупок. xlt і Книга продажу. xlt).

Шаблони містять текстові константи, які будуть використані для підстановки інформації.

При виконанні даної процедури була використана функція FindAndInsert, яка дозволяє знаходити рядок FindText і підставляти на її місце рядок ReplacementText.

function FindAndInsert (FindText,replacementText: string): boolean;

var range: variant;

begin

range: =e. cells. replace (what: =findtext,replacement: =replacementtext);

end;

При натисненні кнопки "ДОбре" форми проводиться фільтрація даних по ви-бранному діапазону дат і формування документів на основі шаблонів.

procedure Tv_date. BitBtn1Click (Sender: TObject);

var AppPath: array [0.255] of char;

AParams: TStringList;

i: integer; sum: real;

begin

if kn=1 then // ознака того, що формується "Книга закупок"

begin

ADOquery1. SQL. Clear;

ADOquery1. SQL. Add ('select k. name_kontr,d. date_doc,d. summa,d. no_doc, d. doc from documents_id d left join kontragenty k where k. kod_kontr=d. kod_kontr and d. doc='+''''+'p'+''''+'and d. date_doc >='+''''+datetostr (datetimepicker1. Date) +''''+' and d. date_doc <='+''''+datetostr (datetimepicker2. Date) +''''+' order by d. date_doc'); // внесення зміни в SQL-запит згідноо обраним датам

ADOquery1. Active: =true;

GetCurrentDirectory (255,AppPath); // визначаємо директорію, де знаходиться файл

S_f: =APPPATH; // путь до файлу

E: =CreateOleObject ('Excel. Application');

workbook: =e. workbooks. add (s_f+'\Книга закупок. xlt" '); // створення книги на основі шаблону

findandinsert ('##data',datetostr (date)); // пошук і заміна тексту, в даному випадку дати формування документа

Виведення даних на основі відповідних наборів проводиться описаним вище способом.

При виборі підпункту меню Довідка виводиться файл довідкової системи.

Для виведення файлу довідки була використана функція WinHelp

function WindHelp (Wnd: HWnd; HelpFile: PChar; Command: Word; Data: Longint): Bool

Дана функція викликає механізм Windows отримання довідкової інформації з командою Command. Параметри функції:

Wnd: ідентифікатор вікна; HelpFile: ім'я файлу довідкової інформації (що закінчується порожнім символом), ім'я маршруту, що включає при необхідності ім'я маршруту; Command: одна з команд help_Context, help_HelpOnHelp, help_Index, help_Key, help_Quit або help_SetIndex; Data: номер ідентифікатора контексту, якщо Command має значення help_Context, або ключове слово довідкової теми (що закінчується порожнім символом), якщо Command має значення help_Key.

Оскільки довідкова система не має складної розгалуженої структури ідентифікатори контексту і ключові слова використані не були. Обробник події ObClick для даного пункту меню буде наступним:

procedure TForm1. N4Click (Sender: TObject);

begin

winhelp (Form1. Handle, 'help. hlp', HELP_CONTEXT, 1);

end;

5. Економічне обґрунтування доцільності розробки програмного продукту

5.1 Організаційно-економічна частина

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

Найбільш важливим моментом для розробника, з економічної точки зору, є процес формування ціни. Очевидно, що програмні продукти - це специфічні товари з безліччю властивих їм особливостей. Багато з них виявляється і в методах розрахунків ціни продукту. На розробку програмного продукту середньої складності зазвичай потрібні незначні засоби. Проте, при цьому він може дати економічний ефект, що значно перевищує ефект від використання достатньо дорогих систем. Слід підкреслити, що в програмних продуктах практично відсутній процес фізичного старіння і зносу. Для них основні витрати доводяться на розробку зразка, тоді як процес розповсюдження являє собою порівняно нескладну і недорогу процедуру копіювання носіїв інформації і супроводжуючої документації.

Метою написання даного розділу є розрахунок витрат на виробництво системи "Товарний облік", призначеної для ведення бази даних товару, розрахунок економічного ефекту від впровадження даного продукту і обґрунтування на основі цього необхідності в його розробці.

Система виконує наступні функції: збір і обробка інформації про рух товарів.

5.2 Розрахунок витрат праці на розробку програмного продукту

Економічна доцільність розробки полягає в економії трудовитрат у порівнянні з ручною обробкою і отримання достовірнішої інформації за коротший час.

Таблиця 5.1. Затрати на витратні матеріали

Найменування матеріалу

Затрати, шт.

Ціна, грн. /шт.

Сума, грн.

п/п

1

Допоміжна

література

2

70

140

2

Компакт диски

10

1

10

Разом:

150

Основні виробничі фонди:

Програмне забезпечення Borland Delphi 6.0 - 1 шт за ціною 400 грн.;

Комп'ютер з такою комплектацією: процесор - Celeron 440 2.0, материнська плата - Intel 945GC, ОЗП - 512 (DDR2), НЖМД, ГБ - 80.0 (SATA), відео - Integrated (PCX), мультимедіа - DVD+/-RW, з програмним забезпеченням - 1 шт. за ціною 1925 грн.;

Монітор 19” Acer AL1916WAsd TFT - 1 шт. за ціною 1200 грн.

Загальна сума виробничих фондів складає - 3525 грн.

Амортизація складає 15% у квартал від залишкової вартості, тобто А = Ф*На, де Ф - залишкова вартість на початок кварталу, На - норма амортизації.

I квартал 3525*0,15=528,75 грн.

II квартал (3525-528,75) *0,15=449,44 грн.

III квартал (3525-528,75-449,44) *0,15=382,02 грн.

IV квартал (3525-528,75-449,44-382,02) *0,15=324,72 грн.

Разом амортизація = 1684,93 грн.

Таблиця 5.2. Основна заробітна плата розробників ПП

№ п/п

Виконавці

Трудомісткість, люд. дн.

Оклад, грн.

Затрати по з/п, грн.

1

Програміст

7

1200

365,22

Додаткова заробітна плата розробників ІС складає 20 % від основної заробітної плати:

365,22 * 0,20 = 73,04 грн.

Фонд заробітної плати є сумою основної і додаткової заробітної плати:

365,22 + 73,04 = 438,26 грн.

Відрахування на заробітну плату складає:

33,2% - пенсійний фонд;

1,5% - соціальне страхування;

1,3% - відрахування в державний фонд сприяння зайнятості;

1,3% - відрахування на соціальне страхування від нещасного випадку на виробництві та професійного захворювання, які спричинили втрату працездатності.

Разом відрахування на соціальні потреби складають 37,3% від фонду оплати праці:

438,26 * 0,373 = 163,47 грн.

Накладні витрати складають 250 % від величини основної заробітної плати:

365,22 * 2,5 = 913,05 грн.

Таблиця 5.3. Калькуляція

п/п

Найменування статей витрат

Затрати,

грн.

1

Амортизація

1684,93

2

Витратні матеріали

150

2

Основна заробітна плата розробників

365,22

3

Додаткова заробітна плата розробників

73,04

4

Відрахування на соціальне страхування

163,47

5

Накладні витрати

913,05

Разом витрат: Зк= 3349,71

5.3 Витрати на ручну обробку інформації

Витрати на ручну обробку інформації визначаються по формулі:

Зр = Оn * Ц * Гд / Нв, де

Оn - об'єм інформації, що обробляється вручну, Мбайт;

Ц - вартість однієї години роботи, грн. /час;

Гд - коефіцієнт, що враховує додаткові витрати часу на логічні операції при ручній обробці інформації;

Нв - норма вироблення, Мбайт/ година.

В даному випадку:

Оn = 25 Мбайт (загальний розмір оброблюваних даних);

Ц = 6,44 грн. / година;

Гд = 2.5 (встановлений експериментально);

Нв = 0.004 Мбайт / година.

З цього виходить, що витрати на ручну обробку інформації будуть рівні:

Зр = 25 * 6,44 * 2,5/0,004 = 100585,94 грн.

5.4 Витрати на автоматизовану обробку інформації

,

де - година автоматизованої обробки, рік.;

- вартість однієї години машинного часу, грн. /рік;

- година роботи оператора, рік.;

- вартість однієї години роботи оператора, грн. /рік.

Для даного випадку:

ta = 180 год.,

Номінальний фонд робочого часу розраховується по формулі:

к - кількість відпрацьованих годин за рік;

к1 - щоденні втрати 9-10% (відпустка, декретна відпустка та ін.)

к2 - внутрішні втрати робочого часу, 1 - 2% (пільгові години, перерви та ін.).

К = д * р * м

д - середня кількість робочих днів у місяці = 21;

р - тривалість робочого дня = 8;

м - кількість робочих місяців за рік = 11;

К = 21 * 8 * 11 = 1848 годин за рік.

= 1663,2 год.

Час роботи оператора = 1663,2 годин за рік

Вартість однієї години машинної години дорівнює:

Цм = Цэ*Р

Цэ - вартість 1квт електроенергії (0,24 грн.)

Р - споживана потужність комп'ютера в рік 300 Вт

Цм=0,24*0,3=0,07грн/рік, t0 = 180 год,

Ц0 =1100/ 21/8=6,55 грн. (заробітна плата бухгалтера 1100 грн)

Отже, витрати на автоматизовану обробку інформації дорівнюють:

За=180*0,07+180* (6,55+0,07) =1204,20 грн.

Таким чином, річна економія від упровадження дорівнює:

Еу = 100585,94 - 1204,20 - 3349,71 = 96032,03 грн.

Економічний ефект від використання програмного забезпечення за рік визначається по формулі, грн.:

.

Ег=96032,03 - 3349,71*0,2= 95362,09 грн.

Ефективність розробки може бути оцінена по формулі:

.

Ер=95362,09 * 0,4/3349,71= 11,39

Якщо Ер > 0, 20, то наша розробка є економічно доцільною.

Вартісна оцінка результатів застосування програмного забезпечення за розрахунковий період Т визначається по формулі:

,

де Т - розрахунковий період;

Рt - вартісна оцінка результатів t розрахункового періоду, грн.;

- дисконтуюча функція, яка вводитися з ціллю приводу всіх витрат та результатів до одного моменту часу.

Дисконтуюча функція має вигляд:

= 1/ (1 + р) t,

де р - коефіцієнт дисконтування (р = Ен = 0,2, Ен - нормативний коефіцієнт ефективності капітальних вкладень).

Таким чином,

.

Якщо програмне забезпечення заміняє ручну працю, отже, набір корисних результатів у принципі не міняється. У якості оцінки результатів застосування програмного забезпечення за рік береться різниця (економія) витрати, які виникають у результаті використання програмного забезпечення, тобто Рt = Еу.

Припускається, що дана розробка без змін та доробок буде використовуватись на протязі п'яти років. Тоді вартісна оцінка результатів застосування програмного забезпечення (економія) за розрахунковий період Т = 3 роки складатиме:

=96032,03+80026,70+66688,91+55574,09= 298321,73 грн.

Економічний ефект від використання програмного забезпечення за розрахунковий період Т = 3 роки складатиме:

Ет = 298321,73 - 3349,71= 294972,02 грн.

Таким чином, у результаті аналізу встановлено, що впровадження розробки виправдано й економічно доцільно.

6. Охорона праці

6.1 Аналіз небезпечних і шкідливих виробничих чинників при роботі на комп'ютері

Значним фізичним чинником є мікроклімат робочої зони, це стосується температури і вологості повітря. Людина постійно знаходиться в процесі теплової взаємодії з навколишнім середовищем. Дослідження показують, що висока температура у поєднанні з високою вологістю повітря робить великий вплив на працездатність оператора. Збільшується час реакції оператора ЕОМ, порушується координація рухів, різко збільшується число помилкових дій. Висока температура на робочому місці оператора негативно впливає на психологічні функції: знижується увага, зменшується об'єм оперативної пам'яті, знижується здібність до асоціацій.

Часто буває, що в приміщеннях вологість повітря знижена. Взимку із-за систем центрального опалювання, а влітку - із-за застосування кондиціонерів і вентиляторів. Знижена вологість повітря негативно позначається на стані шкірного покриву людини: шкіра втрачає вологу, стає сухою, особисті захворювання шкіри. При зниженій вологості відчувається сухість в роті, з'являється спрага.

Температура, відносна вологість і швидкість руху повітря впливають на теплообмін і необхідно враховувати їх комплексну дію. Порушення теплообміну викликає теплову гіпертермію. Температура тіла у важких випадках досягає вище 40 - 41о С, наступає сильне потовиділення, значно частішає пульс, дихання, з'являється шум у вухах.

Оптимальні норми температури, відносної вологості і швидкості руху повітря в робочій зоні виробничого приміщення відповідно до ГОСТ 12.1.005-88 приведені в таблиці 6.1

Таблиця 6.1. Оптимальні норми температури, відносної вологості і швидкості руху повітря

Період

Року

Категорія роботи

Температура, оС

Відносна волог. повітря, %

Швидкість руху повітря, не більше, м/с

Холодний і перехідний

легка

20-23

60-40

0,2

Теплий

легка

22-25

60-40

0,2

Шумом є всякий небажаний, неприємний для сприйняття людини подразник. Шум погіршує умови праці, надаючи шкідливу дію на організм людини. При тривалій дії шуму на організм людини відбуваються небажані явища:

знижується гострота зору, слуху;

підвищується кров'яний тиск;

знижується увага.

Сильний тривалий шум може бути причиною функціональних змін серцево-судинної і нервової системи, що приводить до захворювань серця і підвищеній нервозності.

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

При організації освітлення необхідно мати на увазі, що збільшення рівня освітленості приводить до зменшення контрастності зображення на дисплеї. У таких випадках вибирають джерела загального освітлення по їх яскравості і спектральному складу випромінювання. Загальна чутливість зорової системи збільшується із збільшенням рівня освітленості в приміщенні, але лише до тих пір, поки збільшення освітленості не приводить до значного зменшення контрасту.

Небезпечна і шкідлива дія на людей електричного струму, електричної дуги, електромагнітних полів виявляються у вигляді електротравм і професійних захворювань. Ступінь небезпечної і шкідливої дій на людину електричного струму, електричної дуги, електромагнітних полів залежить від:

роду і величини напруги і струму;

частоти електричного струму;

шляхи проходження струму через тіло людини;

тривалість дії на організм людини;

умов зовнішнього середовища.

Перше виявляється в нагріві тканин, аж до опіків окремих ділянок тіла, перегріву кровоносних судин і крові, що викликає в них серйозні функціональні порушення.

Друге викликає розкладання крові і плазми, значні порушення їх фізико-хімічних складів і тканин в цілому.

Третє виражається в роздратуванні і збудженні живих тканин організму, що може супроводжуватися мимовільними судорожними скороченнями м'язів, зокрема м'язів серця і легенів. При цьому можуть виникнути різні порушення в організмі, включаючи порушення і навіть повне припинення діяльності серця і легенів, а також механічних пошкоджень тканин.

Будь-яка з цих дій струму може привести до електротравми. Електротравми поділяються на два види:

місцеві;

електроудари.

Електромагнітним випромінюванням називається випромінювання, прямо або що побічно викликає іонізацію середовища. Контакт з електромагнітним випромінюванням являє серйозну небезпеку для людини.

Спектр випромінювання комп'ютерного монітора включає рентгенівську, ультрафіолетову і інфрачервону області, а також широкий діапазон електромагнітних хвиль інших частот. В ряді експериментів було виявлено, що електромагнітні поля з частотою 60 Гц (що виникають навколо ліній електропередач, відеотерміналів і навіть внутрішньої електропроводки) можуть ініціювати біологічні зрушення (аж до порушення синтезу ДНК) в клітках тварин. На відміну від рентгенівських променів електромагнітні хвилі володіють незвичайною властивістю: небезпека їх дії зовсім не обов'язково зменшується при зниженні інтенсивності опромінювання, певні електромагнітні поля діють на клітини лише при малих інтенсивностях випромінювання або на конкретних частотах - в "вікнах прозорості”. Джерело високої напруги комп'ютера - рядковий трансформатор - поміщається в задній або бічній частині терміналу, рівень випромінювання з боку задньої панелі дисплея вищий, причому стінки корпусу не екранують випромінювання. Тому користувач повинен знаходитися не ближче чим на 1,2 м від задніх або бічних поверхонь сусідніх терміналів.

За наслідками вимірювання електромагнітних випромінювань встановлено, що максимальна напруженість електромагнітного поля на кожусі відеотерміналу складає 3.6 В\м, проте в місці знаходження оператора її величина відповідає фоновому рівню (0.2-0.5 В\м); градієнт електростатичного поля на відстані 0.5м менше 300 В\см є в межах допустимого.

На відстані 5 см від екрану ВТ інтенсивність електромагнітного випромінювання складає 28-64В\м залежно від типу приладу. Ці значення знижуються до 0.3-2.4 В\м на відстані 30 см від екрану (мінімальна відстань очей оператора до площини екрану).

Електризація - це комплекс фізичних і хімічних процесів, що приводять до розділення в просторі зарядів протилежних знаків або до накопичення зарядів одного знаку. ЕОМ може бути джерелом статичного струму. Електризується поверхня дисплея, при дотику до якого може виникнути електрична іскра. Шкідлива дія статичної електричної електрики позначається не тільки при безпосередньому контакті із зарядом, але і за рахунок дії еклектичного поля, що виникає навколо зарядженої поверхні.

Під дією статичних полів екрану монітора іони і частинки пилу набувають позитивного заряду і спрямовуються до найближчого заземленого предмету - зазвичай їм виявляється обличчя користувача, і результатом може стати висип, що не проходить. Проте за допомогою хорошого фільтру можна майже повністю звільнитися від статичних полів.

При статичній електризації напруга щодо землі досягає десятка, а іноді і сотень тисяч вольт. Значення струмів при цих явищах складають, як правило, долі мікроампера (0.0001-1мА). Людина починає відчувати струм величиною 0.6-1.5мА. По ГОСТ 12.1.038-82 напруга електричного струму не повинна перевищувати 42В в приміщеннях без підвищеної небезпеки, якими являються приміщення ВЦ.

6.2 Заходи щодо нормалізації робочої обстановки при роботі на комп'ютері

Оптимальні умови температури повітря при роботі за комп'ютером підтримуються кондиціонером.

Рівень шуму на робочому місці програмістів не повинен перевищувати 50дБ, а в залах обробки інформації на обчислювальних машинах - 65дБА. Для зниження рівня шуму - стіни і стеля приміщення, де встановлені комп'ютери, можуть бути обладнані звукопоглинальними матеріалами. Рівень вібрації в приміщеннях обчислювальних центрів може бути знижений шляхом установки устаткування на спеціальні ізолятори від вібрації.

Для визначення прийнятного рівня освітленості в приміщенні необхідно:

визначити потрібний для операторів рівень освітленості лицьових панелей дисплеїв зовнішніми джерелами світла;

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

між екраном і документом 1: 5 - 1: 10;

між екраном і поверхнею робочого столу 1: 5;

між екраном і клавіатурою, а також між клавіатурою і документом - не більше 1: 3;

між екраном і навколишніми поверхнями 1: 3 - 1: 10.

Місцеве освітлення на робочих місцях операторів забезпечується світильниками, що встановлюються безпосередньо на робочому столі, або на вертикальних панелях спеціального устаткування з вмонтованими в нього екранами відеотерміналів. Вони повинні мати відбивач, що не просвічує, і розташовуватися нижче або на рівні лінії зору операторів, щоб не викликати засліплення.

Якщо робоче місце знаходиться поряд з вікном, необхідно уникати того, щоб термінал був обернений у бік вікна. Його необхідно розташуватися під прямим кутом до нього, причому екран дисплея теж був перпендикулярний шибці (виключаються відблиски на екрані).

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

Стіна або яка-небудь інша поверхня позаду комп'ютера освітлена приблизно також, як і екран. Необхідно остерігатися дуже світлого або блискучого забарвлення на робочому місці - вона може стати джерелом несприятливих віддзеркалень.

Окрім освітленості, великий вплив на діяльність оператора впливає колір забарвлення приміщення і спектральні характеристики використовуваного світла. Згідно СНіП II-4-79 рекомендується, щоб стеля відображала 80-90%, стіни - 50-60%, підлога - 15-30% падаючого на них світла. До того ж колір володіє деякою психологічною фізіологічною дією. Наприклад, тони "теплої" гамми (червоний, оранжевий, жовтий) створюють враження бадьорості, збудження, зниження відчуття часу і відчуття тепла. "Холодні" тони (синій, зелений, фіолетовий) створюють враження спокою і викликають у людини відчуття прохолоди. Предмети і поверхні, забарвлені в "холодні" кольори, здаються менше, ніж забарвлені в "теплі" тони (при їх однаковій світлості) і як би віддаляються від того, що дивиться.

З обережністю слід застосовувати поєднання різних тонів, оскільки одночасне використання "теплих" і "холодних" тонів може викликати стан розгубленості і неспокою.

Незадовільне освітлення стомлює не тільки зір, але і викликає стомлення всього організму в цілому. Неправильне освітлення часто є причиною травматизму (погано освітлені небезпечні зони, сліпучі лампи і відблиски від них). Різкі тіні погіршують або викликають повну втрату орієнтації робочих, а також викликають втрату чутливості очних нервів, що приводить до різкого погіршення зору.

Освітленість на поверхні столу в зоні розміщення робочого документа повинна бути 300 - 500 лк. Освітлення не повинне створювати відблисків на поверхні екрану. Освітленість поверхні екрану не повинна перевищувати 300 лк.

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

Для освітлення приміщень з ПЕВМ слід застосовувати світильники з дзеркальною параболічною решіткою. Допускається використання багатолампових світильників з електромагнітними пускорегулюючими пристроями.

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

6.3 Пожежна безпека

Приміщення, де встановлені комп'ютери, відносяться до категорії В пожежної безпеки з третім ступенем вогнестійкості.

Пожежі на обчислювальних центрах являють особливу небезпеку, оскільки пов'язані з великими матеріальними втратами. Як відомо, пожежа може виникнути при взаємодії горючих речовин, окислювача і джерела запалення в різних непередбачуваних ситуаціях. У приміщеннях обчислювальних центрів присутні всі три чинники, необхідні для виникнення пожежі.

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

Особливістю сучасних ЕОМ є дуже висока щільність розташування елементів електронних схем, висока робоча температура процесора і мікросхем пам'яті. Отже, вентиляція і система охолодження в системному блоці комп'ютера повинні бути постійно в справному стані, оскільки інакше можливий перегрів елементів, що не виключає їх займання.

Надійна робота окремих елементів і електронних схем в цілому забезпечується тільки в певних інтервалах температури, вологості і при заданих електричних параметрах. При відхиленні реальних умов експлуатації від розрахункових, також можуть виникнути пожежонебезпечні ситуації.

Серйозну небезпеку представляють різні електроізоляційні матеріали. Широко вживані компаунди на основі епоксидних смол складаються з горючих смол, що виділяють при горінні задушливі гази. Материнські плати електронних пристроїв, а також плати всіх додаткових пристроїв ЕОМ виготовляють з гетинаксу або склотекстоліту. Пожежна небезпека цих ізоляційних матеріалів невелика, вони відносяться до групи важко запалювальних, і можуть займатися тільки при тривалій дії вогню і високої температури.

Оскільки в даному випадку при спалаху електропристрій може знаходитися під напругою, то використовувати воду і піну для гасіння по-жара неприпустимо, оскільки це може привести до електричних травм. Іншою причиною, по якій небажане використання води, є те, що на деякі елементи ЕОМ неприпустимо попадання вологи. Тому для гасіння пожеж в даному приміщенні можна використовувати або порошкові склади, або установки вуглекислотного гасіння. Але оскільки останні призначені тільки для гасіння невеликих вогнищ спалаху, то область їх застосування обмежена. Тому для гасіння пожеж в даному випадку застосовуються порошкові склади, оскільки вони володіють наступними властивостями: діелектрики, практично не токсичні, не надають корозійної дії на метали, не руйнують діелектричні лаки.

Установки порошкової пожежегасінні можуть бути як переносними, так і стаціонарними, причому стаціонарні можуть бути з ручним, дистанційним і автоматичним включенням.


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

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