1
|
CREATE TABLE dbo.Accruals (
|
2
|
ID BIGINT IDENTITY - ИД
|
3
|
,IDPersonalAccount BIGINT - ЛС
|
4
|
,IDAddressAddit BIGINT? - Код доп постройки
|
5
|
-- ,IDDebtContract BIGINT - Код документа ПИР (NULL - нет ПИР)
|
6
|
,IDParameterAddit TINYINT - Дополнительный параметр (для отопления этажность - для воды свое - для канализации свое)
|
7
|
,IDOrgContract INT? - Код договора
|
8
|
,IDManagementCompany INT? - Код упр компании
|
9
|
,IDService INT - Код услуги
|
10
|
,IDBoiler BIGINT? - Котельная
|
11
|
,IDStandartVolume INT - Код благоустройства
|
12
|
,DateBegin DATE - Дата начисления с (диапазон в пределах кокретного месяца)
|
13
|
,DateEnd DATE - Дата начисления по
|
14
|
,Volume DECIMAL(18, 3) - Объем
|
15
|
,Tariff DECIMAL(18, 2) - Тарифы
|
16
|
,TariffEOT DECIMAL(18, 2)
|
17
|
,Amount DECIMAL(18, 2) - Сумма
|
18
|
,DateDel SMALLDATETIME - Пометка удаления записи
|
19
|
) ON [PRIMARY]
|
20
|
|
21
|
CREATE TABLE dbo.Debt (
|
22
|
ID BIGINT IDENTITY - ИД
|
23
|
,IDAccruals BIGINT - (=Accruals.ID)
|
24
|
,IDDebtContract BIGINT - Код документа ПИР
|
25
|
,Proportion TINYINT - Доля в процентах
|
26
|
,DateDel SMALLDATETIME - Пометка удаления записи
|
27
|
) ON [PRIMARY]
|
28
|
|
29
|
CREATE TABLE dbo.Balance ( (Записи этой таблицы обязательно должны присутствовать для каждой записи из Accruals)
|
30
|
ID BIGINT UNIQUE - ИД (=Accruals.ID)
|
31
|
,Saldo DECIMAL(18, 2) - Сальдо на начало расчетного периода (перерасчитывается при корректировках)
|
32
|
,Saldo10 DECIMAL(18, 2) - Сальдо на 10-е число текущего месяца (он же кредит или аванс, не меняется, нужен для ФЗ54)
|
33
|
,AmountFine DECIMAL(18, 2) - Пени (Перерасчитываются каждое 10 число, при корректировках и операциях с оплатами. В случае ПИР перерасчитываются только при опалатх ПИР.)
|
34
|
) ON [PRIMARY]
|
35
|
|
36
|
CREATE TABLE dbo.Recalculation (
|
37
|
ID BIGINT IDENTITY - ИД
|
38
|
,IDAccruals BIGINT - (=Accruals.ID)
|
39
|
,IDUser BIGINT(?) - код пользователя
|
40
|
,IDCashBox INT - код кассы
|
41
|
,IDTypeRecalculation SMALLINT - Тип перерасчета
|
42
|
,DateRecalculation DATE - Дата перерасчета
|
43
|
,Amount DECIMAL(18, 2) - Сумма
|
44
|
,DateDel SMALLDATETIME
|
45
|
) ON [PRIMARY]
|
46
|
|
47
|
CREATE TABLE dbo.Receipts (
|
48
|
ID BIGINT IDENTITY
|
49
|
,IDPersonalAccount BIGINT - ЛС
|
50
|
,IDAddressAddit BIGINT - Код доп постройки
|
51
|
,IDDebtContract BIGINT - Код документа ПИР
|
52
|
,IDUser BIGINT(?) - код пользователя
|
53
|
,IDCashBox INT - код кассы
|
54
|
,IDOrgContract BIGINT - Аналог поставщика (ИД контракта привязанного к конкретному контрагенту с услугами)
|
55
|
,IDManagementCompany INT - Код управляющей организации
|
56
|
,IDService INT - Код услуги
|
57
|
,IDType INT - Вид платежа (приход, расход, перенос, сторно)
|
58
|
,IDMoneyType INT - Вид денег
|
59
|
,Number BIGINT - Номер квитанции
|
60
|
,PaymentDate DATETIME - Дата платежа
|
61
|
,DateBegin DATE - Периоды оплаты в пределах календарного месяца
|
62
|
,DateEnd DATE -
|
63
|
,RepaymentNumber BIGINT - Номер сторно или переноса (технически надежней RepaymentNumber=ID сторно или переноса)
|
64
|
,Amount DECIMAL(18, 2) - Сумма платежа
|
65
|
,AmountFine DECIMAL(18, 2) - Сума пени
|
66
|
,AmountStateDuty DECIMAL(18, 2) - Гос пошлина
|
67
|
-- Поля необходимые по ФЗ54
|
68
|
,DecOldSaldo DECIMAL(18, 2) - оплата старых долгов
|
69
|
,DecCredit DECIMAL(18, 2) - размер уменьшения кредита
|
70
|
,Prepayment DECIMAL(18, 2) - размер предоплаты (кредит не закрыт)
|
71
|
,Prepayment100 DECIMAL(18, 2) - размер предоплаты 100% (кредит закрыт полностью)
|
72
|
----------------
|
73
|
,Note NVARCHAR(500) - Поле для примечаний
|
74
|
,DateDel SMALLDATETIME - Пометка удаления записи
|
75
|
) ON [PRIMARY]
|
76
|
|
77
|
CREATE TABLE dbo.Clearance (
|
78
|
ID BIGINT IDENTITY - ИД
|
79
|
,IDReceipts BIGINT - (=Receipts.ID)
|
80
|
,DateOperation DATETIME - Дата гашения
|
81
|
,Number BIGINT - Номер гашения
|
82
|
,DateDel SMALLDATETIME - Пометка удаления записи
|
83
|
) ON [PRIMARY]
|
84
|
|
85
|
Откуда можно взять свежии данные:
|
86
|
начисления
|
87
|
kv2024.dbo.otchet_nach
|
88
|
code IDAddressAddit
|
89
|
,kod_Adres IDPersonalAccount
|
90
|
,kod_uslugi IDService
|
91
|
,kod_postav IDOrgContract
|
92
|
,self IDManagementCompany
|
93
|
,kot IDBoiler
|
94
|
,gvoda IDParameterAddit
|
95
|
,id_volume IDStandartVolume
|
96
|
,mes DateBegin DateEnd
|
97
|
,tarif Tariff
|
98
|
,eot TariffEOT
|
99
|
,volume Volume
|
100
|
,summa Amount
|
101
|
|
102
|
kv2024.dbo.saldo_a
|
103
|
code
|
104
|
,kod_adres
|
105
|
,kod_uslugi
|
106
|
,kod_postav
|
107
|
,self
|
108
|
,data_s
|
109
|
,summa Saldo
|
110
|
,mes
|
111
|
|
112
|
kv2024.dbo.post_a (
|
113
|
no_kv Number
|
114
|
,code IDAddressAddit
|
115
|
,kod_adres IDPersonalAccount
|
116
|
,kod_uslugi IDService
|
117
|
,vid_deneg IDMoneyType
|
118
|
,kod_postav IDOrgContract
|
119
|
,self IDManagementCompany
|
120
|
,summa Amount
|
121
|
,peni AmountFine
|
122
|
,data_opl PaymentDate
|
123
|
,data_gash Clearance.DateOperation
|
124
|
,kod_operator IDUser
|
125
|
,kod_kassa IDCashBox
|
126
|
,mes_n DateBegin
|
127
|
,god_n
|
128
|
,mes_e DateEnd
|
129
|
,god_e
|
130
|
,no_gash Clearance.Number
|
131
|
,prim Note
|
132
|
,mes
|
133
|
|
134
|
|
135
|
|
136
|
|
137
|
------------------------------------
|
138
|
Немного о терминах:
|
139
|
1. Махинации с сальдо принято называть корректировкой либо переносом.
|
140
|
2. Махинации с начислениями принято называть перерасчетом.
|
141
|
Далее не буду строго придерживаться этих формулировок.
|
142
|
Кокнретное действие с сальдо/начислением в итоге определяется его типом (номером в соотвествующем справочнике), например:
|
143
|
id 2 и 3 - операции с сальдо (корректировка, перенос)
|
144
|
id > 4 - операции с начислениями.
|
145
|
|
146
|
Правила коррекитровок:
|
147
|
1. Перерасчеты начислений делаются только на месяца текущего года.
|
148
|
2. Корректировка сальдо делается только на месяца прошлых годов.
|
149
|
|