powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Быстродействие.
7 сообщений из 32, страница 2 из 2
Быстродействие.
    #34881496
МаксимАКБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
OT17p ;
	q
	;$Id: OT17p. 1 .INT,v  1 . 21   2005 / 07 / 14   17 : 58 : 17  pin Exp $
StartKred(N) ; Запуск отчетов из модуля "Кредиты"
	n KBS,Dat,T,X
	q:+$g(N)= 0 
	s %TMP("FAAKRED")= 1 
	d SetPar(.Dat)
	d @N
	k %TMP("FAAKRED")
	q
	;--------------------- Селектор отчетов -------------------------
OT(Dat,NZ,KBS,T) k (%sys,%M,%TMP,Dat,NZ,KBS,T) k ^GRINT(%sys)
	n saveT,kvart s saveT=T  ;похоже, что ^%WMSA (или что-то другое) портит T
	s %F="0,ENT,F10,ESC"
	d SetPar(Dat)
Sel k %P s %G=$na(^SELECT("DOC","SmallScreen 5", 1 )),%X="s Z=^(S)"
	s %F( 4 )= 1 ,(%F("Q"),%P("P"))= 1 ,%P("G")=$na(^OTHA17( 0 )),%P("Q")=$na(^mtempORL17(%sys, 4 )),%P("PL")="± "
	d ZH^%WM(%G," Список отчетов 17-й инструкции "," <Ins>, <Пробел> Отметить <Enter> Вызов отчетов ")
	s %S=$c( 0 , 8 , 3 , 24 )_%S
	d ^%WMSA i %sys("FK")="ESC" s %W=+%F d C^%WM QUIT   ;***
	s ^mtempORL17(%sys, 1 , 1 )=Dat,^( 2 )=NZ,^( 3 )=$p(KBS,","),^( 4 )=T
	s T=$g(^mtempORL17(%sys, 1 , 4 ))
	i $d(^mtempORL17(%sys, 4 ))< 10  s (%F( 2 . 2 ),N)=%P g:$t(@N)="" Sel M ^GRINT(%sys)=^mtempORL17(%sys, 1 ) d @N g Sel
	s N="" f  s N=$o(^mtempORL17(%sys, 4 ,N)) q:N=""  i $t(@N)'="" M ^GRINT(%sys)=^mtempORL17(%sys,1) d @N
	k ^mtempORL17(%sys,4) s %F(1)=2 g Sel
1 d V1^OT17v d  q
	.i +$g(%TMP("FAAOT17"))'= 0  d RunRep^GRRun("OT17p1_TKB") q
	.d RunRep^GRRun("OT17p1") q
 2  d V2^OT17v d  q
	.i +$g(%TMP("FAAOT17"))'=0 d RunRep^GRRun("OT17p2_TKB") q
	.d RunRep^GRRun("OT17p2") q
3 d Start^Z2017V04($g(Dat),$g(KBS),$g(T)) q
4 d VYB^OTH17i4o d  q
	.i +$g(%TMP("FAAOT17"))'= 0  d Pril4^Z2017F01() q
	.d RunRep^GRRun("I17P4") q
 5  n %F,N,Dat,NZ,KBS,T d V5^OT17v d  q
	.i +$g(%TMP("FAAOT17"))'=0 d RunRep^GRRun("OT17p5_TKB") q
	.d RunRep^GRRun("OT17p5") q
6 n %F,N,Dat,NZ,KBS,T d V6^OT17v d  q
	.i +$g(%TMP("FAAOT17"))'= 0  d RunRep^GRRun("OT17p6_TKB") q
	.d RunRep^GRRun("OT17p6") q
 7  i $g(Dat)="" s Dat=$$GetDat^Z2017V01() q:Dat=""      ; дата отчета (ЗА)
	i $g(KBS)="" s KBS=$$GetKBS^Z2017V01(Dat) q:KBS=""   ; список банков
	i $g(T)="" s T=$$GetPrec^Z2017V01(Dat) q:T=""        ; точность отчета
	n TypOt i $g(TypOt)="" s TypOt=$$GetTypOt^Z2017V01()  ; тип отчетности
	d V7^OT17v(Dat,KBS,T,TypOt) d  q
	.i +$g(%TMP("FAAOT17"))'=0 d Pril7^Z2017F01() q
	.d SetPar^GR("I17P7",Dat,T,KBS,%M("KBN"),TypOt),RunRep^GRRun("I17P7")
	.i $g(%TMP("FAAPROT"))=1,$$Q^%pbwin03("Показать протокол?","Да~Нет",1)=1 d
	..d SetPar^GR("I17Prot115",Dat),RunRep^GRRun("I17Prot115")
	.i $g(%TMP("FAAFILE")),$$Q^%pbwin03("Производить сброс Приложения 7 в файл ?","Да~Нет",1)=1 d
	..i $g(%TMP("FAAFILE"))=2 d WritePTKPSD7^Z2017N02(Dat+1,$na(^mtempORL17(%sys))) q
