Смекни!
smekni.com

Автоматизированный учет радиоточек передающего центра (стр. 14 из 15)

Затраты на его приобретение окупятся в первый год использования. Внедрение нового ПС позволит пользователю сэкономить на текущих затратах. Для пользователя в качестве экономического эффекта выступает лишь чистая прибыль, которая остается в его распоряжении.

Таким образом, разработка конкурентоспособна и может быть использована на предприятиях связи.


Литература

1. В.В. Брага, А.А. Левкин Компьютерные технологии в бухгалтерском учете на базе автоматизированных систем. М.: Финстатинформ, 2001 г., 218с.

2. Глушаков С.В. Базы данных. М.: Фолио АСТ, 2002 г., 493 с.

3. Microsoft Access 97. Шаг за шагом: Практ. Пособ./Пер. с англ. –М.: Издательство ЭКОМ, 2000. – 328с.

4. Маклаков С.В. «BPwin и Erwin CASE средства разработки информационных систем» - М.: издательство «Диалог-Мифи», 2001. – 304 с.

5. Вендров А.М. «Практикум по проектированию программного обеспечения экономических информационных систем: Учебное пособие» - М.: издательство «Финансы и статистика», 2002. – 192 с.

6. ГОСТ 12.1.003-83. ССБТ. Шум. Общие требования безопасности.

7. ГОСТ 12.1.005-88. ССБТ. Общие санитарно-гигиенические требования к воздуху рабочей зоны.

8. ГОСТ 12.1.012-90.ССБТ. Вибрационная безопасность. Общие требования.

9. СанПиН 9-131 РБ 2000.

10. ГОСТ 12.2.032-78. ССБТ. Рабочее место при выполнении работ сидя.

11. ГОСТ 12.1.030-81. ССБТ.

12. ГОСТ 6825-91. Лампы люминесцентные трубчатые для общего освещения.

13. ОНТП 24-8б. Определение категорий помещений и зданий по взрывопожарной и пожарной опасности. — М.: ВНИИПО МВД СССР, 1988.

14. СНБ 2.04.05-98. Естественное и искусственное освещение.

15. СНиП 2.04.05-91.

16. СН 9-86 РБ-98

17. НПБ 5-2000

18. СанПиН 2.2.1.13-5-2006 «Гигиенические требования к проектированию, содержанию и эксплуатации производственных предприятий»

19. Челноков А.А. Охрана труда: учеб. пособие. - Мн.: Выш. шк., 2007

20. СНиП 2.2.1.13-5-2006


Приложение А Логическая модель (уровень сущностей)


Приложение Б Логическая модель (уровень ключей)


Приложение В Логическая модель (уровень атрибутов)


Приложение Г Физическая модель данных


Приложение Д Текст программы

- Модуль 1

Option Compare Database

Option Explicit

Public Otch_Per_Pr As Date

Public date_n, date_k As Date

Public vbr As Integer

Public lngX As Long

Function Oplata_aut()

On Error GoTo Oplata_aut_Err

DoCmd.SetWarnings False

Расчет оплаты по месячно перед переходом на следующий месяц

удаляем за данный период

DoCmd.RunSQL "DELETE DISTINCTROW Oplata_auto.*, Oplata_auto.Data_nach FROM Oplata_auto WHERE (((Oplata_auto.Data_nach)>[Forms]![Кнопочная форма]![Otch_per]));"

Подставляем сальдо на начало года как начисление 1 раз

DoCmd.RunSQL "INSERT INTO Oplata_auto ( Abon_opl, Data_nach, Sum_nach ) SELECT DISTINCTROW Partner.CODE, #12/31/2001# AS d1, Abs([Sum_saldo]) AS n FROM Partner INNER JOIN Saldo ON Partner.CODE = Saldo.Code_Ab WHERE (((Saldo.Sum_saldo)<0) AND ((Saldo.Mes)=#1/1/2002#));"

DoCmd.RunSQL "UPDATE DISTINCTROW Oplata_auto SET Oplata_auto.Sum_nach_perv = [Sum_nach];"

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

