227. Системный подход.

Oct 31, 2020 12:47

Рассматривает объект как систему взаимосвязанных элементов ( Read more... )

системный подход

Leave a comment

Не верите? savl_2009 October 31 2020, 14:43:56 UTC
Sub РасчетАбонента(НомерАбонента As String, Месяц As Long, Год As Long)
'---------------------------
'расчет всех объектов и реактивных групп по абоненту
'---------------------------
Dim БылоСтало As Integer
Dim РедОбъект As Boolean
Dim ВидРед As String
Dim БДСчета As Database
Dim ЗаписьОбъект As Recordset
Dim ЗаписьРеактГруппа As Recordset
'---------------------------
Set БДСчета = CurrentDb()
'---------------------------
'расчет объектов
'---------------------------
Set ЗаписьОбъект = _
БДСчета.OpenRecordset( _
"SELECT * " & _
"FROM [Объект] " & _
"WHERE НомерАбонента = '" & НомерАбонента & "' ", _
dbOpenDynaset)
'---------------------------
If (ЗаписьОбъект.RecordCount > 0) Then
With ЗаписьОбъект
.MoveLast
.MoveFirst
Do Until .EOF
If СчитатьОбъект(!КодОбъекта, Месяц, Год) = True Then
РедОбъект = РедактировалсяОбъектБылоСталоРасчМесяц(!КодОбъекта, _
Месяц, Год)
If РедОбъект = False Then
БылоСтало = 1
ФормПотребленияСубабонентов !КодОбъекта, Месяц, Год, БылоСтало
ФормПарамРасчОбъекта !КодОбъекта, Месяц, Год, БылоСтало
Else
БылоСтало = 0
'ФормПотребленияСубабонентов !КодОбъекта, Месяц, Год, БылоСтало
ФормПарамРасчОбъекта !КодОбъекта, Месяц, Год, БылоСтало
БылоСтало = 1
ФормПотребленияСубабонентов !КодОбъекта, Месяц, Год, БылоСтало
ФормПарамРасчОбъекта !КодОбъекта, Месяц, Год, БылоСтало
End If
End If
.MoveNext
Loop
End With
End If
ЗаписьОбъект.Close
'---------------------------
'расчет реактивных групп
'---------------------------
Set ЗаписьРеактГруппа = _
БДСчета.OpenRecordset( _
"SELECT * " & _
"FROM [Группы реактивного учета] " & _
"WHERE НомерАбонента = '" & НомерАбонента & "' ", _
dbOpenDynaset)
'---------------------------
If (ЗаписьРеактГруппа.RecordCount > 0) Then
With ЗаписьРеактГруппа
.MoveLast
.MoveFirst
Do Until .EOF
If СчитатьРеактГруппа(!КодГруппыРеактУчета, Месяц, Год) = True Then
КоррПотрРеактГруппа !КодГруппыРеактУчета, Месяц, Год
End If
.MoveNext
Loop
End With
End If
ЗаписьРеактГруппа.Close
'---------------------------
'расчет заявленной (основной платы) для 2-х ставочников
'---------------------------
If АбонентДвухставочник(НомерАбонента) Then
ФормПотрЗаявленная НомерАбонента, Месяц, Год
End If
БДСчета.Close
End Sub

Reply


Leave a comment

Up