10 d Start10^Z2017V03($g(Dat),$g(KBS),$g(T)) q
13 d Start13^Z2017V02($g(Dat),$g(KBS),$g(T)) q
15 d DenSred^Z2000P17($g(T)) q
16 d SvedRK^Z2000P17 q
17 d AktPass^Z2000P17($g(Dat),$g(KBS),$g(T)) q
18 d  q
	.i +$g(%TMP("FAAOT17"))'= 0  d Pril18^Z2017F01(KBS,Dat,T) q
	.d SetPar^GR("I17P18",Dat,T,KBS,%M("KBN")),RunRep^GRRun("I17P18") q
 20  d Start20^Z2017V01($g(Dat),$g(KBS),$g(T)) q
 21  i $g(Dat)="" s Dat=$$GetDat^Z2017V01() q:Dat=""   ; дата отчета (ЗА) KRA
	i $g(KBS)="" s KBS=$$GetKBS^Z2017V01(Dat) q:KBS=""  ; список банков    KRA
	i $g(T)="" s T=$$GetPrec^Z2017V01(Dat) q:T=""       ; точность отчета  KRA
	d V21^OT17v(Dat,KBS,T) d  q
	.i +$g(%TMP("FAAOT17"))'=0 d Pril21^Z2017F01(KBS,Dat,T) q       
	.d SetPar^GR("I17P21",Dat,T,KBS,%M("KBN")),RunRep^GRRun("I17P21")
	.i $g(%TMP("FAAPROT")) d
	..i $g(%TMP("FAAPROT"))=1,$$Q^%pbwin03("Показать протоколы?","Да~Нет",1)'= 1  q
	..d SetPar^GR("I17Prot21",Dat),RunRep^GRRun("I17Prot21")
	..d SetPar^GR("I17Prot21-1",Dat),RunRep^GRRun("I17Prot21-1")
	.i $g(%TMP("FAAFILE")) d
	..i $$Q^%pbwin03("Производить сброс Приложения 21 в файл ?","Да~Нет", 1 )'=1 q
	..i $g(%TMP("FAAFILE"))=1 d Write21ToKliko^Z2017N01($na(^mtempORL17(%sys,0)),Dat) q
	..i $g(%TMP("FAAFILE"))=2 d WritePTKPSD21^Z2017N02(Dat+1,$na(^mtempORL17(%sys,0))) q
22 d V22^OT17v(Dat,KBS,T) d  q
	.i +$g(%TMP("FAAOT17"))'= 0  d Pril22^Z2017F01() q
	.d SetPar^GR("I17P22",Dat,T,KBS,%M("KBN")),RunRep^GRRun("I17P22") q
 23  d V23^OT17v(Dat,KBS,T) d  Q
	.i +$g(%TMP("FAAOT17"))'=0 d Pril23^Z2017F01() q
	.d SetPar^GR("I17P23",Dat,T,KBS,%M("KBN")),RunRep^GRRun("I17P23") q
24 d V24^OT17v(Dat,KBS,T) d  Q
	.s kvart=$$GetNumKvart^OT17p(Dat)
	.i +$g(%TMP("FAAOT17"))'= 0  d Pril24^Z2017F01() q
	.d SetPar^GR("I17P24",Dat,T,KBS,%M("KBN"),kvart),RunRep^GRRun("I17P24") q
GetNumKvart(DAT) 
	n ss,mm
	s ss=$$hA^%pbwin04($g(DAT))
	s mm=+$e(ss, 5 , 6 ),mm=$s(mm< 4 :"1",mm< 7 :"2",mm< 10 :"3", 1 : 4 )_" квартал "_$e(ss, 1 , 4 )_" г."
	Q mm
