Разработка системы автоматизации для малого коммерческого предприятия работающего в сфере информационных услуг
Цена, Дистрибутивы.Сопровождение AS Сопровождение FROM [ОсновныеСчета]
INNER JOIN Дистрибутивы ON ОсновныеСчета.КодСчета = Дистрибутивы.КодСчета
WHERE (((ОсновныеСчета.НомерСчета)=" & sing &
Forms![Просмотр]![ОсновныеСчета].Form![НомерСчета] & sing & "));"
Set rst = dbs.OpenRecordset(strSQL)
If Forms![Просмотр]![ОсновныеСчета].Form![ВнесениеВАО] = True And Разница =
0 Then
Msg = "Суммы по счету уже внесены в авансовый отчет." ' Сообщение.
Style = vbOKCancel + vbQuestion ' Кнопки.
Title = "Сообщение" ' Заголовок.
Response = MsgBox(Msg, Style, Title) ' Выводит сообщение.
If Response = vbOK Then ' Если нажата кнопка "Да" (Yes).
GoTo labelBegin
Else
Exit Sub
End If
End If
labelBegin:
Цена = 0
Сопровождение = 0
rst.MoveLast
j = rst.RecordCount
rst.MoveFirst
For i = 1 To j
Цена = rst![Цена] * 1.2 + Цена
Сопровождение = rst![Сопровождение] * 1.2 + Сопровождение
rst.MoveNext
Next i
Сумма = Цена + Сопровождение
Forms![Просмотр]![ОсновныеСчета].Form![ПоСчету] = Сумма
rst.Close
strSQL = "SELECT DISTINCTROW ОсновныеСчета.НомерСчета,
Платежки.СуммаПрихода As Цена, Платежки.ДатаВыписки As Дата FROM
[ОсновныеСчета] INNER JOIN Платежки ON ОсновныеСчета.КодСчета =
Платежки.КодСчета WHERE (((ОсновныеСчета.НомерСчета)=" & sing &
Forms![Просмотр]![ОсновныеСчета].Form![НомерСчета] & sing & "));"
Set rst = dbs.OpenRecordset(strSQL)
rst.MoveLast
Дата = rst![Дата]
j = rst.RecordCount
rst.MoveFirst
For i = 1 To j
ЦенаП = rst![Цена] + ЦенаП
rst.MoveNext
Next i
Forms![Просмотр]![ОсновныеСчета].Form![ПоПлатежке] = ЦенаП
rst.Close
If ЦенаП < Сумма Then
Msg = "Cумма по счету" & Chr(13) & "
- " & Сумма & "р." & Chr(13) & "Cуммы по платежкам " & Chr(13) & "
- " & ЦенаП & "р." & Chr(13) & "Cуммы
по платежкам меньше суммы по счета." ' Сообщение.
'Msg = "Cуммы по платежкам меньше суммы по счетам." & Chr(13) &
"Занести в авансовый отчет?" ' Сообщение.
Style = vbCancel + vbCritical ' Кнопки.
Title = "Предупреждение" ' Заголовок.
Response = MsgBox(Msg, Style, Title) ' Выводит сообщение.
Exit Sub
End If
If ЦенаП > Сумма Then
Msg = "Cумма по счету" & Chr(13) & "
- " & Сумма & "р." & Chr(13) & "Cуммы по платежкам " & Chr(13) & "
- " & ЦенаП & "р." & Chr(13) & "Cуммы
по платежкам больше суммы по счета." ' Сообщение.
'Msg = "Cуммы по платежкам больше суммы по счета." & Chr(13) &
"Занести в авансовый отчет?" ' Сообщение.
Style = vbOKCancel + vbCritical ' Кнопки.
Title = "Предупреждение" ' Заголовок.
Response = MsgBox(Msg, Style, Title) ' Выводит сообщение.
If Response = vbOK Then ' Если нажата кнопка "Да" (Yes).
flagБольше = True
Разница = ЦенаП - Сумма
GoTo labelOK
Else
Exit Sub
End If
End If
'ЦенаП_Р = ЦенаП
'Сумма_Р = Сумма
Msg = "Cумма по счету" & Chr(13) & "
- " & Сумма & "р." & Chr(13) & "Cуммы по платежкам " & Chr(13) & "
- " & ЦенаП & "р." & Chr(13) & "Суммы
совпадают." & Chr(13) & "Занести в авансовый отчет?" ' Сообщение.
Style = vbOKCancel + vbInformation ' Кнопки.
Title = "Сообщение" ' Заголовок.
Response = MsgBox(Msg, Style, Title) ' Выводит сообщение.
If Response = vbOK Then ' Если нажата кнопка "Да" (Yes).
Forms![Просмотр]![ОсновныеСчета].Form![Разница] = 0
GoTo labelOK
Else
Exit Sub
End If
labelOK:
Set rst = dbs.OpenRecordset("ДанныеДляАвансОтчета")
strSQL = "SELECT DISTINCTROW ОсновныеСчета.НомерСчета,
Дистрибутивы.КодСистемы, Дистрибутивы.Цена, Дистрибутивы.ТолькоИПС,
Дистрибутивы.Сопровождение, Дистрибутивы.КоличествоМ,
Дистрибутивы.Количество FROM [ОсновныеСчета] INNER JOIN Дистрибутивы ON
ОсновныеСчета.КодСчета = Дистрибутивы.КодСчета WHERE
(((ОсновныеСчета.НомерСчета)=" & sing &
Forms![Просмотр]![ОсновныеСчета].Form![НомерСчета] & sing & "));"
'"SELECT DISTINCTROW ОсновныеСчета.НомерСчета, Дистрибутивы.КодСистемы,
Дистрибутивы.Цена, Дистрибутивы.Сопровождение, Дистрибутивы.КоличествоМ,
Дистрибутивы.Количество FROM [ОсновныеСчета] INNER JOIN Дистрибутивы ON
ОсновныеСчета.НомерСчета = Дистрибутивы.НомерСчета WHERE
(((ОсновныеСчета.НомерСчета)=" &
Forms![Просмотр]![ОсновныеСчета].Form![НомерСчета] & "));"
Set rstПоCчету = dbs.OpenRecordset(strSQL)
Set rstПоАО = dbs.OpenRecordset("АвансовыйОтчет")
rstПоCчету.MoveLast
j = rstПоCчету.RecordCount
ДатаStore = Дата
Select Case Forms![Просмотр]![ОсновныеСчета].Form![Код]
Case 1, 3
Нал = False
Case 2
Нал = True
End Select
rstПоCчету.MoveFirst
'ОСНОВНОЙ ЦИКЛ
flagДата = False
For i = 1 To j
'Проверка для вторичного ИПС
If rstПоCчету![Цена] = 0 Then
If flagДата = False Then
GoTo ДатаОпределение
End If
Дата = ДатаStore
Set dbs = CurrentDb
strSQLTMP = "SELECT DISTINCTROW ДанныеДляАвансОтчета.Код,
ДанныеДляАвансОтчета.КодЗаказчика, ДанныеДляАвансОтчета.КодСистемы,
ДанныеДляАвансОтчета.КоличествоМС, Max(ДанныеДляАвансОтчета.ДатаПМС) AS
ДатаПМС FROM [ДанныеДляАвансОтчета] GROUP BY ДанныеДляАвансОтчета.Код,
ДанныеДляАвансОтчета.КодЗаказчика, ДанныеДляАвансОтчета.КодСистемы,
ДанныеДляАвансОтчета.КоличествоМС HAVING
(((ДанныеДляАвансОтчета.КодЗаказчика)=" & Forms![Просмотр]![КодЗаказчика] &
") AND ((ДанныеДляАвансОтчета.КодСистемы)=" & rstПоCчету![КодСистемы] & ")
AND ((ДанныеДляАвансОтчета.КоличествоМС)<>0));"
Set rstTMP2 = dbs.OpenRecordset(strSQLTMP)
If rstTMP2.RecordCount >= 1 Then
GoTo labelЕстьЗаписи
'Else
'MsgBox ("Записей Нет")
Exit Sub
End If
labelЕстьЗаписи:
rstTMP2.MoveLast
rstTMP2.Close
Дата:
ДатаTMP2 = Format(ДатаStore, "m yy")
If flagГолоеСопр = True Then 'Расписать если сопров голое
rst.AddNew
rst![КодЗаказчика] = Forms![Просмотр]![КодЗаказчика]
rst![КодСчета] = Forms![Просмотр]![ОсновныеСчета].Form![КодСчета]
rst![КодСистемы] = rstПоCчету![КодСистемы]
rst![ДатаПМС] = Format(ДатаTMP2, "m yy")
rst![КоличествоМС] = rstПоCчету![КоличествоМ]
rst![Нал] = Нал
Msg = "Заносим сопровождение " &
НазваниеСистемы(rstПоCчету![КодСистемы]) & " на " &
rstПоCчету![КоличествоМ] & " месяцев"
Style = vbOKCancel + vbInformation ' Кнопки.
Title = "Сообщение" ' Заголовок.
MsgBox Msg, Style, Title
rst.Update
rst.MoveLast
m = rstПоCчету![КоличествоМ]
For k = 1 To m
rstПоАО.AddNew
rstПоАО![ИдентКод] = rst![Код]
ЦенаСоп = rstПоCчету![Сопровождение] / m
rstПоАО![Сумма] = ЦенаСоп * 1.2
rstПоАО![Нал] = Нал
ДатаTMP = Format(ДатаПМС, "m yy")
rstПоАО![Месяц] = ДатаTMP
ДатаTMP = ДатаTMP + 32
ДатаПМС = ДатаTMP
rstПоАО.Update
Next k
GoTo labelnext
End If
'Сравнение с месяцем выписки
ДатаTMP2 = CDate(Format(ДатаStore, "m yy"))
If CDate(ДатаTMP2) 0 Then
rst.AddNew
rst![КодЗаказчика] = Forms![Просмотр]![КодЗаказчика]
rst![КодСчета] = Forms![Просмотр]![ОсновныеСчета].Form![КодСчета]
rst![КодСистемы] = rstПоCчету![КодСистемы]
rst![ДатаПМС] = Дата
rst![КоличествоМС] = 0
rst![Нал] = Нал
rst.Update
rst.MoveLast
rstПоАО.AddNew
rstПоАО![ИдентКод] = rst![Код]
rstПоАО![Сумма] = rstПоCчету![Цена] * 1.2
rstПоАО![Месяц] = Дата
rstПоАО![Нал] = Нал
Msg = "Заносим сумму реализации системы " &
НазваниеСистемы(rstПоCчету![КодСистемы]) & " на " & CurrentMWParam(Дата)
Style = vbOKOnly + vbInformation ' Кнопки.
Title = "Сообщение" ' Заголовок.
MsgBox Msg, Style, Title
rstПоАО.Update
End If
If rstПоCчету![Сопровождение] <> 0 Then
rst.AddNew
rst![КодЗаказчика] = Forms![Просмотр]![КодЗаказчика]
rst![КодСчета] = Forms![Просмотр]![ОсновныеСчета].Form![КодСчета]
rst![КодСистемы] = rstПоCчету![КодСистемы]
rst![ДатаПМС] = Дата
rst![КоличествоМС] = rstПоCчету![КоличествоМ]
rst![Нал] = Нал
Msg = "Заносим сопровождение " &
НазваниеСистемы(rstПоCчету![КодСистемы]) & " на " &
rstПоCчету![КоличествоМ] & " месяцев с " & CurrentMonthWParamWSuf(Дата)
Style = vbOKOnly + vbInformation ' Кнопки.
Title = "Сообщение" ' Заголовок.
MsgBox Msg, Style, Title
rst.Update
rst.MoveLast
m = rstПоCчету![КоличествоМ]
For k = 1 To m
rstПоАО.AddNew
rstПоАО![ИдентКод] = rst![Код]
ЦенаСоп = rstПоCчету![Сопровождение] / m
rstПоАО![Сумма] = ЦенаСоп * 1.2
rstПоАО![Нал] = Нал
If Format(Дата, "dd") < 20 Then
ДатаTMP = Format(Дата, "m yy")
rstПоАО![Месяц] = ДатаTMP
ДатаTMP = ДатаTMP + 32
Дата = ДатаTMP
rstПоАО.Update
Else
ДатаTMP = Format(Дата + 12, "m yy")
rstПоАО![Месяц] = ДатаTMP
ДатаTMP = ДатаTMP + 32
Дата = ДатаTMP
rstПоАО.Update
End If
Next k
End If
End If
labelnext:
rstПоCчету.MoveNext
Next i
Код = rst![КодСистемы]
rst.Close
rstПоCчету.Close
rstПоАО.Close
labelEnd:
Forms![Просмотр]![ОсновныеСчета].Form![ВнесениеВАО] = True
If flagБольше = True Then
Set rst = dbs.OpenRecordset("КредитАванс")
rst.AddNew
rst.[КодЗаказчика] = Forms![Просмотр]![КодЗаказчика]
rst![+или-] = Разница
rst![КодСистемы] = Код
rst![Месяц] = Дата
rst.Update
rst.Close
End If
Exit_Кнопка347_Click:
DoCmd.OpenTable "АвансовыйОтчет"
dbs.Close
Exit Sub
Err_Кнопка347_Click:
If Err.Number = 94 Then
MsgBox ("Задайте дату платежки")
Exit Sub
End If
If Err.Number = 3021 Then
DoCmd.OpenForm "Месяц2", , , , , acDialog
ДатаTMP3 = "01." & Forms![Месяц2]![Месяц] & "." &
Forms![Месяц2]![Год]
ДатаПМС = Format(ДатаTMP3, "m yy")
flagГолоеСопр = True
'ДатаTMP3 = Forms![Месяц2]![Месяц]
'ДатаПМС = Format(ДатаTMP3, "m yy")
Resume Дата
End If
If Err.Number = 424 Then
Resume labelEnd
End If
If Err.Number = 2113 Then
Resume labelBegin
End If
' Вначале, вычитаем константу, добавленную объектом, чтобы получить
' собственный код ошибки объекта.
MyError = Err.Number - vbObjectError
' Если после вычитания константы vbObjectError число по-прежнему
' попадает в диапазон 0 - 65535, то ошибка определена в объекте.
If MyError > 0 And MyError < 65535 Then
Msg = "Адресуемый объект присвоил ошибке следующий код : " _
& MyError & ". Источником ошибки является: " _
& Err.Source & ". Нажмите клавишу F1 для вывода справки."
' В противном случае ошибке соответствует код ошибки Visual Basic.
Else
Msg = "Эта ошибка (# " & Err.Number & ") имеет код ошибки Visual" & _
" Basic. Для вывода раздела справки Visual Basic нажмите" & _
" кнопку 'Справка' или клавишу F1."
End If
MsgBox Msg, , "Ошибка объекта", Err.HelpFile, Err.HelpContext
Err.Number = 0
Resume Exit_Кнопка347_Click
ДатаОпределение:
strSQLДата = "SELECT DISTINCTROW ДанныеДляАвансОтчета.КодЗаказчика,
ДанныеДляАвансОтчета.КодСчета, ДанныеДляАвансОтчета.КодСистемы,
ДанныеДляАвансОтчета.КоличествоМС, Max(АвансовыйОтчет.Месяц) AS Max_Месяц
FROM [ДанныеДляАвансОтчета] INNER JOIN [АвансовыйОтчет] ON
ДанныеДляАвансОтчета.Код = АвансовыйОтчет.ИдентКод GROUP BY
ДанныеДляАвансОтчета.КодЗаказчика, ДанныеДляАвансОтчета.КодСчета,
ДанныеДляАвансОтчета.КодСистемы, ДанныеДляАвансОтчета.КоличествоМС HAVING
(((ДанныеДляАвансОтчета.КодЗаказчика)=" & Forms![Просмотр]![КодЗаказчика] &
") AND ((ДанныеДляАвансОтчета.КодСистемы)=" & rstПоCчету![КодСистемы] & ")
AND ((ДанныеДляАвансОтчета.КоличествоМС)<>0));"
Set rstПоДате = dbs.OpenRecordset(strSQLДата)
rstПоДате.MoveLast
ДатаПМС = rstПоДате![Max_Месяц]
flagДата = True
rstПоДате.Close
GoTo Дата
End Sub
3) Просмотр информации по счетам и системам выбранного заказчика.
Private Sub Счет_Click()
Dim rst, rstTMP As Recordset
Dim dbs As Database
Dim i, j As Integer
Dim strSQL As String
Dim Дата As Date
Set dbs = CurrentDb
strSQL = "SELECT DISTINCTROW Заказчики.КодЗаказчика,
ОсновныеСчета.НомерСчета, ОсновныеСчета.ОплатаСчета,
ОсновныеСчета.ДатаСчета, ОсновныеСчета.СрокДействияСчета,
Дистрибутивы.КодСистемы, Дистрибутивы.Код, Дистрибутивы.КоличествоМ,
Дистрибутивы.Цена, Дистрибутивы.Сопровождение, Дистрибутивы.Скидки,
Дистрибутивы.СкидкиС, Дистрибутивы.СпецвупыскИлиНет FROM ([Заказчики] INNER
JOIN [ОсновныеСчета] ON Заказчики.КодЗаказчика =
ОсновныеСчета.КодЗаказчика) INNER JOIN Дистрибутивы ON
ОсновныеСчета.КодСчета = Дистрибутивы.КодСчета WHERE
(((Заказчики.КодЗаказчика)=" & Me![КодЗаказчика] & "));"
Set rst = dbs.OpenRecordset(strSQL)
Set rstTMP = dbs.OpenRecordset("ИнфоПоСистемамЗаказчика")
Do Until rstTMP.EOF
rstTMP.Delete
rstTMP.MoveNext
Loop
If rst.RecordCount = 0 Then
MsgBox ("Нет счетов на данную организацию")
rstTMP.Close
rst.Close
dbs.Close
Me.Refresh
Exit Sub
End If
rst.MoveLast
j = rst.RecordCount
rst.MoveFirst
For i = 1 To j
rstTMP.AddNew
rstTMP![КодСистемы] = НазваниеСистемы(rst![КодСистемы])
rstTMP![ПоСчету] = rst![НомерСчета]
If rst![Код] = 1 Then
rstTMP![Тип] = "Локальная"
Else
rstTMP![Тип] = "Сетевая"
End If
rstTMP![ДатаС] = CurrentDateWParam(rst![ДатаСчета])
rstTMP![Цена] = rst![Цена]
rstTMP![Сопр] = rst![Сопровождение]
rstTMP![Скид] = rst![Скидки]
rstTMP![СкидС] = rst![СкидкиС]
rstTMP![ДейстПо] = rst![СрокДействияСчета]
rstTMP![Спец] = rst![СпецвупыскИлиНет]
rstTMP![Кво] = rst![КоличествоМ]
rstTMP![Оплата] = rst![ОплатаСчета]
rst.MoveNext
rstTMP.Update
Next i
Me![ИнфоПоОрганСистемы].Form.Visible = -1
Me![ИнфоПоОрганизSub].Form.Visible = 0
rstTMP.Close
rst.Close
dbs.Close
Me.Refresh
End Sub
Private Sub Сист_Click()
On Error GoTo Err_Кнопка6_Click
Dim rst, rstTMP, rstTMP2 As Recordset
Dim rstTMP3 As Recordset
Dim rstTMP4 As Recordset
Dim rstTMP5 As Recordset
Dim dbs As Database
Dim i, j As Integer
Dim strSQL, strSQLTMP, strSQLTMP3 As String
Dim strSQLTMP2 As String
Dim Дата As Date
DoCmd.Hourglass True
Set dbs = CurrentDb
strSQL = "SELECT DISTINCTROW ДанныеДляАвансОтчета.КодЗаказчика,
ДанныеДляАвансОтчета.КодСистемы FROM [ДанныеДляАвансОтчета] WHERE
(((ДанныеДляАвансОтчета.КодЗаказчика)=" & Me![КодЗаказчика] & ") AND
((ДанныеДляАвансОтчета.КоличествоМС)<>0));"
Set rst = dbs.OpenRecordset(strSQL)
Set rstTMP4 = dbs.OpenRecordset("ИнфоПоСистемамЗаказчика")
Do Until rstTMP4.EOF
rstTMP4.Delete
rstTMP4.MoveNext
Loop
If rst.RecordCount = 0 Then
' MsgBox ("Не сопровождается")
rst.Close
Me![ИнфоПоОрганизSub].Form.Visible = -1
Me![ИнфоПоОрганСистемы].Form.Visible = 0
'инфо по 1996 году
strSQLTMP2 = "SELECT DISTINCTROW АвансПоОстаткамС1996Года.Заказчик,
АвансПоОстаткамС1996Года.Месяц, АвансПоОстаткамС1996Года.Сумма FROM
АвансПоОстаткамС1996Года WHERE (((АвансПоОстаткамС1996Года.Заказчик)=" &
Me![КодЗаказчика] & "));"
Set rstTMP5 = dbs.OpenRecordset(strSQLTMP2)
rstTMP4.AddNew
rstTMP5.MoveFirst
rstTMP4![Дата1С1996] = CurrentMWParam(rstTMP5![Месяц])
rstTMP5.MoveLast
rstTMP4![Дата2С1996] = rstTMP5![Месяц]
rstTMP5.Close
rstTMP4.Update
Me.Refresh
rstTMP4.Close
dbs.Close
DoCmd.Hourglass False
Exit Sub
End If
rst.MoveLast
j = rst.RecordCount
rst.MoveFirst
For i = 1 To j
rstTMP4.AddNew
rstTMP4![КодСистемы] = НазваниеСистемы(rst![КодСистемы])
strSQLTMP = "SELECT DISTINCTROW Заказчики.Организация,
ДанныеДляАвансОтчета.КодСистемы, АвансовыйОтчет.Месяц,
ДанныеДляАвансОтчета.КоличествоМС, Заказчики.КодЗаказчика,
ДанныеДляАвансОтчета.КодСчета, ОсновныеСчета.НомерСчета AS НС,
АвансовыйОтчет.ИдентКод, Дистрибутивы.СкидкиС, ОсновныеСчета.ДатаСчета"
strSQLTMP = strSQLTMP & " FROM (([ОсновныеСчета] INNER JOIN
([Заказчики] INNER JOIN [ДанныеДляАвансОтчета] ON (Заказчики.КодЗаказчика =
ДанныеДляАвансОтчета.КодЗаказчика) AND (Заказчики.КодЗаказчика =
ДанныеДляАвансОтчета.КодЗаказчика)) ON (Заказчики.КодЗаказчика =
ОсновныеСчета.КодЗаказчика) AND (ОсновныеСчета.КодСчета =
ДанныеДляАвансОтчета.КодСчета)) INNER JOIN [АвансовыйОтчет] ON
ДанныеДляАвансОтчета.Код = АвансовыйОтчет.ИдентКод) INNER JOIN Дистрибутивы
ON ОсновныеСчета.КодСчета = Дистрибутивы.КодСчета"
strSQLTMP = strSQLTMP & " GROUP BY Заказчики.Организация,
ДанныеДляАвансОтчета.КодСистемы, АвансовыйОтчет.Месяц,
ДанныеДляАвансОтчета.КоличествоМС, Заказчики.КодЗаказчика,
ДанныеДляАвансОтчета.КодСчета, ОсновныеСчета.НомерСчета,
АвансовыйОтчет.ИдентКод, Дистрибутивы.СкидкиС, ОсновныеСчета.ДатаСчета"
strSQLTMP = strSQLTMP & " HAVING (((ДанныеДляАвансОтчета.КодСистемы)="
& rst![КодСистемы] & ") AND ((ДанныеДляАвансОтчета.КоличествоМС)<>0) AND
((Заказчики.КодЗаказчика)=" & Me![КодЗаказчика] & "));"
Set rstTMP2 = dbs.OpenRecordset(strSQLTMP)
Дата = Format(rstTMP2![Месяц], "m yy")
rstTMP4![ДатаС] = Дата
rstTMP2.MoveLast
Дата = Format(rstTMP2![Месяц], "m yy")
rstTMP4![ДейстПо] = Дата
rstTMP4![ПоСчету] = rstTMP2![НС]
rstTMP4![ДатаСчСопр] = CurrentDateWParam(rstTMP2![ДатаСчета])
rstTMP4![СкидС] = rstTMP2![СкидкиС]
'Запрос по системам
strSQLTMP = "SELECT DISTINCTROW Заказчики.КодЗаказчика,
Заказчики.Организация, ОсновныеСчета.НомерСчета, ОсновныеСчета.ДатаСчета,
ОсновныеСчета.ДатаУстановки, Дистрибутивы.КодСистемы, Дистрибутивы.Код,
Дистрибутивы.СпецвупыскИлиНет, Дистрибутивы.Скидки, Дистрибутивы.Цена,
Дистрибутивы.НомерДистрибутива"
strSQLTMP = strSQLTMP & " FROM ([Заказчики] INNER JOIN [ОсновныеСчета]
ON Заказчики.КодЗаказчика = ОсновныеСчета.КодЗаказчика) INNER JOIN
Дистрибутивы ON ОсновныеСчета.КодСчета = Дистрибутивы.КодСчета"
strSQLTMP = strSQLTMP & " WHERE (((Заказчики.КодЗаказчика)=" &
Me![КодЗаказчика] & ") AND ((Дистрибутивы.КодСистемы)=" & rst![КодСистемы]
& ") AND ((Дистрибутивы.Цена)<>0));"
Set rstTMP3 = dbs.OpenRecordset(strSQLTMP)
rstTMP4![ПоСчетуПок] = rstTMP3![НомерСчета]
rstTMP4![ДатСчПок] = CurrentDateWParam(rstTMP3![ДатаСчета])
rstTMP4![Рег] = rstTMP3![НомерДистрибутива]
rstTMP4![Скид] = rstTMP3![Скидки]
rstTMP4![Спец] = rstTMP3![СпецвупыскИлиНет]
If rstTMP3![Код] = 1 Then
rstTMP4![Тип] = "Локальная"
Else
rstTMP4![Тип] = "Сетевая"
End If
labelnext:
strSQLTMP2 = "SELECT DISTINCTROW АвансПоОстаткамС1996Года.Заказчик,
АвансПоОстаткамС1996Года.Месяц, АвансПоОстаткамС1996Года.Сумма FROM
АвансПоОстаткамС1996Года WHERE (((АвансПоОстаткамС1996Года.Заказчик)=" &
Me![КодЗаказчика] & "));"
Set rstTMP5 = dbs.OpenRecordset(strSQLTMP2)
If rstTMP5.RecordCount > 0 Then
rstTMP5.MoveFirst
rstTMP4![Дата1С1996] = CurrentMWParam(rstTMP5![Месяц])
rstTMP5.MoveLast
rstTMP4![Дата2С1996] = CurrentMWParam(rstTMP5![Месяц])
rstTMP5.Close
rstTMP4.Update
rst.MoveNext
rstTMP2.Close
rstTMP3.Close
Else
rstTMP5.Close
rstTMP2.Close
rstTMP3.Close
End If
Next i
rstTMP4.Close
rst.Close
dbs.Close
Me.Refresh
Exit_Кнопка6_Click:
Me.Refresh
Me![ИнфоПоОрганизSub].Form.Visible = -1
Me![ИнфоПоОрганСистемы].Form.Visible = 0
DoCmd.Hourglass False
Exit Sub
Err_Кнопка6_Click:
If Err.Number = 3021 Then
'MsgBox ("Нет данных по этой организации")
Resume labelnext:
'Resume Exit_Кнопка6_Click
'MsgBox Err.Description
End If
MsgBox ("Нет данных по этой организации")
Me![ИнфоПоОрганизSub].Form.Visible = 0
Me![ИнфоПоОрганСистемы].Form.Visible = 0
MsgBox Err.Number
Resume Exit_Кнопка6_Click
DoCmd.Hourglass False
End Sub
Задание по организационно – экономической части к дипломному проекту.
Тема: «Технико-экономическое обоснование проекта. Расчет сметы
затрат и цены на ПП. Оценка конкурентоспособности разработки»
1. Календарный график.
В силу того, что данная разработка относится к НИР, которая не
является комплексом работ высокой сложности и в ее выполнении не участвуют
большое количество исполнителей, в данном случае для реализации работ
выбран календарный график.
|N |Наименование|Исполнители |Длительность работы |
|п/п |работ | | |
| | | |Сент. |окт.|ноя|Декабрь|Январь |
| | | | | |брь| | |
|1 |Разработка |Начальник | | | | | |
| |технического|отдела, |20 | | | | |
| |задания |менеджер | | | | | |
|2 |Подбор |Системный | | | | | |
| |литературы |программист,|15 | | | | |
| | |программист | | | | | |
|3 |Рабочее |Системный | | | | | |
| |проектирован|программист,| |25 | | | |
| |ие |программист | | | | | |
|4 |Отладка и |Системный | | | | | |
| |тестирование|программист,| | |55 | | |
| | |программист | | | | | |
|5 |Обобщение и |Системный | | | | | |
| |оценка |программист,| | | | |30 |
| |результатов |программист,| | | | | |
| | |менеджер | | | | | |
|6 |Сдача темы |Начальник | | | | | |
| | |отдела, | | | | |5 |
| | |менеджер | | | | | |
2. Расчет сметы.
При составлении сметы затрат на НИР учитываются:
- стоимость материалов, покупных полуфабрикатов и изделий,
- основная заработная плата,
- дополнительная заработная плата,
- отчисления на социальные нужды,
- накладные расходы,
- затраты на машинное время.
2.1. Определения затрат на материалы, покупные изделия и
полуфабрикаты.
|Наименование |Единица |Количество |Цена за |Стоимость |
| |измерения | |единицу, | |
| | | |руб. | |
|1. Литература|Шт. |6 |60.000 |360.000 |
|2. НЖМД |Пачка. |4 |40.000 |160.000 |
|(дискеты) | | | | |
|3. Канцтовары|Шт. | | |50.000 |
|4. Бумага(А4)|Пачка |3 |5.000 |15.000 |
|Итого: | | | |585.000 |
Транспортные расходы учитываются здесь же и состовляют 5% итоговой
суммы, т.е. 29.250 р.
Затраты на материалы и покупные изделия равны:
Зм = 585.000 + 29.250 = 614.250 руб.
2.2. Основная заработная плата.
К этой статье относится заработная плата научных сотрудников,
программистов, лаборантов, рабочих , непосредственно связанных с
выполнением НИР, а также зарплата сотрудников внештатного состава,
привлекаемых к разработке и выполнению НИР
|Должность |Заработная плата в |Стоимость одного |
| |месяц, руб. |рабочего дня, руб. |
|Начальник отдела |2.300.000 |115.000 |
|Системный программист|1.200.000 |60.000 |
|Программист |1.000.000 |50.000 |
|Менеджер |1.900.000 |95.000 |
Таблица расчета основной заработной платы.
|N |Наименование |Исполнитель|Трудоем-|Зарплата |Сумма, |
|п/п |этапа НИР | |кость |за 1 день,|руб. |
| | | | |руб. | |
|1 |Разработка |Начальник |20 |115.000 |2,300,000 |
| |технического |отдела, | |95.000 |1,900,000 |
| |задания |менеджер | | | |
|2 |Подбор |Системный |15 |60.000 |900,000 |
| |литературы |программист| |50.000 |750,000 |
| | |, | | | |
| | |программист| | | |
|3 |Рабочее |Системный |25 |60.000 |1,500,000 |
| |проектирование |программист| |50.000 |1,250,000 |
| | |, | | | |
| | |программист| | | |
|4 |Отладка и |Системный |55 |60.000 |3,300,000 |
| |тестирование |программист| |50.000 |2,750,000 |
| | |, | | | |
| | |программист| | | |
|5 |Обобщенеи и |Системный |30 |60.000 |1,800,000 |
| |оценка |программист| |50.000 |1,500,000 |
| |результатов |, | | | |
| | |программист| | | |
| | |, менеджер | | | |
|6 |Сдача темы |Начальник |5 |115.000 |575,000 |
| | |отдела, | |95.000 |475,000 |
| | |менеджер | | | |
|7 |Итого |19,000,000|
2.3. Дополнительная заработная плата.
На эту статью относятся выплаты, предусмотренные законодательством за
неотработанное рабочее время. Размер дополнительной заработной платы
сотрудников, непосредственно
выполняющий НИР, определяется в процентах от основной. В научных
учереждениях она составляет 10-12% от основной заработной платы.
Здоп = Зосн * 0,12 = 2,280,000 руб.
2.4. Отчисления на социальные нужды.
На эту статью относятся отчисления на оплату перерывов в работе по
временной нетрудоспособности. Отчисления на социальные нужды составляют 40%
от величины основной заработной платы.
В отчисления на социальные нужды входят:
- отчисления на медицинское страхование:
- в городской бюджет – 0,2%
- в федеральный бюджет – 3,4%
- отчисления в фонд занятости – 1,5%;
- отчисления в пенсионный фонд - 29%;
- отчисления на социальное страхование – 5,4%;
- транспортный налог - 1%;
- отчисления на в фонд образования – 1%;
Зсн = Зосн * 0.415 = 7,600,000 руб.
2.5. Накладные расходы.
Накладные расходы в учреждении, где выполняется данная НИР составляют
120% от суммы основной и дополнительной заработной платы.
Зн = (Зосн + Здоп) * 1.2 = 25,536,000 руб.
2.6. Стоимость машинного времени.
Для отладки программы, численных расчетов и построения графиков
необходимо 50 дней. В среднем программист работает 6 часов в день,
себестоимость одного часа машинного времени около 3000 руб.
Змаш = 3000 * 6 * 50 = 900,000 руб.
Итоговая таблица сметы затрат.
|N |Наименование статьи расходов |Сумма, руб. |
|п/п | | |
|1 |Стоимость материалов, покупных |614,250 |
| |полуфабрикатов и изделий. | |
|2 |Основная заработная плата. |19,000,000 |
|3 |Дополнительная заработная плата. |2,280,000 |
|4 |Отчисления на социальные нужды. |7,600,000 |
|5 |Накладные расходы. |25,536,000 |
|6 |Стоимость машинного времени. |900,000 |
| |Итого |55,930,250 |
2.7. Цена программного продукта.
Цена, определяется себестоимостью и прибылью, которая в свою очередь
составляет 30% от ФОТ.
Ц = 55.930.250 + 0,3 * 21,280,000 = 62,314,250 руб.
3. Оценка экономической эффективности.
Данная НИР относится к базам данных в области бухгалтерского учета.
Поэтому количественную оценку эффективности целесообразно производить путем
оценки конкурентоспособности данного программного продукта. Для этого
возьмем подобную программу и определим параметры обоих товаров путем
сравнения. Рассчитаем и оценим коэффициент конкурентоспособности.
| |Частота регистраций |
| |Обьем |Быстродействие|Аппаратная |Дизайн|Сервис|
| |памяти | |независимость| | |
|Нащ |0,81 |0,93 |0,85 |0,87 |0,89 |
|программный | | | | | |
|продукт | | | | | |
|Конкутентный|0,62 |0,84 |0,86 |0,78 |0,81 |
|программный | | | | | |
|продукт | | | | | |
Рассчитаем коэффициент конкурентоспособности.
Представляемый программный продукт превосходит по конкурентоспособности
предоставленный образец и, следовательно, можно сделать вывод, что он будут
представлять достаточно большой интерес в своей области, связанной с
проектированием баз данных.
Задание по охране труда и техника безопасности.
Тема: «Разработать мероприятия по охране труда на рабочем месте
пользователя.»
1. Введение.
Охрана труда - система законодательных актов, постановлений,
организационных, санитарных, технических мер, обеспечивающих безопасные
для здоровья условия труда на рабочем месте. Научно-технический
прогресс внес изменения в условия производственной деятельности работников
умственного труда. Их труд стал более интенсивным, напряженным, требующим
затрат умственной, эмоциональной и физической энергии.
Это имеет прямое отношение и к специалистам, связанным с
проектированием, разработкой, эксплуатацией, сопровождением и
модернизацией автоматизированных систем управления различного назначения.
На рабочем месте пользователя должны быть созданы условия для
высокопроизводительного труда. В настоящее время все большее применение
находят автоматизированные рабочие места ИТР, которые оснащаются
персональной ЭВМ и графическим дисплеем, клавиатурой и принте
ром.
2. Анализ условий труда пользователя.
Помещение, в котором находится рабочее место пользователя, имеет
следующие характеристики:
- длина помещения: 9 м;
- ширина помещения: 7 м;
- высота помещения: 3.5 м;
- число окон: 3;
- число рабочих мест: 6;
- освещение: искусственное;
- число вычислительной техники: 5.
На рабочем месте пользователь подвергается воздействию следующих
факторов, которые могут привести к неблагоприятным последствиям:
- недостаточное освещение;
- шум от работающих машин;
- облучение от экрана дисплея;
- выделение избытков теплоты.
Кроме того, в помещение могут попадать частички пыли.
3. Постановка задачи.
На основе анализа условий труда пользователя разрабатываются
различные средства защиты от факторов, влияющих на пользователя в
процессе работы, такие как: ограничение длительности работ, вентиляция,
искусственное освещение, звукоизоляция. Имеются нормативы, определяющие
комфортные условия и предельно допустимые нормы запыленности,
температуры воздуха, шума, освещенности. В данной дипломной работе,
согласно заданию, рассчитаем освещение и выберем систему вентиляции.
4. Расчет вентиляции.
4.1. Анализ микроклимата.
Необходимым условием жизнедеятельности человека является поддержка
постоянства температуры тела, благодаря свойству терморегуляции, т.е.
свойству организма регулировать отдачу тепла в окружающую среду. Поэтому
большое значение имеет микроклимат в помещении, где работает инженер-
программист. Метеорологические условия на производстве определяются
следующими параметрами:
1) температурой воздуха t( C);
2) относительной влажностью (%);
3) скоростью движения воздуха на рабочем месте,V(м/с).
Основной принцип нормирования микроклимата - создание оптимальных
условий для теплообмена тела человека с окружающей средой. Выделяемая
организмом человека теплота должна отводиться в окружающую среду.
Соответствие между количеством этой теплоты и охлаждающей способностью
среды характеризует ее как комфортную. В условиях комфорта у человека не
возникает беспокоящих его температурных ощущений холода или перегрева. В
"Общих санитарно-гигиенических требованиях к воздуху рабочей зоны" (ГОСТ
12.1.005-88) установлены оптимальные и допустимые параметры микроклимата в
зависимости от времени года, категории работ и рабочих мест (постоянных и
непостоянных). Параметры микроклимата приведены табл. 1.
Таблица 1. Параметры микроклимата.
|Период |Категория |Зона |Тмпера-ту|Относит. |Скорость |
|года |работ | |ра, °C |влажность, % |движения, |
| | | | | |м/с |
|холдн. |Легкая |оптим. |22-24 |40-60 |0.1 |
| | |доп. |25-18 |75 |<0.1 |
|теплый |Легкая |оптим. |23-25 |40-60 |0.1 |
| | |доп. |28-22 |55 |0.1-0.2 |
В настоящее время для обеспечения комфортных условий используются как
организационные методы, так и технические средства, среди которых
вентиляция воздуха.
4.2. Определение потребного воздухообмена.
Влага выделяется в результате испарения со свободной поверхности воды
и влажных поверхностей материалов и кожи, в результате дыхания людей и
т.д. Количество влаги, выделяемое людьми, г/ч, определяется по формуле:
W=n*w (1.)
где n - число людей, n = 6 человек;
w - количество влаги, выделяемое одним человеком, г/ч,
w = 84 г/ч при t = 22С [1].
По формуле (1.) получаем:
W = 6 * 84 = 504 (г/ч)
Теперь можно определить потребный воздухообмен, который
определяется по формуле:
[pic] (2.)
где W - количество водяного пара, выделяющегося в помещении, г/ч, W
= 504 г/ч;
D, d - влагосодержание вытяжного и приточного воздуха, г/кг,
определяется по температуре и относительной влажности воздуха;
p - плотность приточного воздуха, р = 1.2 кг/ м;
d = 10 г/кг при температуре рабочей зоны 22 С;
D = 16 г/кг -принимается равным предельно допустимому, т.е. при
tр.з.=26 С , =75 %. Таким образом расход воздуха (по формуле (2.)) равен :
[pic]
Теперь проведем расчет выделений тепла.
Тепловыделения от людей зависят от тяжести работы, температуры и
скорости движения окружающего воздуха. Считается, что женщина выделяет
85% тепловыделений взрослого мужчины. В расчетах используется явное тепло,
т. е. тепло воздействующее на изменение температуры воздуха в помещении.
Тепловыделения от людей :
Qл = n * q , (3.)
где n - количество людей в помещении, 5 мужчин и 1 женщина;
q - удельная теплота , выделяемая человеком (явное тепло при t = 22 С
), Вт ; q = 68 Вт [1];
По формуле (3.) получаем:
Qл = 5 * 68 + 1 * 0.85 * 68 = 397.80 Вт.
Расчет тепла, поступающего в помещение от солнечной радиации Qост
производится по формуле:
Qост = Fост * qост * Aост , (4.)
где Fост - площадь поверхности остекления,м ,
Fост= 9 м ;
qост - тепловыделения от солнечной радиации, Вт/м, через 1 м
поверхности остекления (с учетом ориентации по сторонам света), qост = 150
Вт/м [4], т.е окна с двойным остеклением с металлическими переплетами;
Aост - коэффициент учета характера остекления, Aост=1.15 (двойное
остекление в одной раме).
Подставив все полученные значения в формулу (4.), получим:
Qост = 9 * 150 * 1.15 = 1552,5 Вт.
Расчет тепловыделений от источников искусственного освещения Qосв, Вт,
производится по формуле:
Qосв = N * * 1000 , (5.)
где N - суммарная мощность источников освещения, кВт,
N= 2 * 6 * 0.08 = 0.960 кВт где 0.08 кВт - мощность одной лампы, а всего
в помещении 6 светильников по 2 лампы в каждом;
- коэффициент тепловых потерь, = 0.55 для люминес-
центных ламп.
По формуле (5.) имеем:
Qосв = 0.96 * 0.55 * 1000 = 528 Вт.
Для расчета тепловыделений от устройств вычислительной техники
используется формула (5.) с коэффициентом тепловых потерь равном =
0.5. В помещении стоят 5 компьютеров типа IBM PC AT с мощностью 63.5 Вт
источника питания.Тогда :
Qвт = 5 * 0.0635 * 0.5 * 1000 = 158.75 Вт.
Таким образом, в помещении выделяется всего избыточного тепла:
Qизб = Qл + Qост + Qосв + Qвт = 2637.05 Вт.
При открытии дверей и окон естественный расход тепла:
Qрасх = 0.1 * Qизб = 263.705 (Вт). (6.)
По формуле (7.) посчитаем объем вентилируемого воздуха для теплого
времени года:
[pic] (7.)
где Qизб - теплоизбытки, Qизб = 2637.05 Вт;
Ср - массовая удельная теплоемкость воздуха,
Ср = 1000 Дж/(кг* С);
р - плотность приточного воздуха, р = 1.2 кг/м ;
tуд, tпр - температуры удаляемого и приточного воздуха, С;
Температура удаляемого воздуха определяется по формуле:
tуд = tрз + а * (Н - 2),
где tрз = 22 С;
а - нарастание температуры воздуха на каждый 1 м высоты, С/м,
а =0.5 С/м;
Н - высота помещения, Н = 3.5 м.
Следовательно, tуд = 22 + 0.5 * (3.5 - 2) = 23 С.
Температура приточного воздуха tпр при наличии избытков тепла должна
быть на 5 С ниже температуры воздуха в рабочей зоне, поэтому tпр = 17 С.
Подставив полученные значения в формулу (7.) найдем:
[pic]
При одновременном выделении тепла и влаги сравниваются
соответствующие воздухообмены, потребные для их удаления, и выбирается
наибольший. Поскольку Gт= 1318 м /ч,а G = 70 м /ч,то систему вентиляции
будем проектировать для воздухообмена Gвент = 1318.5 м /ч.
5. Проектирование системы вентиляции.
Исходными данными для расчета размера воздуховода являются расход
воздуха (Gвент = 1318.5 м /ч) и допустимые скорости его движения в
помещении (v = 9 м/с). Потребная площадь воздуховода f, м определяется
по формуле:
[pic] (8.)
Для дальнейших расчетов (при определении сопротивления сети,
подборе вентилятора и электродвигателя) площадь воздуховода принимается
равной ближайшей большей стандартной величине, т. е. f = 0.0614 м [1].
В промышленных зданиях рекомендуется использовать круглые металлические
воздуховоды. Тогда расчет сечения воздуховода заключается в определении
диаметра трубы. По справочнику находим, что для площади f = 0.0614
м условный диаметр воздуховода d = 280 мм [1].
Определим потери давления в вентиляционной сети. При расчете сети
необходимо учесть потери давления в вентиляционном оборудовании.
Естественным давлением в системах механической вентиляции пренебрегают.
Для обеспечения запаса вентилятор должен создавать в воздуховодах
избыточное давление, превышающее не менее чем на 10% расчетное
давление. Для расчета сопротивления участка сети используется формула:
[pic]
где R - удельные потери давления на трение на участке
сети, R =3.2 Па/м;
l - длина участка воздуховода, м, l = 3 м;
- сумма коэффициентов местных потерь на участке воздуховода,
1.1 - для колена, 1.4 - для прямого участка; v - скорость воздуха на
участке воздуховода, 9 м/с;
р - плотность воздуха( принимаем р = 1.2 кг/м ).
Значения R,v, определяются по справочнику (R - по значению диаметра
воздуховода на участке d = 280 мм, в зависимости от типа местного
сопротивления)[1]. Результаты расчета воздуховода и сопротивления сети
приведены в табл. 2.
Таблица 2. Расчет воздуховода и сопротивления сети.
|G, |l, |v, |d, |v*p/2 |R, |R*I, | | |P, |
|(м/ч) |(м) |(м/с) |(мм) |Па |Па/м |Па | |Па |Па |
|1318 |3 |9 |280 |48.60 |3.2 |9.6 |2.5 |121.5 |131.1 |
Требуемое давление, создаваемое вентилятором, с учетом запаса на
непредвиденное сопротивление в сети в размере 10 % составит:
Ртр = 1.1 * Рmax = 1.1 * 131.1 = 144.21 (Па) (10.)
В вентиляционных установках применяют вентиляторы низкого давления
(до 1 кПа) и среднего давления (от 1 до 3 кПа). В сетях с малым
сопротивлением до 200 Па применяют осевые вентиляторы. Вентиляторы
подбирают по аэродинамическим характеристикам, т.е. зависимостям между
полным давлением (Ртр, Па), создаваемым вентилятором, и
произволительностью (Gтр, м /ч).
С учетом возможных дополнительных потерь или подсоса воздуха в
воздуховодах потребная производительность вентилятора увеличивается на 10
%, поэтому:
Gтр = 1.1 * Gвент = 1.1 * 1318.3 = 1450.35 (м /ч)(11)
По справочным данным [2] определяем необходимый вентилятор и
электродвигатель: вентилятор О6-300 (N4), КПД вентилятора h = 0.65.
Мощность электродвигателя (N, кВт) рассчитывается по формуле:
[pic] (12.)
где h - КПД вентилятора и ременной передачи.
[pic]
Выберем по рассчитанному значению мощности электродвигатель
4АА63В4У2 с мощностью 0.37 кВт.
Задание по гражданской обороне.
Тема: «Оценка устойчивости дисплейного зала к воздействию
ионизирующего излучения.»
1. Введение.
Гражданская оборона (ГО) представляет собой общегосударственную
систему мероприятий, осуществляющую защиту населения и народного хозяйства
государства в чрезвычайных ситуациях мирного и военного времени,
обеспечивающих повышение устойчивости работы отраслей экономики, проведение
АСИДНР при ликвидации последствий стихийных бедствий, аварий и катастроф.
Руководство осуществляется МЧС. Рабочим органом управления комитета
является штаб войск ГО и 9 региональных центров, которые находятся в
Москве, Санкт-Петербурге, Ростове на Дону, Самаре, Екатеринбурге,
Новороссийске, Красноярске, Чите и Хабаровске.
В целом ГО строится по территориально-производственному принципу,
т.е. органы управления ГО создаются исполнительными властями по территориям
(края, области) и по линии безопасности управления (министерства,
ведомства).
ГО России предназначено для решения трех групп задач:
- защита населения в чрезвычайных ситуациях мирного и военного
времени;
- повышение устойчивости работы отраслей экономики в чрезвычайных
ситуациях;
- организация и проведение АСИДНР при ликвидации последствий
чрезвычайных ситуаций.
ГО Москвы имеет, кроме того, следующие задачи:
- организация первоочередного жизнеобеспечения пострадавшего
населения;
- проведение профилактических мероприятий для уменьшения риска
возникновения промышленных аварий и катастроф;
- всеобщее обязательное обучение населения основам ГО;
- создания и подготовка органов управления (систем связи, оповещения,
пунктов управления и т.п.).
На ГО возлагается:
- осуществление мероприятий по защите рабочих и служащих в
чрезвычайных ситуациях;
- проведение мероприятий, повышающих устойчивость работы объектов в
чрезвычайных ситуациях;
- обеспечение непрерывного управлениями службами и формированиями ГО;
- создание, оснащение, подготовка сил ГО объектов и поддержание их в
постоянной готовности;
- всеобщее обязательное обучение рабочих и служащих мерам защиты при
чрезвычайных ситуациях;
- обеспечение защиты продовольствия и источников водоснабжения от
радиоактивного, химического и бактериологического заражения;
- проведение аварийно - спасательных и других неотложных работ в
очагах поражения.
К учреждениям ГО относятся:
- медицинские учреждения (больницы, поликлиники, здравпункты,
диспансеры, санатории и т.п.);
- ветеринарные лаборатории и учреждения;
- химические лаборатории;
- комплексные пункты опорной сети наблюдения и лабораторного
контроля, включая сеть экологического мониторинга;
Для организации и проведения мероприятий по защите объектов и
ликвидации последствий применения противником оружия массового поражения
необходимы знания поражающего действия ядерного оружия.
Поражающее действие ядерного взрыва определяется механическим
воздействием ударной волны, тепловым воздействием светового излучения,
радиационным воздействием поникающей радиации и радиоактивного заражения,
а также электромагнитным излучением (электромагнитным импульсом).
Первичные действия поражающих факторов могут привести к возникновению
пожаров, взрывов. При этом образуются вторичные очаги поражения.
Распределение энергии между поражающими факторами ядерного взрыва
зависит от вида взрыва и условий, в которых он происходит. При взрыве в
атмосфере примерно 50% энергии взрыва расходуется на образование ударной
волны, 30 - 40% - на световое излучение, до 5% - на проникающую радиацию
и электромагнитный импульс и до 15% - на радиоактивное заражение.
Действие поражающих факторов ядерного взрыва на людей и объекты
происходит не одновременно и различается по длительности воздействия,
характеру и масштабам поражения.
2. Постановка задачи.
Задача данного этапа дипломного проектирования - оценка устойчивости
дисплейного зала к воздействию ионизирующего излучения. Зададимся исходными
данными для задачи.
Описание дисплейного класса:
- дисплейный класс находится на втором этаже здания института;
- дисплейный класс рассчитан на 20 ЭВМ типа Intel Pentium-100 с
мониторами типа Samsung 15GA;
- дисплейный класс дополнительно имеет внутреннее покрытие из дерева
рассчитанное на погашение внешних наводок и наводок от электросети.
Для проверки устойчивости дисплейного зала к воздействию ионизирующего
излучения зададимся параметрами ядерного взрыва:
- мощность взрыва равна 1000 Кт;
- диапазон оцениваемых расстояний от 500 до 3500 м.
2.1. Оценка поражающих факторов проникающей радиации.
При оценке воздействия поражающих факторов ядерного взрыва на
дисплейный класс достаточно оценить степень воздействия на один характерный
элемент дисплейного класса (ЭВМ), и затем применить полученные выводы на
дисплейный класс в общем.
Проникающая радиация ядерного взрыва при воздействии на ЭВМ
способна значительно ухудшить ее работоспособность или вывести ЭВМ из
строя.
Радиация ядерного взрыва представляет собой гамма-излучение и поток
нейтронов, испускаемых в окружающую среду из зоны ядерного взрыва.
Время действия проникающей радиации не превышает 10-15 секунд с
момента взрыва. Основными параметрами, характеризующими проникающую
радиацию, является доза и мощность излучения, потоки плотность потока
частиц. Ионизирующая способность гамма-излучения характеризуется
экспозиционной дозой излучения.
Распространяясь в среде, гамма-излучение и поток нейтронов
ионизируют ее атомы и изменяют физическую структуру вещества. Проникающая
радиация может вызвать обратимые и необратимые изменения в материалах,
элементах электротехнической, оптической, и другой аппаратуры, входящей в
состав ЭВМ.
Необратимые изменения вызываются нарушениями структуры
кристаллической решетки вещества вследствие возникновения дефектов. В
результате радиационного захвата нейтронов возможно образование примесей
радиоактивных веществ. В процессе распада, образовавшихся радиоактивных
ядер происходит радиационное излучение, которое может оказывать воздействие
на электрические параметры элементов и схем ЭВМ, а также затруднять ремонт
и эксплуатацию аппаратуры. Наиболее опасными по вторичному излучению
являются изделия, изготовленные из материалов, содержащих марганец,
кадмий, индий. Таким образом, необратимые изменения в компонентах ЭВМ
приведут к ее отказу, и для восстановления ее работоспособности потребуется
ремонт.
Обратимые изменения являются следствием ионизации материала и
окружающей среды. Они проявляются в увеличении числа носителей тока, что
приводит к возрастанию токов утечки, снижению сопротивления изоляции,
полупроводников, поводящих материалов, а на макро уровне - к сбоям в работе
ЭВМ.
Обратимые изменения в материалах, элементах и аппаратуре в целом
могут возникать при мощности экспозиционных доз от 1000 Р/с.
Гамма-излучение делится на захватное, осколочное и мгновенное.
Мгновенное гамма-излучение образуется в момент деления ядер урана или
плутония в течении десятых долей микросекунды. Мгновенное гамма-излучение
является главным источником высокой мощности экспозиционной дозы гамма-
излучения, однако, его роль в накоплении общей экспозиционной дозы очень
мала.
При ядерном взрыве воздействие нейтронного импульса на объект
происходит несколько позднее импульсного гамма-излучения, причем задержка
во времени, как и длительность самого импульса, зависит от расстояния до
центра взрыва. Этот факт имеет существенное значение при проектировании
аппаратуры, поскольку задачи исследования стойкости подразделяются на
отдельные задачи исследования гамма-излучения и воздействия нейтронного
излучения.
3.2. Расчет факторов проникающей радиации.
Мощность взрыва принимаем равную 1000 Кт.
1. Мощность поглощенной дозы, [P/c].
[pic], где [pic] - мощность взрыва, Кт.
2. Поглощенная доза излучения, [р.]. [pic]
3. Поток нейтронов, [1/м].
[pic].
При расчетах также необходимо учитывать, что все ЭВМ в дисплейном
классе, как правило, находится в здании института и, следовательно, степень
воздействия всех факторов проникающей радиации снижается примерно на
порядок.
Результаты расчетов для всех вышеперечисленных факторов проникающей
радиации сведены в табл. 1.1.
Таблица 1.1.
|Факторы|Радиус, м |
| |500 |1000 |1500 |2000 |2500 |3000 |3500 |
|P, P/с |3.1[pic]|6.7[pic]|2.5[pic]|1.1[pic]|600 |34 |2 |
| |108 |106 |105 |104 | | | |
|D, P |2.0[pic]|9.8[pic]|8.5[pic]|930 |120 |17 |3 |
| |106 |104 |103 | | | | |
|[pic] |2.0[pic]|3.9[pic]|1.2[pic]|5.0[pic]|2.3[pic]|1.2[pic]|6.0[pic]|
|н/м |1018 |1016 |1015 |1013 |1012 |1011 |109 |
Учитывая, что наименее стойким элементом ЭВМ являются микросхемы,
количество которых определяется типом ЭВМ и составляет 30 - 50 единиц, для
которых предельные значения равны соответственно:
[pic]=10 н/м; D=1000 P; P=1000 P/с, получаем, что на расстоянии более
2500 метров от взрыва проникающая радиация ЯВ не повлияет на
работоспособность ЭВМ. Необратимые изменения в микросхемах под воздействием
проникающей радиации будут возникать, если ЭВМ будет находиться на
расстоянии менее 1500 метров от центра взрыва.
4. Выводы.
В целом защита ЭВМ от воздействия проникающей радиации может быть в
первую очередь достигнута за счет размещения в помещении, обеспечивающем
снижение дозы проникающей радиации в 500 - 1000 раз, и использования
экранов из тяжелых металлов и перекрытий из бетонных плит толщиной 1 - 1,5
м и более.
4.1. Предложения по обеспечению устойчивости дисплейного зала к
воздействию ионизирующего излучения
Следовательно, надежность работы ЭВМ в условиях воздействия
проникающей радиации ядерного взрыва будет повышена, если будут приняты
следующие меры:
- наиболее важные узлы ЭВМ будут укрыты защитным слоем материала и
перегородок, не пропускающего радиацию и тепло. Наиболее хорошо поглощают
радиацию тяжелые материалы, например металлы (бетон, железные плиты и др.);
- конструкционные элементы ЭВМ будут изготовлены из такого типа
материалов, которые наименее всего подверчены воздействию излучения и
тепла. Т.к. изменить элементарную базу довольно сложно, то можно предложить
создание схем, малокритичных к изменениям электрических параметров
элементов, компенсирующих и отводящих дополнительные токи, выключающие
отдельные блоки и элементы на период воздействия ионизирующего излучения;
- в электрических схемах увеличить расстояния между элементами,
находящимися под электрической нагрузкой, снизить рабочее напряжение на
них;
- элементы, являющиеся наиболее важными при функционировании, должны
быть защищены с помощью различных заливок, не проводящих ток при облучении.
5. Список используемой литературы.
1. В.Г.Атаманюк, Л.Г.Ширшев, Н.И.Акимов “Гражданская оборона”, Москва,
Высшая школа, 1986 г.
2. Л.Г.Ширшев “Ионизирующее излучение и электроника”, Москва, 1969 г.
3. Радиационная стойкость материалов радиотехнических конструкций,
Справочник, Москва, 1976 г.
4. Методические указания к практическим работам по курсу “Гражданская
оборона” под редакцией Л.Г.Ширшева, Москва, 1981г.
Задание по эргономике.
Тема: «Применение эргономики при проектировании, разработке и
внедрения систем автоматизации деятельности предприятия».
1. Введение.
С развитием экономики возрастает объем взаимосвязанных данных,
необходимых для решения коммерческих и административных задач.
Взаимосвязанные данные называют информационной системой. Такая система в
первую очередь призвана облегчить труд человека, но для этого она должна
как можно лучше соответствовать очень сложной модели реального мира. Для
воссоздания моделей бизнес-процессов предприятия служат информационные
системы, называемые системами автоматизации предприятия.
Для разработки систем автоматизации на предприятии создается структурное
подразделение – обычно это отдел автоматизации. До последнего времени в
составе отдела автоматизации главенствующую роль играли технические
специалисты – программисты, проектировщики, технические консультанты.
Однако развитие компьютерного рынка, кункуренция и все большее усложнение
самих систем автоматизации – породили необходимость в специалистах самых
различных областей:
. художников-дизайнеров – для оформления интерфейса пользователей
. финансистов-консультантов – для более глубокого исследования бизнес-
процессов предприятия
. менеджеров – для организации работы групп разработчиков систем
автоматизации
. специалистов по эргономике – для исследования потребительских свойств
разрабатываемой системы, а также для проектирования наиболее удобного
интерфейса пользователя
. психологов – для анализа процесса внедрения системы автоматизации, а
также для непосредственной помощи пользователям адаптироваться к новым
условиях работы.
В данной работе мы рассмотрим требования, предъявляемые специалистами по
эргономики при разработке систем автоматизации предприятий.
2. Влияние эргономики при проектировании реляционной базы данных.
Система автоматизации представляет собой прежде всего реляционную базу
данных – хранилище данных предприятия. Первым этапом разработки проекта
является проектирование реляционной базы данных. На данном этапе
составляются бизнес-схемы процессов предприятия, анализируется аппаратное и
программное обеспечение необходимое для разработки системы, проводится
планирование разработки интерфейса пользователей. Разработчики систем
автоматизации предприятия при работе на данном этапе должны учитывать
следующие эргономические особенности:
Соответствие аппаратных и программных средств, применяемых для работы,
нуждам сотрудников предприятия. От данного соответствия во многом будет
зависеть эффективность системы управления.
Скорость отклика системы. Время ожидания пользователем при работе с
системой должно быть минимальным. В ряде случаев при проектировании
реляционных баз данных приходится отказаться от идеализированных моделей в
пользу гибкости и скорости работы. Чаще всего ускорение работы системы
связано с увеличением размера программы.
Достаточность данных. Реляционная база данных должна содержать все
необходимые пользователю данные. В случае недостатка данных пользователь
будет вынужден использовать вспомогательные средства для фиксации
информации (например бумажные носители для записей или калькулятор для
дополнительных вычислений). В ряде случаев недостаточность данных может
привести к неправильному использованию системы или даже заставить
пользователя отказаться от использования системы.
Масштабируемость системы. При проектировании реляционной базы данных
необходимо предусмотреть модификацию и наращиваемость базы данных в
процессе внедрения и эксплуатации системы. В большинстве случаев уже в
период создания системы автоматизации бизнес процессы предприятия
претерпевают изменения. Таким образом, разработчики должны быть готовы к
пересмотру схемы базы данных во время написания системы автоматизации.
Отсутствие механизмов масштабируемости приводит к быстрому устареванию
системы.
Открытость системы. Большинство современных систем управления
представляют собой открытые системы. Это означает способность расширения
системы за счет подключения модулей сторонних разработчиков и
дополнительного аппаратного и программного обеспечения. Например, возможно
понадобиться использование контрольно-кассовых машин, счетчиков банкнот или
детекторов скан-кода. В любом случае данные возможности помогут
пользователю взаимодействовать с системой и значительно увеличат
производительность его работы.
Необходимо отметить, что хотя на этапе проектирования вопросам эргономики
уделяется меньшее значение, чем во время других этапов, разработчикам
необходимо обратить внимание на перечисленные выше эргономические
особенности. Следование данным советам поможет создать систему
автоматизации, максимально приспособленную для работы в реальных условиях
бизнес процессов предприятия.
3. Влияние эргономики при создании интерфейса пользователя.
Эргономика интерфейса пользователя является одним из наиболее важных
аспектов системы автоматизации предприятия. Прежде, чем начинать
разрабатывать интерфейс пользователя необходимо ознакомиться с действиями
пользователя, проанализировать механизмы работы и при необходимости
усовершенствовать их. От качества интерфейса и его эргономических
характеристик будет зависеть в дальнейшем судьба системы автоматизации. Во
многих случаях приходилось занова переписывать интерфейс пользователя из-за
небрежного отношения разработчиков к нуждам конечного потребителя.
Перечислим основные эргономические особенности интерфейса пользователя,
используемые в современных программах:
Использование стандартных средств разработки и средств RAD (средства
быстрой разработки программ). Большинство конечных пользователей не желают
“изобретать велосипед”, поэтому при разработке пользовательского интерфейса
необходимо ориентироваться на известные программные продукты,
присутствующие на рынке. В этом случае пользователю будет легче разобраться
в интерфейсе, и возможно он даже сможет самостоятельно усовершенствовать
программу в соответствии со своими нуждами.
Использование графического интерфейса. При создании системы автоматизации
необходимо ориентироваться на операционные системы с графическим
интерфейсом пользователя (Windows, OS/2, OSMac и т.п.). Системы с текстовым
вводом (например MS-DOS) являются устаревшими и не предназначены для
разработки интерфейса пользователя.
Использование средств обучения и самообучения пользователя. Хорошая
система автоматизации должна обладать не менее хорошей системой помощи.
Использование контекстно-зависимой помощи, гипертекстовые ссылки,
руководство пользователя, ярлыки-подсказки – все это является «правилами
хорошего тона» при реализации интерфейса пользователя.
Использование средств «психологической разгрузки пользователя». На
сегодняшний день компьютер является не только хорошим помощником, но и
сильным стрессовым раздражителем. Поэтому при проектировании современного
интерфейса необходимо использовать некоторые приемы «психологической
разгрузки пользователя»:
Длительное ожидание выполнения каких-либо действий всегда должно
сопровождается надписью (например «Идет выполнение операции. Подождите…»).
Также необходимо использовать строки загрузки, которые позволяют наглядно
представить какой объем информации уже обработан и какой объем еще
предстоит обработать. Данные средства позволяют сгладить эффект
«длительного ожидания» у пользователя.
При работе необходимо использовать строки повседневного общения. Это
позволит снять напряжение от работы, а также развлечет пользователя.
Например, при выходе из программы можно использовать сообщение вида
«Действительно уходите? До свидания. Надеемся вы к нам еще загляните…».
Использование анимации и видео желательно, однако не следует слишком
перегружать программу данными элементами. Данные элементы не только могут
являться причиной более медленной работы программы, но и отвлекать
(раздражать) пользователя.
Использование современных элементов управления. Такие элементы управления
как «закладки», «деревья», «ползунки» и т.п. – помогут пользователю легко
управлять даже самыми сложными данными.
Использование «индивидуального» интерфейса. Одно из основных преимуществ
правильно созданной системы управления предприятием – наличие
индивидуального интерфейса пользователя. Именно этим отличается она от
широко распространненых программ автоматизации бухучета для малых
предприятий. При создании интерфейса пользователя разработчикам необходимо
учитывать особенности человека, работающего за конкретным рабочим местом и
методы его работы. Иногда для двух разных людей, выполняющих одну и ту же
работу приходится создавать два разных интерфейса пользователя. Такие
высокие «накладные расходы» при разработке интерфейса с лихвой окупятся
предприятию при использовании системы автоматизации.
4. Внедрение и его влияние на эргономические свойства проекта.
После окончания этапов проектирования и разработки наступает этап
внедрения системы автоматизации предприятия. На данном этапе проводятся
доработки пользовательского интерфейса и отладка системы. Как правило
основные изменения, вносимые на данном этапе в программу касаются прежде
всего эргономических свойств проекта. Этап внедрения подобен покупке новой
обуви – должно пройти некоторое время для того, что бы «расходить»
программу. Часто оказывается, что на этапе разработки интерфейса
пользователь и разработчики неправильно поняли друг друга в результате чего
на этапе внедрения приходится находить компромис. Важно понимать, что
данный компромис должен устраивать пользователя и помогать ему в работе.
5. Заключение.
В любой организации, как большой, так и маленькой, возникает проблема
такой организации управления данными, которая обеспечила бы наиболее
эффективную работу. Небольшие организации используют для этого шкафы с
папками, однако крупные корпоративные предприятия используют
компьютеризированные системы автоматизации, позволяющие эффективно хранить,
извлекать информацию и управлять большими объемами данных.
Темпы внедрения новых технологий в компьютерной отрасли вызывают
изумление. Компании, конкурирующие за рынки и прибыли, стремятся
моментально реализовать технические новшества в аппаратных средствах,
программном обеспечении и парадигмах вычислений, стимулирующих развитие
всей технологии управления информацией. Однако для успешной реализации
крупных систем управления требуся применить нестандартный подход,
творческое решение. Использование основ эргономики при проектировании,
реализации и внедрении системы управления позволит решить многие
«психологические» и «технологические» проблемы предприятий.
Список литературы.
1. Р.Ахаян и др. «Эффективная работа с СУБД», Санкт-Петербург, «Питер»,
1997г.
2. «Проектирование и разработка систем автоматизации предприятий».
3. «Database Unleashed», Indianapolis USA, «SAMS Publishing», 1996г.
-----------------------
[pic]
[pic]
[pic]
[pic]
[pic]
Страницы: 1, 2, 3, 4, 5, 6
|