DoCmd.OpenQuery "a0_1", acNormal, acEdit

DoCmd.OpenQuery "a0_2", acNormal, acEdit

DoCmd.OpenQuery "a0_3", acNormal, acEdit

Сохраняем в Backup

DoCmd.RunSQL "DELETE Oplata_backup.* FROM Oplata_backup;"

DoCmd.RunSQL "INSERT INTO Oplata_backup SELECT Oplata_auto.* FROM Oplata_auto;"

DoCmd.OpenQuery "a1_1", acNormal, acEdit

DoCmd.OpenQuery "a1_2", acNormal, acEdit

DoCmd.OpenQuery "a2_1", acNormal, acEdit

DoCmd.OpenQuery "a2_2", acNormal, acEdit

DoCmd.OpenQuery "a2_3", acNormal, acEdit

DoCmd.OpenQuery "a2_4", acNormal, acEdit

DoCmd.OpenQuery "a3_1", acNormal, acEdit

DoCmd.OpenQuery "a3_2", acNormal, acEdit

DoCmd.OpenQuery "a3_3", acNormal, acEdit

DoCmd.OpenQuery "a3_4", acNormal, acEdit

DoCmd.OpenQuery "a3_5", acNormal, acEdit

DoCmd.OpenQuery "_mes_opl", acNormal, acEdit 'Группировка месяц

DoCmd.OpenQuery "a4_1", acNormal, acEdit 'sort!!!

DoCmd.OpenQuery "a4_2", acNormal, acEdit

DoCmd.OpenQuery "a4_3", acNormal, acEdit

DoCmd.OpenQuery "a4_4", acNormal, acEdit

Удаляем из tempa

DoCmd.RunSQL "DELETE DISTINCTROW [_temp].* FROM _temp;"

Oplata_aut_Exit:

Exit Function

Oplata_aut_Err:

MsgBox Error$

Resume Oplata_aut_Exit

End Function

Function Saldo_new()

On Error GoTo Saldo_new_Err

DoCmd.SetWarnings False

'Расчет сальдо перед переходом на следующий месяц

DoCmd.OpenQuery "Z_Udal_Saldo", acNormal, acEdit

DoCmd.OpenQuery "R_Saldo_new", acNormal, acEdit

Saldo_new_Exit:

Exit Function

Saldo_new_Err:

MsgBox Error$

Resume Saldo_new_Exit

End Function

Function Rashet_nachisl()

On Error GoTo Rashet_nachisl_Err

DoCmd.SetWarnings False

DoCmd.OpenQuery "R_nach_ud", acNormal, acEdit

DoCmd.OpenQuery "R_nach", acNormal, acEdit

DoCmd.OpenQuery "R_nach_7", acNormal, acEdit

treb_begin

Rashet_nachisl_Exit:

Exit Function

Rashet_nachisl_Err:

MsgBox Error$

Resume Rashet_nachisl_Exit

End Function

Function Pech_reestr()

On Error GoTo Pech_reestr_Err

vbr = 2

DoCmd.OpenForm "Требования", acFormDS, "", "", acEdit, acNormal

Pech_reestr_Exit:

Exit Function

Pech_reestr_Err:

MsgBox Error$

Resume Pech_reestr_Exit

End Function

Function Pech_reestr_in()

On Error GoTo Pech_reestr_in_Err

vbr = 3

DoCmd.OpenForm "Требования", acFormDS, "", "", acEdit, acNormal

Pech_reestr_in_Exit:

Exit Function

Pech_reestr_in_Err:

MsgBox Error$

Resume Pech_reestr_in_Exit

End Function

'------------------------------------------------------------

' Требования

'

'------------------------------------------------------------

Function Pech_treb()

On Error GoTo Pech_treb_Err

vbr = 1

DoCmd.OpenForm "Требования", acFormDS, "", "", acEdit, acNormal

Pech_treb_Exit:

Exit Function