GetBegKvart(DAT) 
	n ss,mm
	s ss=$$hA^%pbwin04($g(DAT))
	s mm=+$e(ss, 5 , 6 ),mm=$s(mm< 4 :"01",mm< 7 :"04",mm< 10 :"07", 1 : 10 )
	s ss=$$hB^%pbwin04($e(ss, 1 , 4 )_mm_"01")
	Q ss
SetPar(Dat)
	n dt,fld,oth
	i $g(Dat)="" s Dat=$$GetDat^Z2017V01() q:Dat="" 
	s dt=$o(^OTH17("PAR",Dat+ 0 . 01 ),- 1 )
	i dt="" d  q
	.i $$Q^%pbwin03("Не заданы параметры формирования отчетов!")
	s oth=$na(^OTH17("PAR",dt))
	s fld="" f  s fld=$o(@oth@(fld)) q:fld=""  d
	.s %TMP(fld)=$g(@oth@(fld))
	q
retpath() q $na(^FFFAAA( 115 ))

вот что я нашел. вызывается отчет вот так

s %TMP("FAAKRED")=1 s %TMP("STAVKI")=1 d StartKred^OT17p(20)

StartKred^OT17p

я выложил выше
...
Рейтинг: 0 / 0
Быстродействие.
    #34881789
Hima
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А можно Start20^Z2017V01 еще?))
...
Рейтинг: 0 / 0
Быстродействие.
    #34881945
МаксимАКБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
Start20(Dat,KBS,T) 
	n KrEnable,Vib,Cnt,Dogs,Par,bDlngEn,naTikets,CrdEnable,CDogs
	i $g(Dat)="" s Dat=$$GetDat() q:Dat=""          ; дата отчета (ЗА)
	i $g(KBS)="" s KBS=$$GetKBS(Dat) q:KBS=""      ; список банков
	; --- счета 2-го порядка из :OTHPB(128)
	s VerB2=$NA(@$$TMP^%pb0()@("Z2017V01","VerB2"))
	K @VerB2
	S DAT=$O(^OTHPB( 128 ,Dat+. 1 ),- 1 ) I DAT="" D  ;;;;;Q
	.;;;;;I $$Q^%pbwin03("Нет настроек Б.С. для формы №128 по 1579-У (в ^OTHPB(128)")
	I DAT'="" S (R,COL)="" F  S R=$O(^OTHPB(128,DAT,R)) Q:R=""  D
	.F  S COL=$O(^OTHPB(128,DAT,R,COL)) Q:COL=""  S DN=^(COL) D
	..S X="F I="_$P(DN,%sys("del"),2)_" S @VerB2@(R,COL,I)="""""
	..X X
	; ---------------------------------------------------------------
	d Lst2Arr^OPaLibF2(.KBS,",") k ^FFFAAA(128)
	i $g(T)="" s T=$$GetPrec(Dat) q:T=""            ; точность отчета
	s Par("Dat")=Dat
	s KrEnable=$$KredPres()                         ; наличие модуля кредитов
	s CrdEnable=$$CardPres()
	s Vib=$NA(^mtempORL17(%sys,0)) k @Vib           ; выборка для отчета
	s bDlngEn=(+$$RgKeyGet^Z0004VER("Версии продуктов","Валютный дилинг (2)")>0) ; установлен дилинг
	s Dogs=$NA(@$$TMP^%pb0()@("Z2017V01","SelDogs")) ; отобранные договора
	s CDogs=$NA(@$$TMP^%pb0()@("Z2017V01","SelCDogs")) ;отобранные карточные договора
	s naTikets=$NA(@$$TMP^%pb0()@("Z2017V01","SelTikets")) ; отобранные сделки дилинга
	k @Dogs,@CDogs,@naTikets s Cnt=0
	;
	n rur,usd,euro,kurs,kurseu,in,Prot,sysnd,c,Prot1
	s c=%sys("del") s Prot=$na(@$$TMP^%pb0()@("Z2017V01","PROTOCOL")),Prot1=$na(@$$TMP^%pb0()@("Z2017V01","PROTOCOL-OUT")) k @Prot,@Prot1
	s rur=$$ISO2KV^libOPLv(810,Dat,%M("KBN"))
	s usd=$$ISO2KV^libOPLv(840,Dat,%M("KBN"))
	s euro=$$ISO2KV^libOPLv(978,Dat,%M("KBN"))
	n sysnd
	s sysnd=$$GetKurs^libOPLv(usd,Dat,0,2)
	s in("Kur")=""
	s kurs=$$ReadMn^libDoc(.in,sysnd,.in)
	s kurs=$g(in("Kur"))
	s kurs=$s(+$p(kurs,":")'= 0 :$p(kurs,":", 2 )/$p(kurs,":"), 1 : 0 )
	s sysnd=$$GetKurs^libOPLv(euro,Dat, 0 , 2 )
	s in("Kur")=""
	s kurseu=$$ReadMn^libDoc(.in,sysnd,.in)
	s kurseu=$g(in("Kur"))
	s kurseu=$s(+$p(kurseu,":")'=0:$p(kurseu,":",2)/$p(kurseu,":"),1:0)
	s (@Prot@("KV",usd),@Prot1@("KV",usd))=$$KV2ISO^libOPLv(usd,2)_c_$j(kurs,0,4)
	s (@Prot@("KV",euro),@Prot1@("KV",euro))=$$KV2ISO^libOPLv(euro,2)_c_$j(kurseu,0,4)
	;
	i KrEnable d
	.s Cnt=$$GetDogs^Z2017V01(.KBS,Dogs,"Pril20","KODDOPOLN,ISPOLNEN·TECHDATA",,Dat,$s($g(%TMP("FAAKRED"))'="": 0 , 1 : 1 )) q:Cnt=- 1      ; отбор договоров (селектор)
	.s Par("KursVal")=$g(@Dogs@("SEL","KursVal"),"DatOtc")  ; DatSob/DatOtc/Nominal
	.s Par("ValOtc")=$g(@Dogs@("SEL","ValOtc"),%M("KVNe"))  ; валюта отчета
	.i Par("ValOtc")=%M("KVNe") q
	.i $$Q^%pbwin03("Отчет не в н.э. Показатели будут |проигнорированы|.","Продолжить~Отказаться", 1 ,"|")= 2  s Cnt=- 1 
	i bDlngEn d  ; отбор сделок из дилинга
	. D GetTikets^ZDLNGDPT(KBS,naTikets, 1 ,$$bom^Zdate(Dat),Dat,$s($g(%TMP("FAAKRED"))'="":0,1:1))
	i 'KrEnable s Par("KursVal")="DatOtc" s Par("ValOtc")=%M("KVNe")
	i CrdEnable d
	.d GetCardDogs(.KBS,CDogs,Dat)
	i Cnt=- 1  k @Dogs,@Vib q
	d mes^%pbwin05("Просмотр показателей...")
	d V20^OT17v(Dat,KBS,$s(KrEnable!bDlngEn!CrdEnable:"0,2", 1 :T))     ; заполним отчет показателями
	i KrEnable!bDlngEn,Par("ValOtc")'=%M("KVNe") d PreCalc20(Vib,.Par)
	i KrEnable d Start20^Z2KRDF10(KBS,Dat,T,Prot,Prot1)
	i bDlngEn d dlCalc20(naTikets,Vib,Par("ValOtc"),Dat)         ; дополним данными из дилинга
	i CrdEnable d CardCalc20(KBS,CDogs,Vib,Dat)
	i KrEnable!bDlngEn!CrdEnable d Prec20(Vib,T)                                    ; "причешем" и приведем к нужной точности
	n Rzd s Rzd="" f  s Rzd=$o(@Vib@(Rzd)) q:Rzd=""  s $p(@Vib@(Rzd),%sys("del"),4)=$p("российских рублях,долларах США,евро",",",Rzd)
	d mes^%pbwin05("",1)
	i '$d(%M("Prec")) s %M("Prec")=T
	d
	. i +$g(%TMP("FAAOT17"))'=0 d Pril20^Z2017F01() q
	. d SetPar^GR("I17P20",Dat,T,KBS,%M("KBN")),RunRep^GRRun("I17P20")
	. i $g(%TMP("FAAPROT")) d
	.. i $g(%TMP("FAAPROT"))=1,$$Q^%pbwin03("Показать протоколы?","Да~Нет",1)'= 1  q
	.. d SetPar^GR("I17Prot20",Dat),RunRep^GRRun("I17Prot20")
	.. d SetPar^GR("I17Prot20-1",Dat),RunRep^GRRun("I17Prot20-1")
	. i $g(%TMP("FAAFILE")) d  q
	.. i $$Q^%pbwin03("Производить сброс Приложения 20 в файл ?","Да~Нет", 1 )'= 1  q
	.. i $g(%TMP("FAAFILE"))= 1  d Write20ToKliko^Z2017N01(Vib,Dat) q
	.. i $g(%TMP("FAAFILE"))= 2  d WritePTKPSD20^Z2017N02(Dat+ 1 ,Vib) q
	k @Vib,@Dogs,@naTikets                              ; убрали мусор
	q
...
Рейтинг: 0 / 0
Быстродействие.
    #34882428
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну раз код доступен - имеет смысл нтравить на него ^%MONLBL
...
Рейтинг: 0 / 0
Быстродействие.
    #34883637
Sergei Obrastsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
	n saveT,kvart s saveT=T  ;похоже, что ^%WMSA (или что-то другое) портит T
...
	d ^%WMSA i %sys("FK")="ESC" s %W=+%F d C^%WM QUIT   ;***
	s ^mtempORL17(%sys, 1 , 1 )=Dat,^( 2 )=NZ,^( 3 )=$p(KBS,","),^( 4 )=T

Ну раз они сами пишут "портит T", то нафига ж делать " ^(4)=T "?
Следует поправить на " ^(4)=saveT ", раз уж потом все-равно идет:

Код: plaintext
1.
	s T=$g(^mtempORL17(%sys, 1 , 4 ))


Далее, очень хотелось бы уточнить по Z2017V01, какого рода ссылку представляет
из себя результат

Код: plaintext
1.
s VerB2=$NA(@$$TMP^%pb0()@("Z2017V01","VerB2"))

Это важно.
...
Рейтинг: 0 / 0
Быстродействие.
    #34883779
МаксимАКБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergei Obrastsov
Код: plaintext
1.
2.
3.
4.
	n saveT,kvart s saveT=T  ;похоже, что ^%WMSA (или что-то другое) портит T
...
	d ^%WMSA i %sys("FK")="ESC" s %W=+%F d C^%WM QUIT   ;***
	s ^mtempORL17(%sys, 1 , 1 )=Dat,^( 2 )=NZ,^( 3 )=$p(KBS,","),^( 4 )=T

Ну раз они сами пишут "портит T", то нафига ж делать " ^(4)=T "?
Следует поправить на " ^(4)=saveT ", раз уж потом все-равно идет:

Код: plaintext
1.
	s T=$g(^mtempORL17(%sys, 1 , 4 ))


Далее, очень хотелось бы уточнить по Z2017V01, какого рода ссылку представляет
из себя результат

Код: plaintext
1.
s VerB2=$NA(@$$TMP^%pb0()@("Z2017V01","VerB2"))

Это важно.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Z2017V01

VerB2(kns,Rzd,Col) ;
	N b2
	; ---- Нет Настроек
	I $D(@VerB2)< 10  Q  1 
	S kns=$G(kns),Rzd=$G(Rzd),Col=$G(Col)
	i kns="" Q  0 
	S b2=$$GetFondS^libOPL2(kns,Dat,"B2",,kbn)
	I $D(@VerB2@(+Rzd,+Col,+b2)) Q  1 
	Q  0 
авторНу раз код доступен - имеет смысл нтравить на него ^%MONLBL
попробую
...
Рейтинг: 0 / 0
Быстродействие.
    #34886512
Sergei Obrastsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МаксимАКБ
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
VerB2(kns,Rzd,Col) ;
	N b2
	; ---- Нет Настроек
	I $D(@VerB2)< 10  Q  1 
	S kns=$G(kns),Rzd=$G(Rzd),Col=$G(Col)
	i kns="" Q  0 
	S b2=$$GetFondS^libOPL2(kns,Dat,"B2",,kbn)
	I $D(@VerB2@(+Rzd,+Col,+b2)) Q  1 
	Q  0 

Нет, это не то. Меня интересует именно сама ссылка. Что это, локаль или глобаль?
...
Рейтинг: 0 / 0
7 сообщений из 32, страница 2 из 2
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Быстродействие.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]