Проект

Общее

Профиль

Улучшение #1850 » Ввод новых таблиц.txt

Сергей Потапов, 16.07.2024 17:27

 
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

    
(5-5/8)