Pech_treb_Err:

MsgBox Error$

Resume Pech_treb_Exit

End Function

Function Pech_kol_usl()

On Error GoTo Pech_kol_usl_Err

DoCmd.SetWarnings False

DoCmd.RunSQL "DELETE DISTINCTROW SCHET.* FROM SCHET;"

DoCmd.OpenQuery "Z_Uslugi_vid_1", acNormal, acEdit

DoCmd.OpenQuery "Z_Uslugi_vid_2", acNormal, acEdit

DoCmd.OpenQuery "Z_Uslugi_vid_3", acNormal, acEdit

DoCmd.RunSQL "UPDATE DISTINCTROW abon_sys SET abon_sys.CODE = 5;"

run_exe

Pech_kol_usl_Exit:

Exit Function

Pech_kol_usl_Err:

MsgBox Error$

Resume Pech_kol_usl_Exit

End Function

Function Open_Dialog(stArg_d As String)

On Error GoTo Open_Dialog_Err

' DoCmd.SetWarnings False

DoCmd.OpenForm "Диалог", acNormal, "", "", acEdit, acNormal, stArg_d

Open_Dialog_Exit:

Exit Function

Open_Dialog_Err:

MsgBox Error$

Resume Open_Dialog_Exit

End Function

Function Open_Data_dialog() '(stArg_d As String)

On Error GoTo Open_Data_dialog_Err

' DoCmd.SetWarnings False

DoCmd.OpenForm "Ввод даты", acNormal, "", "", acEdit, acNormal ', stArg_d

Open_Data_dialog_Exit:

Exit Function

Open_Data_dialog_Err:

MsgBox Error$

Resume Open_Data_dialog_Exit

End Function

Function run_exe()

On Error GoTo Err_run_exe

Dim stAppName As String

stAppName = "C:&bsol;Abon&bsol;ABON_ORG.EXE"

Call Shell(stAppName, 3)

Exit_run_exe:

Exit Function

Err_run_exe:

MsgBox Err.Description

Resume Exit_run_exe

End Function

Function Откр_форму(Name_form As String)

On Error GoTo Откр_форму_Err

DoCmd.OpenForm Name_form, acFormDS, "", "", acEdit, acNormal

Откр_форму_Exit:

Exit Function

Откр_форму_Err:

MsgBox Error$

Resume Откр_форму_Exit

End Function

'------------------------------------------------------------

' Переход_Back

'

'------------------------------------------------------------

Function Переход_Back() '(Name_form As Form)

On Error GoTo Переход_Back_Err

Dim Dat_N As Date, Dat_T As Date

Dat_T = DateSerial(Year(DLookup("DateValue (Запись)", "Системная", "Код = 1")), Month(DLookup("DateValue (Запись)", "Системная", "Код = 1")), Day(DLookup("DateValue (Запись)", "Системная", "Код = 1")))

Dat_N = DateSerial(Year(DLookup("DateValue (Запись)", "Системная", "Код = 1")), Month(DLookup("DateValue (Запись)", "Системная", "Код = 1")) - 1, Day(DLookup("DateValue (Запись)", "Системная", "Код = 1")))

If MsgBox("Текущий отчетный период" & Chr(13) & Chr(10) & _

Format(Dat_T, "mmmm yyyy") & Chr(13) & Chr(10) & _

"Следующий - " & Format(Dat_N, "mmmm yyyy") & Chr(13) & Chr(10) & _

"Будете переходить?", vbYesNo + vbInformation + vbDefaultButton1) = vbYes Then

Forms![Кнопочная форма]![Otch_per] = Dat_N

Otch_Per_Pr = Dat_N

DoCmd.SetWarnings False

DoCmd.RunSQL "UPDATE DISTINCTROW Системная SET Системная.Запись = '" & Dat_N & "' WHERE (((Системная.Код)=1));"

Dat_N = DateSerial(Year(Otch_Per_Pr), Month(Otch_Per_Pr) - 1, Day(Otch_Per_Pr))

