· 7 years ago · Dec 06, 2018, 08:44 AM
1/*
2RT_P_RTS_TRANFEE, RT_P_RTS_TRANFEE_XLS
3
4srvTDB.dll
5
6
7QORT_OPEN.CorrectPositions.id IN (460117, 460118)
8*/
9
10
11
12/*
13ИÐИЦИÐЛИЗÐЦИЯ
14-----------------------------------------------------------------------
15*/
16
17
18USE QORT_OPEN; /* БД QORT_OPEN */
19
20IF EXISTS(SELECT name FROM SysObjects WHERE name = 'Forts_TSs_Ids_set')
21 BEGIN
22 DROP FUNCTION dbo.Forts_TSs_Ids_set;
23 END;
24
25
26GO
27
28IF EXISTS(SELECT name FROM SysObjects WHERE name = 'GetRUR_foo')
29 BEGIN
30 DROP FUNCTION dbo.GetRUR_foo;
31 END;
32
33
34GO
35
36IF EXISTS(SELECT name FROM SysObjects WHERE name = 'TSS_set')
37 BEGIN
38 DROP FUNCTION dbo.TSS_set;
39 END;
40
41
42GO
43
44IF EXISTS(SELECT name FROM SysObjects WHERE name = 'R_set')
45 BEGIN
46 DROP FUNCTION dbo.R_set;
47 END;
48
49
50GO
51
52IF EXISTS(SELECT name FROM SysObjects WHERE name = 'TradeCode_foo')
53 BEGIN
54 DROP FUNCTION dbo.TradeCode_foo;
55 END;
56
57
58GO
59
60IF EXISTS(SELECT name FROM SysObjects WHERE name = 'Rep_set')
61 BEGIN
62 DROP FUNCTION dbo.Rep_set;
63 END;
64
65
66GO
67
68IF EXISTS(SELECT name FROM SysObjects WHERE name = 'RTSClearingTime_foo')
69 BEGIN
70 DROP FUNCTION dbo.RTSClearingTime_foo;
71 END;
72
73
74GO
75
76IF EXISTS(SELECT name FROM SysObjects WHERE name = 'GetTrueRUR_foo')
77 BEGIN
78 DROP FUNCTION dbo.GetTrueRUR_foo;
79 END;
80
81
82GO
83
84IF EXISTS(SELECT name FROM SysObjects WHERE name = 'CL_set')
85 BEGIN
86 DROP FUNCTION dbo.CL_set;
87 END;
88
89
90GO
91
92
93
94
95
96
97
98
99
100
101/*
102ФУÐКЦИИ
103-----------------------------------------------------------------------
104*/
105
106
107
108
109/* ÐÐЧÐЛО поиÑка запиÑей Forts_TSs_Ids */
110CREATE FUNCTION dbo.Forts_TSs_Ids_set(@x AS TINYINT) RETURNS @tbl2 TABLE (id FLOAT) AS
111 BEGIN
112
113
114 INSERT INTO @tbl2
115/* ÐÐЧÐЛО поиÑк запиÑей Forts_TSs_Ids */
116 SELECT TS.id FROM TSs AS TS /* Forts_TSs_Ids */
117 WHERE (
118 (TS.id IN (
119 SELECT TSSec.TS_ID FROM TSSections AS TSSec
120 WHERE (
121 (TSSec.id IN (
122/* ÐÐЧÐЛО поиÑк запиÑей Forts_TSSections_IDs */
123 SELECT Forts_TSSections_IDs.id FROM TSSections AS Forts_TSSections_IDs /* Forts_TSSections_Ids */
124 WHERE (
125 (
126 (Forts_TSSections_IDs.ClassList LIKE '%PSFUT%')
127 OR (Forts_TSSections_IDs.ClassList LIKE '%PSOPT%')
128 OR (Forts_TSSections_IDs.ClassList LIKE '%PSRTSM%')
129 OR (Forts_TSSections_IDs.ClassList LIKE '%RPRTSM%')
130 OR (Forts_TSSections_IDs.ClassList LIKE '%RPRTSST%')
131 OR (Forts_TSSections_IDs.ClassList LIKE '%RTSIDX%')
132 OR (Forts_TSSections_IDs.ClassList LIKE '%RTSM%')
133 OR (Forts_TSSections_IDs.ClassList LIKE '%RTSST%')
134 OR (Forts_TSSections_IDs.ClassList LIKE '%SPBFUT%')
135 OR (Forts_TSSections_IDs.ClassList LIKE '%SPBOPT%')
136 OR (Forts_TSSections_IDs.ClassList LIKE '%REPORTSST%')
137 )
138 AND (Forts_TSSections_IDs.Enabled = 0)
139 )
140/* КОÐЕЦ поиÑк запиÑей Forts_TSSections_IDs */
141 ))
142 )
143 ))
144 );
145/* КОÐЕЦ поиÑк запиÑей Forts_TSs_Ids */
146
147
148
149
150 RETURN;
151 END;
152GO
153/* КОÐЕЦ поиÑка запиÑей Forts_TSs_Ids */
154
155
156/* ÐÐЧÐЛО функции GetRUR() */
157CREATE FUNCTION dbo.GetRUR_foo(@AS_RUB AS TINYINT) RETURNS @tbl2 TABLE (id FLOAT) AS
158 BEGIN
159
160
161 INSERT INTO @tbl2
162 SELECT id FROM Assets
163 WHERE (
164 (AssetSort_Const = @AS_RUB)
165 AND (Enabled = 0)
166 );
167
168
169
170
171
172
173 RETURN;
174 END;
175GO
176/* КОÐЕЦ функции GetRUR() */
177
178
179/* ÐÐЧÐЛО поиÑка запиÑей TSS */
180CREATE FUNCTION dbo.TSS_set(@x AS TINYINT) RETURNS @tbl2 TABLE (id FLOAT, TS_ID FLOAT) AS
181 BEGIN
182
183
184 INSERT INTO @tbl2
185 SELECT TSS_set.id, TSS_set.TS_ID FROM TSSections AS TSS_set
186 WHERE (
187 (TSS_set.Name IN ( /* перечиÑлено в значении ключа FORTS Ñекции [trades-section] srvTDB.ini */
188 SELECT forts FROM tempTblForts
189 ))
190 AND (TSS_set.TS_ID IN (
191
192/* ÐÐЧÐЛО поиÑк запиÑей Forts_TSs_Ids */
193 SELECT Forts_TSs_Ids.id FROM dbo.Forts_TSs_Ids_set(0) AS Forts_TSs_Ids /* Forts_TSs_Ids */
194/* КОÐЕЦ поиÑк запиÑей Forts_TSs_Ids */
195
196 ))
197 AND (TSS_set.Enabled = 0)
198 );
199
200
201
202
203
204 RETURN;
205 END;
206GO
207/* КОÐЕЦ поиÑка запиÑей TSS */
208
209
210/* ÐÐЧÐЛО поиÑка запиÑей R */
211CREATE FUNCTION dbo.R_set(@ReportDate AS INT) RETURNS @tbl2 TABLE (xDate INT, xKod VARCHAR(12), xAccount VARCHAR(2), xType_pay INT, xPay FLOAT, xName VARCHAR(128), xComment VARCHAR(256), xPURPOSE VARCHAR(256), xPAYER VARCHAR(64), xType TINYINT) AS
212 BEGIN
213
214
215 INSERT INTO @tbl2(xDate, xKod, xAccount, xType_pay, xPay, xName, xComment, xPURPOSE, xPAYER, xType)
216 SELECT
217 R.xDate,
218 R.xKod,
219 R.xAccount,
220 R.xType_pay,
221 R.xPay,
222 R.xName,
223 R.xComment,
224 R.xPURPOSE,
225 R.xPAYER,
226 CAST(1 AS TINYINT) AS xType /* запиÑи: тип 1 */
227 FROM tempTblSverka AS R
228 WHERE (
229 (R.xDate = @ReportDate)
230 AND (R.xAccount = 'CL')
231 AND (R.xType_pay IN (
232 SELECT RTS_TYPE_PAY FROM tempTblRTS_TYPE_PAY
233 ))
234 AND (R.xType_pay IN (
235 1937,
236 1938,
237 1832,
238 1846,
239 1826,
240 1829,
241 1847,
242 1827,
243 2019
244 ))
245 );
246
247
248 INSERT INTO @tbl2(xDate, xKod, xAccount, xType_pay, xPay, xName, xComment, xPURPOSE, xPAYER, xType)
249 SELECT
250 R.xDate,
251 R.xKod,
252 R.xAccount,
253 R.xType_pay,
254 R.xPay,
255 R.xName,
256 R.xComment,
257 R.xPURPOSE,
258 R.xPAYER,
259 CAST(2 AS TINYINT) AS xType /* запиÑи: тип 2 */
260 FROM tempTblSverka AS R
261 WHERE (
262 (R.xDate = @ReportDate)
263 AND (R.xAccount = 'CL')
264 AND (R.xType_pay IN (
265 SELECT RTS_TYPE_PAY FROM tempTblRTS_TYPE_PAY
266 ))
267 AND (R.xType_pay IN (
268 1836,
269 1833,
270 1834
271 ))
272 );
273
274
275
276
277
278
279 RETURN;
280 END;
281GO
282/* КОÐЕЦ поиÑка запиÑей R */
283
284
285/* ÐÐЧÐЛО функции TradeCode(S:Subaccs): FLOAT */
286CREATE FUNCTION dbo.TradeCode_foo(@s AS VARCHAR(12)) RETURNS FLOAT AS
287 BEGIN
288 DECLARE @Subacc_ID FLOAT;
289 SET @Subacc_ID = -1; /* запиÑÑŒ не найдена */
290
291
292 IF (
293 (
294 SELECT COUNT(*) FROM Subaccs WHERE ((TradeCode = @s) AND (Enabled = 0))
295 ) > 0
296 )
297 BEGIN
298 SELECT TOP(1) @Subacc_ID = id FROM Subaccs WHERE ((TradeCode = @s) AND (Enabled = 0));
299 END
300 ELSE
301 BEGIN
302 IF (
303 (
304 SELECT COUNT(*) FROM Subaccs WHERE ((SubAccCode = CAST(@s AS VARCHAR(32))) AND (Enabled = 0))
305 ) > 0
306 )
307 BEGIN
308 SELECT TOP(1) @Subacc_ID = id FROM Subaccs WHERE ((SubAccCode = CAST(@s AS VARCHAR(32))) AND (Enabled = 0));
309 END;
310 END;
311
312
313
314
315
316
317 RETURN (@Subacc_ID);
318 END;
319GO
320/* КОÐЕЦ функции TradeCode(S:Subaccs): FLOAT */
321
322
323/* ÐÐЧÐЛО поиÑка запиÑей Rep */
324CREATE FUNCTION dbo.Rep_set(@ReportDate AS INT, @AT_MON AS TINYINT, @AS_RUB AS TINYINT, @AT_FO AS TINYINT) RETURNS @tbl2 TABLE (xDate INT, xKod VARCHAR(12), xAccount VARCHAR(2), xType_pay INT, xPay FLOAT, xName VARCHAR(128), xComment VARCHAR(256), xPURPOSE VARCHAR(256), xPAYER VARCHAR(64), xType TINYINT, SumSbortr_Rep FLOAT, S_Rep FLOAT, AcPut_Rep FLOAT, Ac_Rep FLOAT) AS
325 BEGIN
326 DECLARE @arrTemp01 TABLE(xKod VARCHAR(12), xType_pay INT);
327
328 INSERT INTO @arrTemp01(xKod, xType_pay)
329 SELECT R.xKod, R.xType_pay FROM dbo.R_set(@ReportDate) AS R WHERE (R.xType = 1) GROUP BY R.xKod, R.xType_pay;
330
331
332/* ÐÐЧÐЛО Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñей типа 1 */
333 INSERT INTO @tbl2(xDate, xKod, xAccount, xType_pay, xPay, xName, xComment, xPURPOSE, xPAYER, xType, SumSbortr_Rep, S_Rep, AcPut_Rep, Ac_Rep)
334 SELECT
335 Rep4.xDate,
336 Rep4.xKod,
337 Rep4.xAccount,
338 Rep4.xType_pay,
339 Rep4.xPay,
340 Rep4.xName,
341 Rep4.xComment,
342 Rep4.xPURPOSE,
343 Rep4.xPAYER,
344 Rep4.xType,
345 Rep4.SumSbortr_Rep,
346 Rep4.S_Rep,
347 Rep4.AcPut_Rep,
348 Rep4.Ac_Rep
349 FROM
350 (
351
352 SELECT
353 Rep3.xDate,
354 Rep3.xKod,
355 Rep3.xAccount,
356 Rep3.xType_pay,
357 Rep3.xPay,
358 Rep3.xName,
359 Rep3.xComment,
360 Rep3.xPURPOSE,
361 Rep3.xPAYER,
362 Rep3.xType,
363 Rep3.SumSbortr_Rep,
364 Rep3.S_Rep,
365 Rep3.AcPut_Rep,
366 'Ac_Rep' =
367 CASE
368 WHEN ((Rep3.Ac_Rep IS NULL) OR (Rep3.Ac_Rep <= 0)) THEN CAST(-1 AS FLOAT)
369 ELSE Rep3.Ac_Rep
370 END
371 FROM
372 (
373
374 SELECT
375 Rep2.xDate,
376 Rep2.xKod,
377 Rep2.xAccount,
378 Rep2.xType_pay,
379 Rep2.xPay,
380 Rep2.xName,
381 Rep2.xComment,
382 Rep2.xPURPOSE,
383 Rep2.xPAYER,
384 Rep2.xType,
385 Rep2.SumSbortr_Rep,
386 Rep2.S_Rep,
387 Rep2.AcPut_Rep,
388 (
389 SELECT TOP(1) id FROM Accounts
390 WHERE (
391 (AssetType = @AT_MON)
392 AND (id IN (
393 SELECT PA.PayAccount_ID FROM PayAccs AS PA
394 WHERE (
395 (PA.SubAcc_ID = Rep2.S_Rep)
396 AND (PA.PutAccount_ID = Rep2.AcPut_Rep)
397 AND (
398 (
399 (EXISTS (
400 SELECT id FROM PayAccs
401 WHERE (
402 (SubAcc_ID = Rep2.S_Rep)
403 AND (PutAccount_ID = Rep2.AcPut_Rep)
404 AND (Currency_ID IN (
405 SELECT id FROM dbo.GetRUR_foo(@AS_RUB)
406 ))
407 )
408 ))
409 AND (PA.Currency_ID IN (
410 SELECT id FROM dbo.GetRUR_foo(@AS_RUB)
411 ))
412 )
413 OR (
414 (NOT (EXISTS (
415 SELECT id FROM PayAccs
416 WHERE (
417 (SubAcc_ID = Rep2.S_Rep)
418 AND (PutAccount_ID = Rep2.AcPut_Rep)
419 AND (Currency_ID IN (
420 SELECT id FROM dbo.GetRUR_foo(@AS_RUB)
421 ))
422 )
423 )))
424 AND (PA.Currency_ID = -1)
425 )
426 )
427 )
428 ))
429 AND (Enabled = 0)
430 )
431 ) AS Ac_Rep
432 FROM
433 (
434
435 SELECT
436 Rep1.xDate,
437 Rep1.xKod,
438 Rep1.xAccount,
439 Rep1.xType_pay,
440 Rep1.xPay,
441 Rep1.xName,
442 Rep1.xComment,
443 Rep1.xPURPOSE,
444 Rep1.xPAYER,
445 Rep1.xType,
446 Rep1.SumSbortr_Rep,
447 Rep1.S_Rep,
448 'AcPut_Rep' =
449 CASE
450 WHEN ((Rep1.AcPut_Rep IS NULL) OR (Rep1.AcPut_Rep <= 0)) THEN CAST(-1 AS FLOAT)
451 ELSE Rep1.AcPut_Rep
452 END
453 FROM
454 (
455
456 SELECT
457 Rep.xDate,
458 Rep.xKod,
459 Rep.xAccount,
460 Rep.xType_pay,
461 Rep.xPay,
462 Rep.xName,
463 Rep.xComment,
464 Rep.xPURPOSE,
465 Rep.xPAYER,
466 Rep.xType,
467 (
468 SELECT SUM(R01.xPay) FROM dbo.R_set(@ReportDate) AS R01 INNER JOIN @arrTemp01 AS R02 ON ((R01.xKod = R02.xKod) AND (R01.xType_pay = R02.xType_pay))
469 WHERE (
470 (R01.xType = 1)
471 AND (
472 (R01.xKod = Rep.xKod)
473 AND (R01.xType_pay = Rep.xType_pay)
474 )
475 )
476 ) AS SumSbortr_Rep,
477 dbo.TradeCode_foo(Rep.xKod) AS S_Rep,
478 (
479 SELECT TOP(1) id FROM Accounts
480 WHERE (
481 (AssetType = @AT_FO)
482 AND (TS_ID IN (
483 SELECT TS_ID FROM dbo.TSS_set(0) AS TSS_set
484 ))
485 AND (id IN (
486 SELECT PutAccount_ID FROM PayAccs
487 WHERE (
488 (SubAcc_ID = dbo.TradeCode_foo(Rep.xKod))
489 )
490 ))
491 AND (Enabled = 0)
492 )
493 ) AS AcPut_Rep
494 FROM dbo.R_set(@ReportDate) AS Rep
495 WHERE (
496 (Rep.xType = 1)
497 )
498
499 ) AS Rep1
500
501 ) AS Rep2
502
503 ) AS Rep3
504
505 ) AS Rep4
506 ORDER BY Rep4.xKod ASC, Rep4.xType_pay ASC;
507/* КОÐЕЦ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñей типа 1 */
508
509
510/* ÐÐЧÐЛО Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñей типа 2 */
511 INSERT INTO @tbl2(xDate, xKod, xAccount, xType_pay, xPay, xName, xComment, xPURPOSE, xPAYER, xType, SumSbortr_Rep, S_Rep, AcPut_Rep, Ac_Rep)
512 SELECT
513 Rep4.xDate,
514 Rep4.xKod,
515 Rep4.xAccount,
516 Rep4.xType_pay,
517 Rep4.xPay,
518 Rep4.xName,
519 Rep4.xComment,
520 Rep4.xPURPOSE,
521 Rep4.xPAYER,
522 Rep4.xType,
523 Rep4.SumSbortr_Rep,
524 Rep4.S_Rep,
525 Rep4.AcPut_Rep,
526 Rep4.Ac_Rep
527 FROM
528 (
529
530 SELECT
531 Rep3.xDate,
532 Rep3.xKod,
533 Rep3.xAccount,
534 Rep3.xType_pay,
535 Rep3.xPay,
536 Rep3.xName,
537 Rep3.xComment,
538 Rep3.xPURPOSE,
539 Rep3.xPAYER,
540 Rep3.xType,
541 Rep3.SumSbortr_Rep,
542 Rep3.S_Rep,
543 Rep3.AcPut_Rep,
544 'Ac_Rep' =
545 CASE
546 WHEN ((Rep3.Ac_Rep IS NULL) OR (Rep3.Ac_Rep <= 0)) THEN CAST(-1 AS FLOAT)
547 ELSE Rep3.Ac_Rep
548 END
549 FROM
550 (
551
552 SELECT
553 Rep2.xDate,
554 Rep2.xKod,
555 Rep2.xAccount,
556 Rep2.xType_pay,
557 Rep2.xPay,
558 Rep2.xName,
559 Rep2.xComment,
560 Rep2.xPURPOSE,
561 Rep2.xPAYER,
562 Rep2.xType,
563 Rep2.SumSbortr_Rep,
564 Rep2.S_Rep,
565 Rep2.AcPut_Rep,
566 (
567 SELECT TOP(1) id FROM Accounts
568 WHERE (
569 (AssetType = @AT_MON)
570 AND (id IN (
571 SELECT PA.PayAccount_ID FROM PayAccs AS PA
572 WHERE (
573 (PA.SubAcc_ID = Rep2.S_Rep)
574 AND (PA.PutAccount_ID = Rep2.AcPut_Rep)
575 AND (
576 (
577 (EXISTS (
578 SELECT id FROM PayAccs
579 WHERE (
580 (SubAcc_ID = Rep2.S_Rep)
581 AND (PutAccount_ID = Rep2.AcPut_Rep)
582 AND (Currency_ID IN (
583 SELECT id FROM dbo.GetRUR_foo(@AS_RUB)
584 ))
585 )
586 ))
587 AND (PA.Currency_ID IN (
588 SELECT id FROM dbo.GetRUR_foo(@AS_RUB)
589 ))
590 )
591 OR (
592 (NOT (EXISTS (
593 SELECT id FROM PayAccs
594 WHERE (
595 (SubAcc_ID = Rep2.S_Rep)
596 AND (PutAccount_ID = Rep2.AcPut_Rep)
597 AND (Currency_ID IN (
598 SELECT id FROM dbo.GetRUR_foo(@AS_RUB)
599 ))
600 )
601 )))
602 AND (PA.Currency_ID = -1)
603 )
604 )
605 )
606 ))
607 AND (Enabled = 0)
608 )
609 ) AS Ac_Rep
610 FROM
611 (
612
613 SELECT
614 Rep1.xDate,
615 Rep1.xKod,
616 Rep1.xAccount,
617 Rep1.xType_pay,
618 Rep1.xPay,
619 Rep1.xName,
620 Rep1.xComment,
621 Rep1.xPURPOSE,
622 Rep1.xPAYER,
623 Rep1.xType,
624 Rep1.SumSbortr_Rep,
625 Rep1.S_Rep,
626 'AcPut_Rep' =
627 CASE
628 WHEN ((Rep1.AcPut_Rep IS NULL) OR (Rep1.AcPut_Rep <= 0)) THEN CAST(-1 AS FLOAT)
629 ELSE Rep1.AcPut_Rep
630 END
631 FROM
632 (
633
634 SELECT
635 Rep.xDate,
636 Rep.xKod,
637 Rep.xAccount,
638 Rep.xType_pay,
639 Rep.xPay,
640 Rep.xName,
641 Rep.xComment,
642 Rep.xPURPOSE,
643 Rep.xPAYER,
644 Rep.xType,
645 Rep.xPay AS SumSbortr_Rep,
646 dbo.TradeCode_foo(Rep.xKod) AS S_Rep,
647 (
648 SELECT TOP(1) id FROM Accounts
649 WHERE (
650 (AssetType = @AT_FO)
651 AND (TS_ID IN (
652 SELECT TS_ID FROM dbo.TSS_set(0) AS TSS_set
653 ))
654 AND (id IN (
655 SELECT PutAccount_ID FROM PayAccs
656 WHERE (
657 (SubAcc_ID = dbo.TradeCode_foo(Rep.xKod))
658 )
659 ))
660 AND (Enabled = 0)
661 )
662 ) AS AcPut_Rep
663 FROM dbo.R_set(@ReportDate) AS Rep
664 WHERE (
665 (Rep.xType = 2)
666 )
667
668 ) AS Rep1
669
670 ) AS Rep2
671
672 ) AS Rep3
673
674 ) AS Rep4
675 ORDER BY Rep4.xKod ASC, Rep4.xType_pay ASC;
676/* КОÐЕЦ Ñ„Ð¾Ñ€Ð¼Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñей типа 2 */
677
678
679
680
681
682
683
684 RETURN;
685 END;
686GO
687/* КОÐЕЦ поиÑка запиÑей Rep */
688
689
690/* ÐÐЧÐЛО функции RTSClearingTime(time: VARCHAR(4)): INT */
691CREATE FUNCTION dbo.RTSClearingTime_foo(@RTSClearingTime AS VARCHAR(4)) RETURNS INT AS
692 BEGIN
693 DECLARE @_RTSClearingTime INT, @power TINYINT;
694 SET @power = 5; /* Ñтепень чиÑла по умолчанию */
695 SET @_RTSClearingTime = POWER(10, @power) * 1900; /* Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾ умолчанию: 19:00 */
696
697
698 IF ((@RTSClearingTime IS NOT NULL) AND (@RTSClearingTime <> ''))
699 BEGIN
700 SET @_RTSClearingTime = CAST(POWER(10, @power) * CAST(LEFT(@RTSClearingTime, PATINDEX('%[^1234567890]%', LOWER(@RTSClearingTime) + 'a') - 1) AS INT) AS INT);
701 END;
702
703
704
705
706
707
708 RETURN (@_RTSClearingTime);
709 END;
710GO
711/* КОÐЕЦ функции RTSClearingTime(time: VARCHAR(4)): INT */
712
713
714/* ÐÐЧÐЛО функции GetTrueRUR() */
715CREATE FUNCTION dbo.GetTrueRUR_foo(@AT_MON AS TINYINT) RETURNS @tbl2 TABLE (id FLOAT) AS
716 BEGIN
717
718
719 INSERT INTO @tbl2
720 SELECT A.id FROM Assets AS A
721 WHERE (
722 (
723 (
724 (EXISTS (
725 SELECT id FROM Assets
726 WHERE (
727 (AssetType_Const = @AT_MON)
728 AND (ShortName = 'RUR')
729 AND (Enabled = 0)
730 )
731 ))
732 AND (A.ShortName = 'RUR')
733 )
734 OR (
735 (NOT (EXISTS (
736 SELECT id FROM Assets
737 WHERE (
738 (AssetType_Const = @AT_MON)
739 AND (ShortName = 'RUR')
740 AND (Enabled = 0)
741 )
742 )))
743 AND (A.ShortName IN ('RUR', 'RUB'))
744 )
745 )
746 AND (A.AssetType_Const = @AT_MON)
747 AND (A.Enabled = 0)
748 );
749
750
751
752
753
754
755 RETURN;
756 END;
757GO
758/* КОÐЕЦ функции GetRUR() */
759
760
761/* ÐÐЧÐЛО поиÑка запиÑей CL */
762CREATE FUNCTION dbo.CL_set(@ReportDate AS INT, @AT_MON AS TINYINT, @AS_RUB AS TINYINT, @AT_FO AS TINYINT, @CT_MON_FEE_FO AS TINYINT, @CT_MON_IN AS TINYINT, @CT_MON_OUT AS TINYINT, @RTSClearingTime AS VARCHAR(4)) RETURNS @tbl2 TABLE (id FLOAT, Size FLOAT, Rep_ID SMALLINT, xDate INT, xKod VARCHAR(12), xAccount VARCHAR(2), xType_pay INT, xPay FLOAT, xName VARCHAR(128), xComment VARCHAR(256), xPURPOSE VARCHAR(256), xPAYER VARCHAR(64), xType TINYINT, SumSbortr_Rep FLOAT, S_Rep FLOAT, AcPut_Rep FLOAT, Ac_Rep FLOAT) AS
763 BEGIN
764 DECLARE @Rep TABLE (Rep_ID SMALLINT IDENTITY(1, 1), xDate INT, xKod VARCHAR(12), xAccount VARCHAR(2), xType_pay INT, xPay FLOAT, xName VARCHAR(128), xComment VARCHAR(256), xPURPOSE VARCHAR(256), xPAYER VARCHAR(64), xType TINYINT, SumSbortr_Rep FLOAT, S_Rep FLOAT, AcPut_Rep FLOAT, Ac_Rep FLOAT);
765 DECLARE @tbl1 TABLE (id FLOAT, Size FLOAT, Rep_ID SMALLINT, xDate INT, xKod VARCHAR(12), xAccount VARCHAR(2), xType_pay INT, xPay FLOAT, xName VARCHAR(128), xComment VARCHAR(256), xPURPOSE VARCHAR(256), xPAYER VARCHAR(64), xType TINYINT, SumSbortr_Rep FLOAT, S_Rep FLOAT, AcPut_Rep FLOAT, Ac_Rep FLOAT);
766
767 INSERT INTO @Rep(xDate, xKod, xAccount, xType_pay, xPay, xName, xComment, xPURPOSE, xPAYER, xType, SumSbortr_Rep, S_Rep, AcPut_Rep, Ac_Rep)
768 SELECT xDate, xKod, xAccount, xType_pay, xPay, xName, xComment, xPURPOSE, xPAYER, xType, SumSbortr_Rep, S_Rep, AcPut_Rep, Ac_Rep FROM dbo.Rep_set(@ReportDate, @AT_MON, @AS_RUB, @AT_FO) AS Rep;
769
770
771
772 INSERT INTO @tbl1(id, Size, Rep_ID, xDate, xKod, xAccount, xType_pay, xPay, xName, xComment, xPURPOSE, xPAYER, xType, SumSbortr_Rep, S_Rep, AcPut_Rep, Ac_Rep)
773 SELECT
774 CL.id,
775 CL.Size,
776 Rep.Rep_ID, Rep.xDate, Rep.xKod, Rep.xAccount, Rep.xType_pay, Rep.xPay, Rep.xName, Rep.xComment, Rep.xPURPOSE, Rep.xPAYER, Rep.xType, Rep.SumSbortr_Rep, Rep.S_Rep, Rep.AcPut_Rep, Rep.Ac_Rep
777 FROM CorrectPositions AS CL
778 INNER JOIN @Rep AS Rep
779 ON ((CL.Subacc_ID = Rep.S_Rep) AND (CL.Account_ID = Rep.Ac_Rep))
780 WHERE (
781 (CL.Enabled = 0)
782 AND (CL.RegistrationDate = @ReportDate)
783 AND (CL.Asset_ID IN (
784 SELECT GetTrueRUR.id FROM dbo.GetTrueRUR_foo(@AT_MON) AS GetTrueRUR
785 ))
786 AND (CL.IsCanceled = 'n')
787/* =========== */
788/* ÐÐЧÐЛО При .Type_pay <> 1836, 1833, 1834 */
789 AND (Rep.xType_pay NOT IN (1836, 1833, 1834))
790 AND (CL.CT_Const = @CT_MON_FEE_FO)
791 AND (CL.Comment = Rep.xName + ' FORTS')
792/* КОÐЕЦ При .Type_pay <> 1836, 1833, 1834 */
793/* =========== */
794 AND (
795 (
796 (Rep.xType_pay IN (
797 SELECT RTS_TYPE_PAY_UnExec FROM tempTblRTS_TYPE_PAY_UnExec
798 ))
799 AND (CL.IsPreProcessed = 'y')
800 )
801 OR (
802 (Rep.xType_pay NOT IN (
803 SELECT RTS_TYPE_PAY_UnExec FROM tempTblRTS_TYPE_PAY_UnExec
804 ))
805 AND (CL.IsProcessed = 'y')
806 )
807 )
808 );
809
810
811
812 INSERT INTO @tbl1(id, Size, Rep_ID, xDate, xKod, xAccount, xType_pay, xPay, xName, xComment, xPURPOSE, xPAYER, xType, SumSbortr_Rep, S_Rep, AcPut_Rep, Ac_Rep)
813 SELECT
814 CL.id,
815 CL.Size,
816 Rep.Rep_ID, Rep.xDate, Rep.xKod, Rep.xAccount, Rep.xType_pay, Rep.xPay, Rep.xName, Rep.xComment, Rep.xPURPOSE, Rep.xPAYER, Rep.xType, Rep.SumSbortr_Rep, Rep.S_Rep, Rep.AcPut_Rep, Rep.Ac_Rep
817 FROM CorrectPositions AS CL
818 INNER JOIN @Rep AS Rep
819 ON ((CL.Subacc_ID = Rep.S_Rep) AND (CL.Account_ID = Rep.Ac_Rep))
820 WHERE (
821 (CL.Enabled = 0)
822 --- AND (CL.RegistrationDate = @ReportDate)
823 AND (CL.Asset_ID IN (
824 SELECT GetTrueRUR.id FROM dbo.GetTrueRUR_foo(@AT_MON) AS GetTrueRUR
825 ))
826 AND (CL.IsCanceled = 'n')
827/* =========== */
828/* ÐÐЧÐЛО При .Type_pay = 1836 */
829 AND (Rep.xType_pay = 1836)
830 AND (CL.CT_Const = @CT_MON_IN)
831 AND (CL.InfoSource = 'RTS REPORTS')
832 AND (CL.Time = dbo.RTSClearingTime_foo(@RTSClearingTime)) /* RTSClearingTime() */
833/* КОÐЕЦ При .Type_pay = 1836 */
834/* =========== */
835 AND (
836 (
837 (Rep.xType_pay IN (
838 SELECT RTS_TYPE_PAY_UnExec FROM tempTblRTS_TYPE_PAY_UnExec
839 ))
840 AND (CL.IsPreProcessed = 'y')
841 )
842 OR (
843 (Rep.xType_pay NOT IN (
844 SELECT RTS_TYPE_PAY_UnExec FROM tempTblRTS_TYPE_PAY_UnExec
845 ))
846 AND (CL.IsProcessed = 'y')
847 )
848 )
849 );
850
851
852
853
854 INSERT INTO @tbl1(id, Size, Rep_ID, xDate, xKod, xAccount, xType_pay, xPay, xName, xComment, xPURPOSE, xPAYER, xType, SumSbortr_Rep, S_Rep, AcPut_Rep, Ac_Rep)
855 SELECT
856 CL.id,
857 CL.Size,
858 Rep.Rep_ID, Rep.xDate, Rep.xKod, Rep.xAccount, Rep.xType_pay, Rep.xPay, Rep.xName, Rep.xComment, Rep.xPURPOSE, Rep.xPAYER, Rep.xType, Rep.SumSbortr_Rep, Rep.S_Rep, Rep.AcPut_Rep, Rep.Ac_Rep
859 FROM CorrectPositions AS CL
860 INNER JOIN @Rep AS Rep
861 ON ((CL.Subacc_ID = Rep.S_Rep) AND (CL.Account_ID = Rep.Ac_Rep))
862 WHERE (
863 (CL.Enabled = 0)
864 AND (CL.RegistrationDate = @ReportDate)
865 AND (CL.Asset_ID IN (
866 SELECT GetTrueRUR.id FROM dbo.GetTrueRUR_foo(@AT_MON) AS GetTrueRUR
867 ))
868 AND (CL.IsCanceled = 'n')
869/* =========== */
870/* ÐÐЧÐЛО При .Type_pay = 1833 */
871 AND (Rep.xType_pay = 1833)
872 AND (CL.CT_Const = @CT_MON_OUT)
873 AND (CL.Comment = Rep.xComment)
874/* КОÐЕЦ При .Type_pay = 1833 */
875/* =========== */
876 AND (
877 (
878 (Rep.xType_pay IN (
879 SELECT RTS_TYPE_PAY_UnExec FROM tempTblRTS_TYPE_PAY_UnExec
880 ))
881 AND (CL.IsPreProcessed = 'y')
882 )
883 OR (
884 (Rep.xType_pay NOT IN (
885 SELECT RTS_TYPE_PAY_UnExec FROM tempTblRTS_TYPE_PAY_UnExec
886 ))
887 AND (CL.IsProcessed = 'y')
888 )
889 )
890 );
891
892
893
894 INSERT INTO @tbl1(id, Size, Rep_ID, xDate, xKod, xAccount, xType_pay, xPay, xName, xComment, xPURPOSE, xPAYER, xType, SumSbortr_Rep, S_Rep, AcPut_Rep, Ac_Rep)
895 SELECT
896 CL.id,
897 CL.Size,
898 Rep.Rep_ID, Rep.xDate, Rep.xKod, Rep.xAccount, Rep.xType_pay, Rep.xPay, Rep.xName, Rep.xComment, Rep.xPURPOSE, Rep.xPAYER, Rep.xType, Rep.SumSbortr_Rep, Rep.S_Rep, Rep.AcPut_Rep, Rep.Ac_Rep
899 FROM CorrectPositions AS CL
900 INNER JOIN @Rep AS Rep
901 ON ((CL.Subacc_ID = Rep.S_Rep) AND (CL.Account_ID = Rep.Ac_Rep))
902 WHERE (
903 (CL.Enabled = 0)
904 AND (CL.RegistrationDate = @ReportDate)
905 AND (CL.Asset_ID IN (
906 SELECT GetTrueRUR.id FROM dbo.GetTrueRUR_foo(@AT_MON) AS GetTrueRUR
907 ))
908 AND (CL.IsCanceled = 'n')
909/* =========== */
910/* ÐÐЧÐЛО При .Type_pay = 1834 */
911 AND (Rep.xType_pay = 1834)
912 AND (
913 (
914 (Rep.SumSbortr_Rep < 0)
915 AND (CL.CT_Const = @CT_MON_OUT)
916 )
917 OR (CL.CT_Const = @CT_MON_IN)
918 )
919 AND (CL.Comment = Rep.xComment)
920/* КОÐЕЦ При .Type_pay = 1834 */
921/* =========== */
922 AND (
923 (
924 (Rep.xType_pay IN (
925 SELECT RTS_TYPE_PAY_UnExec FROM tempTblRTS_TYPE_PAY_UnExec
926 ))
927 AND (CL.IsPreProcessed = 'y')
928 )
929 OR (
930 (Rep.xType_pay NOT IN (
931 SELECT RTS_TYPE_PAY_UnExec FROM tempTblRTS_TYPE_PAY_UnExec
932 ))
933 AND (CL.IsProcessed = 'y')
934 )
935 )
936 );
937
938
939
940
941 INSERT INTO @tbl2(id, Size, Rep_ID, xDate, xKod, xAccount, xType_pay, xPay, xName, xComment, xPURPOSE, xPAYER, xType, SumSbortr_Rep, S_Rep, AcPut_Rep, Ac_Rep)
942 SELECT
943 MIN(CL.id) AS id,
944 SUM(CL.Size) AS Size, /* Сумма CL.Size */
945 CL.Rep_ID,
946 MIN(CL.xDate) AS xDate,
947 MIN(CL.xKod) AS xKod,
948 MIN(CL.xAccount) AS xAccount,
949 MIN(CL.xType_pay) AS xType_pay,
950 MIN(CL.xPay) AS xPay,
951 MIN(CL.xName) AS xName,
952 MIN(CL.xComment) AS xComment,
953 MIN(CL.xPURPOSE) AS xPURPOSE,
954 MIN(CL.xPAYER) AS xPAYER,
955 MIN(CL.xType) AS xType,
956 MIN(CL.SumSbortr_Rep) AS SumSbortr_Rep,
957 MIN(CL.S_Rep) AS S_Rep,
958 MIN(CL.AcPut_Rep) AS AcPut_Rep,
959 MIN(CL.Ac_Rep) AS Ac_Rep
960 FROM @tbl1 AS CL
961 GROUP BY CL.Rep_ID;
962
963
964
965
966
967
968 RETURN;
969 END;
970GO
971/* КОÐЕЦ поиÑка запиÑей CL */
972
973
974
975
976
977
978
979
980
981/*
982ОСÐОВÐОЙ МОДУЛЬ
983-----------------------------------------------------------------------
984*/
985
986DECLARE @ReportDate INT, @RTSClearingTime VARCHAR(4);
987DECLARE @myArrayForts TABLE(id SMALLINT IDENTITY(1, 1), forts VARCHAR(32)); /* Ñоздаём маÑÑив Ð´Ð»Ñ FORTS */
988DECLARE @RTS_TYPE_PAY TABLE(RTS_TYPE_PAY INT); /* Ñоздаём маÑÑив Ð´Ð»Ñ RTS_TYPE_PAY */
989DECLARE @RTS_TYPE_PAY_UnExec TABLE(RTS_TYPE_PAY_UnExec INT); /* Ñоздаём маÑÑив Ð´Ð»Ñ RTS_TYPE_PAY_UnExec */
990DECLARE @Sverka TABLE(xDate INT, xKod VARCHAR(12), xAccount VARCHAR(2), xType_pay INT, xPay FLOAT, xName VARCHAR(128), xComment VARCHAR(256), xPURPOSE VARCHAR(256), xPAYER VARCHAR(64)); /* Ñоздаём маÑÑив Ð´Ð»Ñ RTS_TYPE_PAY */
991DECLARE @AS_RUB TINYINT, @AT_FO TINYINT, @AT_MON TINYINT, @CT_MON_FEE_FO TINYINT, @CT_MON_IN TINYINT, @CT_MON_OUT TINYINT;
992SET @AS_RUB = 15; /* Рубли РФ */
993SET @AT_FO = 2; /* Права и обÑзательÑтва */
994SET @AT_MON = 3; /* Денежные активы */
995SET @CT_MON_FEE_FO = 10; /* КоÑвенные раÑходы Ñрочного рынка */
996SET @CT_MON_IN = 6; /* Ввод ДС */
997SET @CT_MON_OUT = 7; /* Вывод ДС */
998
999
1000
1001SET @ReportDate = 20091103; /* дата отчёта */
1002
1003/*
1004Ð’Ñ€ÐµÐ¼Ñ Ð²ÐµÑ‡ÐµÑ€Ð½ÐµÐ³Ð¾ клиринга РТС (может не указыватьÑÑ)
1005Значение функции равно времени, заданному в формате "hhmm"
1006в значении ключа RTSClearingTime Ñекции [trades-section] ini файла (по умолчанию 1900)
1007*/
1008--- SET @RTSClearingTime = '1945';
1009
1010INSERT INTO @myArrayForts(forts) VALUES('FORTS');
1011INSERT INTO @myArrayForts(forts) VALUES('RTS MONEY');
1012
1013/*
1014значение ключа RTS_TYPE_PAY Ñекции [trades-section] файла srvTDB.ini (значение ключа по умолчанию 1937,1938)
1015*/
1016INSERT INTO @RTS_TYPE_PAY(RTS_TYPE_PAY) VALUES(1937);
1017INSERT INTO @RTS_TYPE_PAY(RTS_TYPE_PAY) VALUES(1938);
1018INSERT INTO @RTS_TYPE_PAY(RTS_TYPE_PAY) VALUES(1832);
1019INSERT INTO @RTS_TYPE_PAY(RTS_TYPE_PAY) VALUES(1846);
1020INSERT INTO @RTS_TYPE_PAY(RTS_TYPE_PAY) VALUES(1836);
1021INSERT INTO @RTS_TYPE_PAY(RTS_TYPE_PAY) VALUES(1827);
1022INSERT INTO @RTS_TYPE_PAY(RTS_TYPE_PAY) VALUES(1826);
1023INSERT INTO @RTS_TYPE_PAY(RTS_TYPE_PAY) VALUES(1829);
1024INSERT INTO @RTS_TYPE_PAY(RTS_TYPE_PAY) VALUES(2019);
1025INSERT INTO @RTS_TYPE_PAY(RTS_TYPE_PAY) VALUES(1847);
1026INSERT INTO @RTS_TYPE_PAY(RTS_TYPE_PAY) VALUES(1833);
1027INSERT INTO @RTS_TYPE_PAY(RTS_TYPE_PAY) VALUES(1834);
1028
1029/*
1030значение ключа RTS_TYPE_PAY_UnExec Ñекции [trades-section] файла srvTDB.ini (по умолчанию ключ не задан)
1031*/
1032INSERT INTO @RTS_TYPE_PAY_UnExec(RTS_TYPE_PAY_UnExec) VALUES(1834);
1033
1034INSERT INTO @Sverka(xDate, xKod, xAccount, xType_pay, xPay, xName, xComment, xPURPOSE, xPAYER)
1035 VALUES (
1036 @ReportDate,
1037 '!!!!!zmaks',
1038 'CL',
1039 1836,
1040 15.3,
1041 'Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°',
1042 'коммент1',
1043 'коммент2',
1044 '#IntCont'
1045 );
1046
1047/* ÐÐЧÐЛО набор теÑтовых данных */
1048INSERT INTO @Sverka(xDate, xKod, xAccount, xType_pay, xPay, xName, xComment, xPURPOSE, xPAYER)
1049 VALUES (
1050 @ReportDate,
1051 '2!!!!zmaks',
1052 'HR',
1053 1836,
1054 15.3,
1055 'Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°',
1056 'коммент1',
1057 'коммент2',
1058 'fake firm'
1059 );
1060
1061INSERT INTO @Sverka(xDate, xKod, xAccount, xType_pay, xPay, xName, xComment, xPURPOSE, xPAYER)
1062 VALUES (
1063 @ReportDate,
1064 '2!!!!zmaks',
1065 'CL',
1066 1937,
1067 15.3,
1068 'Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°',
1069 'коммент1',
1070 'коммент2',
1071 'fake firm'
1072 );
1073
1074INSERT INTO @Sverka(xDate, xKod, xAccount, xType_pay, xPay, xName, xComment, xPURPOSE, xPAYER)
1075 VALUES (
1076 @ReportDate,
1077 '2!!!!zmaks',
1078 'CL',
1079 1937,
1080 15.3,
1081 'Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°',
1082 'коммент1',
1083 'коммент2',
1084 'fake firm'
1085 );
1086
1087
1088INSERT INTO @Sverka(xDate, xKod, xAccount, xType_pay, xPay, xName, xComment, xPURPOSE, xPAYER)
1089 VALUES (
1090 @ReportDate,
1091 '2!!!!zmaks',
1092 'CL',
1093 1938,
1094 5,
1095 'Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°',
1096 'коммент1',
1097 'коммент2',
1098 'fake firm'
1099 );
1100
1101INSERT INTO @Sverka(xDate, xKod, xAccount, xType_pay, xPay, xName, xComment, xPURPOSE, xPAYER)
1102 VALUES (
1103 @ReportDate,
1104 '2!!!!zmaks',
1105 'CL',
1106 1938,
1107 3,
1108 'Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°',
1109 'коммент1',
1110 'коммент2',
1111 'fake firm'
1112 );
1113
1114
1115INSERT INTO @Sverka(xDate, xKod, xAccount, xType_pay, xPay, xName, xComment, xPURPOSE, xPAYER)
1116 VALUES (
1117 @ReportDate,
1118 '2!!!!zmaks',
1119 'CL',
1120 1836,
1121 3,
1122 'Ð´Ð»Ñ ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚Ð°',
1123 'коммент1',
1124 'коммент2',
1125 'fake firm'
1126 );
1127/* КОÐЕЦ набор теÑтовых данных */
1128
1129
1130
1131
1132
1133
1134
1135IF (
1136 (
1137 SELECT COUNT(*) FROM @RTS_TYPE_PAY
1138 ) = 0
1139)
1140 BEGIN
1141 INSERT INTO @RTS_TYPE_PAY(RTS_TYPE_PAY) VALUES(1937);
1142 INSERT INTO @RTS_TYPE_PAY(RTS_TYPE_PAY) VALUES(1938);
1143 END;
1144
1145
1146CREATE TABLE tempTblForts(id SMALLINT, forts VARCHAR(32)); /* Ñоздаём временную таблицу tempTblForts */
1147INSERT INTO tempTblForts SELECT id, forts FROM @myArrayForts;
1148
1149CREATE TABLE tempTblRTS_TYPE_PAY(RTS_TYPE_PAY INT); /* Ñоздаём временную таблицу tempTblRTS_TYPE_PAY */
1150INSERT INTO tempTblRTS_TYPE_PAY SELECT RTS_TYPE_PAY FROM @RTS_TYPE_PAY;
1151
1152CREATE TABLE tempTblRTS_TYPE_PAY_UnExec(RTS_TYPE_PAY_UnExec INT); /* Ñоздаём временную таблицу tempTblRTS_TYPE_PAY_UnExec */
1153INSERT INTO tempTblRTS_TYPE_PAY_UnExec SELECT RTS_TYPE_PAY_UnExec FROM @RTS_TYPE_PAY_UnExec;
1154
1155CREATE TABLE tempTblSverka(xDate INT, xKod VARCHAR(12), xAccount VARCHAR(2), xType_pay INT, xPay FLOAT, xName VARCHAR(128), xComment VARCHAR(256), xPURPOSE VARCHAR(256), xPAYER VARCHAR(64)); /* Ñоздаём временную таблицу tempTblSverka */
1156INSERT INTO tempTblSverka SELECT xDate, xKod, xAccount, xType_pay, xPay, xName, xComment, xPURPOSE, xPAYER FROM @Sverka;
1157
1158
1159/*
1160оÑновной код
1161*/
1162SELECT * FROM dbo.R_set(@ReportDate) AS R;
1163--- SELECT * FROM dbo.Rep_set(@ReportDate, @AT_MON, @AS_RUB, @AT_FO) AS Rep;
1164
1165SELECT * FROM dbo.CL_set(@ReportDate, @AT_MON, @AS_RUB, @AT_FO, @CT_MON_FEE_FO, @CT_MON_IN, @CT_MON_OUT, @RTSClearingTime) AS CL;
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182DROP TABLE tempTblForts; /* удалÑем временную таблицу tempTblForts */
1183DROP TABLE tempTblRTS_TYPE_PAY; /* удалÑем временную таблицу tempTblRTS_TYPE_PAY */
1184DROP TABLE tempTblRTS_TYPE_PAY_UnExec; /* удалÑем временную таблицу tempTblRTS_TYPE_PAY_UnExec */
1185DROP TABLE tempTblSverka; /* удалÑем временную таблицу tempTblSverka */
1186DROP FUNCTION dbo.Forts_TSs_Ids_set;
1187DROP FUNCTION dbo.GetRUR_foo;
1188DROP FUNCTION dbo.TSS_set;
1189DROP FUNCTION dbo.R_set;
1190DROP FUNCTION dbo.TradeCode_foo;
1191DROP FUNCTION dbo.Rep_set;
1192DROP FUNCTION dbo.RTSClearingTime_foo;
1193DROP FUNCTION dbo.GetTrueRUR_foo;
1194DROP FUNCTION dbo.CL_set;
1195GO