Затраты на его приобретение окупятся в первый год использования. Внедрение нового ПС позволит пользователю сэкономить на текущих затратах. Для пользователя в качестве экономического эффекта выступает лишь чистая прибыль, которая остается в его распоряжении.
Таким образом, разработка конкурентоспособна и может быть использована на предприятиях связи.
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:\Abon\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")))