DoCmd.RunSQL "UPDATE DISTINCTROW Системная SET Системная.Запись = '" & Dat_N & "' WHERE (((Системная.Код)=2));"

Dat_N = DateSerial(Year(Otch_Per_Pr), Month(Otch_Per_Pr) + 1, Day(Otch_Per_Pr))

DoCmd.RunSQL "UPDATE DISTINCTROW Системная SET Системная.Запись = '" & Dat_N & "' WHERE (((Системная.Код)=3));"

DoCmd.RunSQL "DELETE Oplata_auto.* FROM Oplata_auto;"

DoCmd.RunSQL "INSERT INTO Oplata_auto SELECT Oplata_backup.* FROM Oplata_backup;"

End If

Переход_Back_Exit:

Exit Function

Переход_Back_Err:

MsgBox Error$

Resume Переход_Back_Exit

End Function

'------------------------------------------------------------

' Переход_New

'

'------------------------------------------------------------

Function Переход_New() '(Name_form As Form)

On Error GoTo Переход_New_Err

Dim Dat_N As Date, Dat_T As Date

Dat_T = DateSerial(Year(DLookup("DateValue (Запись)", "Системная", "Код = 1")), Month(DLookup("DateValue (Запись)", "Системная", "Код = 1")), Day(DLookup("DateValue (Запись)", "Системная", "Код = 1")))

Dat_N = DateSerial(Year(DLookup("DateValue (Запись)", "Системная", "Код = 1")), Month(DLookup("DateValue (Запись)", "Системная", "Код = 1")) + 1, Day(DLookup("DateValue (Запись)", "Системная", "Код = 1")))

If MsgBox("Текущий отчетный период" & Chr(13) & Chr(10) & _

Format(Dat_T, "mmmm yyyy") & Chr(13) & Chr(10) & _

"Следующий - " & Format(Dat_N, "mmmm yyyy") & Chr(13) & Chr(10) & _

"Будете переходить?", vbYesNo + vbInformation + vbDefaultButton1) = vbYes Then

'LineNew:

Oplata_aut

Saldo_new

Forms![Кнопочная форма]![Otch_per] = Dat_N

Otch_Per_Pr = Dat_N

DoCmd.SetWarnings False

DoCmd.RunSQL "UPDATE DISTINCTROW Системная SET Системная.Запись = '" & Dat_N & "' WHERE (((Системная.Код)=1));"

Dat_N = DateSerial(Year(Otch_Per_Pr), Month(Otch_Per_Pr) - 1, Day(Otch_Per_Pr))

DoCmd.RunSQL "UPDATE DISTINCTROW Системная SET Системная.Запись = '" & Dat_N & "' WHERE (((Системная.Код)=2));"

Dat_N = DateSerial(Year(Otch_Per_Pr), Month(Otch_Per_Pr) + 1, Day(Otch_Per_Pr))

DoCmd.RunSQL "UPDATE DISTINCTROW Системная SET Системная.Запись = '" & Dat_N & "' WHERE (((Системная.Код)=3));"

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

DoCmd.RunSQL "DELETE DISTINCTROW Treb.*, Treb.Data_nach FROM Treb WHERE (((Treb.Data_nach) Is Null));"

DoCmd.RunSQL "INSERT INTO Treb ( Code, Abon_nach ) SELECT DISTINCTROW [Partner]![CODE] & Format([Forms]![Кнопочная форма]![Otch_per],'mmyy') AS COD, Partner.CODE FROM Partner;"

Else

End If

Переход_New_Exit:

Exit Function

Переход_New_Err:

MsgBox Error$

Resume Переход_New_Exit

End Function

Public Function Del_period()

'Убираем меньше заданного периода

Dim Per_0 As String

' Per_0 = DateSerial(Year(DLookup("DateValue (Запись)", "Системная", "Код = 10")), Month(DLookup("DateValue (Запись)", "Системная", "Код = 10")), Day(DLookup("DateValue (Запись)", "Системная", "Код = 10")))