From bcb1d948318714377cf40f57488bd3852757f7fe Mon Sep 17 00:00:00 2001 From: kav Date: Tue, 3 Oct 2017 00:58:31 +0300 Subject: [PATCH 1/5] =?UTF-8?q?=D0=9C=D0=B5=D0=BB=D0=BA=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B4=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D0=B8=20*=20?= =?UTF-8?q?=D0=9A=D0=BE=D1=81=D1=82=D1=8B=D0=BB=D1=8C=20=D0=BD=D0=B0=20?= =?UTF-8?q?=D1=81=D0=BE=D1=85=D1=80=D0=B0=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B2=D1=8B=D0=B4=D0=B5=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B8=20=D0=BA=D0=BE=D0=BC=D0=BC=D0=B5=D0=BD=D1=82=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B8/=D1=80=D0=B0=D1=81?= =?UTF-8?q?=D0=BA=D0=BE=D0=BC=D0=BC=D0=B5=D0=BD=D1=82=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D0=B8=20=D1=82=D0=B5=D0=BA=D1=81=D1=82?= =?UTF-8?q?=D0=B0=20*=20=D0=9F=D0=B5=D1=80=D0=B5=D0=B4=20=D1=81=D0=BE?= =?UTF-8?q?=D1=85=D1=80=D0=B0=D0=BD=D0=B5=D0=BD=D0=B8=D0=B5=D0=BC=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=BF=D0=BE=D0=BC=D0=B8=D0=BD=D0=B0=D0=B5=D0=BC=20=D1=80?= =?UTF-8?q?=D0=B5=D0=B4=D0=B0=D0=BA=D1=82=D0=B8=D1=80=D1=83=D0=B5=D0=BC?= =?UTF-8?q?=D1=8B=D0=B9=20=D1=82=D0=B5=D0=BA=D1=81=D1=82=20*=20=D0=9A?= =?UTF-8?q?=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=BD=D0=B0=D1=8F=20=D0=BF=D0=B0?= =?UTF-8?q?=D0=BD=D0=B5=D0=BB=D1=8C=20=D1=80=D0=B5=D0=B4=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CodeConsole83.epf | Bin 35365 -> 35417 bytes ...0\244\320\276\321\200\320\274\320\260.bsl" | 21 +- src/CodeConsole83/maps.txt | 2 +- .../6e6904e6-445a-4678-957b-e39d02fce6a4.0 | 588 ++++++++---------- src/CodeConsole83/und/versions | 2 +- 5 files changed, 271 insertions(+), 342 deletions(-) diff --git a/CodeConsole83.epf b/CodeConsole83.epf index bbee925a073d6528fec559d3531b1d73374b63a6..acc45453d7aca742748e4dd5b2b7729009e2be41 100644 GIT binary patch delta 25216 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 LMkDlJ|B=C36X~8B delta 25170 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 Ot+~-f-16%mk-=KhH*FvQ diff --git "a/src/CodeConsole83/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" "b/src/CodeConsole83/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" index 2c67ae7..80439a7 100644 --- "a/src/CodeConsole83/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" +++ "b/src/CodeConsole83/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" @@ -1268,12 +1268,23 @@ ВыбраннаяНастройка_Текст.ЗаменитьСтроку(сч, НовСтрока); КонецЦикла; - Элементы.ВыбраннаяНастройка_Текст.УстановитьГраницыВыделения(СтрНач, КолНач, СтрКон, КолКон); + ХранилищеПараметров.Вставить("ГраницыВыделения", Новый Структура("СтрНач, КолНач, СтрКон, КолКон", СтрНач, КолНач, СтрКон, КолКон)); + + УстановитьГраницыВыделения(); + ПодключитьОбработчикОжидания("УстановитьГраницыВыделения", 0.1, Истина); Модифицированность = Истина; КонецПроцедуры +&НаКлиенте +Процедура УстановитьГраницыВыделения() + + ГраницыВыделения = ХранилищеПараметров.ГраницыВыделения; + Элементы.ВыбраннаяНастройка_Текст.УстановитьГраницыВыделения(ГраницыВыделения.СтрНач, ГраницыВыделения.КолНач, ГраницыВыделения.СтрКон, ГраницыВыделения.КолКон); + +КонецПроцедуры + &НаКлиенте Процедура РасКомментироватьВыделенныйТекст() Перем СтрНач,СтрКон,КолНач,КолКон; @@ -1290,7 +1301,11 @@ Текст.ЗаменитьСтроку(сч, НовСтрока); КонецЦикла; - Элементы.ВыбраннаяНастройка_Текст.УстановитьГраницыВыделения(СтрНач,КолНач,СтрКон,КолКон); + ХранилищеПараметров.Вставить("ГраницыВыделения", Новый Структура("СтрНач, КолНач, СтрКон, КолКон", СтрНач, КолНач, СтрКон, КолКон)); + + УстановитьГраницыВыделения(); + ПодключитьОбработчикОжидания("УстановитьГраницыВыделения", 0.1, Истина); + Модифицированность = Истина; КонецПроцедуры @@ -1796,6 +1811,8 @@ &НаКлиенте Процедура СохранитьНастройки(Команда) + СохранитьДанныеНастройки(ПараметрыТекущейНастройки); + Если Команда.Имя = "Файл_СохранитьНастройкиКак" ИЛИ ПустаяСтрока(ИмяФайлаНастроек) Тогда ИмяВыбранногоФайла = ВыбратьФайлДляСохранения( "Файлы запросов (*.sel)|*.sel|Все файлы (*.*)|*.*", diff --git a/src/CodeConsole83/maps.txt b/src/CodeConsole83/maps.txt index 29643b0..f703457 100644 --- a/src/CodeConsole83/maps.txt +++ b/src/CodeConsole83/maps.txt @@ -1,3 +1,3 @@ -Form\Форма\Форма.bsl-->6e6904e6-445a-4678-957b-e39d02fce6a4.0 (4 652, 6 999) +Form\Форма\Форма.bsl-->6e6904e6-445a-4678-957b-e39d02fce6a4.0 (4 547, 6 911) Form\ФормаНастройкаТаблицы\Форма.bsl-->a3626ede-5b0a-440b-92ae-ae5ab4b70298.0 (627, 659) Form\ФормаСвойств\Форма.bsl-->2160ae20-89a5-4c06-8ef5-261700f38e89.0 (574, 599) diff --git a/src/CodeConsole83/und/6e6904e6-445a-4678-957b-e39d02fce6a4.0 b/src/CodeConsole83/und/6e6904e6-445a-4678-957b-e39d02fce6a4.0 index 878b36a..ca4324f 100644 --- a/src/CodeConsole83/und/6e6904e6-445a-4678-957b-e39d02fce6a4.0 +++ b/src/CodeConsole83/und/6e6904e6-445a-4678-957b-e39d02fce6a4.0 @@ -434,7 +434,11 @@ {1,0},0},0,0,1,0,0,1,0,3,3}, {"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},a9f3b1ac-f51b-431e-b102-55a69acdecad, {28, -{211,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,"ДеревоНастроекФайл_СохранитьНастройкиКак", +{211,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, +{0, +{0, +{"B",1},0} +},0,"ДеревоНастроекФайл_СохранитьНастройкиКак", {1,0},1, {5,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, {0},3,0,0,0,2,2,0,0,0, @@ -2286,7 +2290,11 @@ {1,0},0},0,0,1,0,0,1,0,3,3}, {"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},a9f3b1ac-f51b-431e-b102-55a69acdecad, {28, -{136,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,"ДеревоНастроекПараметрыЗапросаПараметры_Заполнить", +{136,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, +{0, +{0, +{"B",1},0} +},0,"ДеревоНастроекПараметрыЗапросаПараметры_Заполнить", {1,0},1, {6,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, {0},3,0,0,0,2,2,0,0,0, @@ -3303,13 +3311,84 @@ {3,4, {0} },0,0,0,1, -{1,0},0,0,3,3,2,0,1,0},3,cd5394d0-7dda-4b56-8927-93ccbe967a01, +{1,0},0,0,3,3,2,0,1,0},2,cd5394d0-7dda-4b56-8927-93ccbe967a01, +{21, +{327,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{0, +{0, +{"B",1},0} +},5,"ГруппаКоманднаяПанельРедактора", +{1,1, +{"ru","Группа командная панель редактора"} +}, +{1,1, +{"ru","Группа командная панель редактора"} +},0,1,0,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},1, +{23,1,0,0,0, +{0}, +{1,0}, +{"Pattern"},"", +{3,4, +{0} +},0,0,0,1, +{1,0},0,0,3,3,2,0,1,2},2,a9f3b1ac-f51b-431e-b102-55a69acdecad, +{28, +{47,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, +{0, +{0, +{"B",1},0} +},1,"Выполнить", +{1,0},1, +{1,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, +{0},3,0,0,0,2,2,0,0,0, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},0, +{4,0, +{0},"",-1,-1,1,0,""},1, +{"Pattern"},"",2,0,1, +{10, +{48,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ВыполнитьРасширеннаяПодсказка", +{1,0}, +{1,0},1,0,0,2,2, +{3,4, +{0} +}, +{7,3,0,1,100}, +{0,0,0},1, +{5,0,0,3,0, +{0,1,0}, +{3,4, +{0} +}, +{3,4, +{0} +}, +{3,0, +{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} +},0,1,2, +{1, +{1,0},0},0,0,1,0,0,1,0,3,3}, +{"U"},1,0,0,1,0,0,0,3,3,3,0,0,1,0},cd5394d0-7dda-4b56-8927-93ccbe967a01, {21, -{299,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{1,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, {0, {0, {"B",1},0} -},3,"ГруппаДополнительныеКоманды", +},3,"ГруппаКоманды", {1,1, {"ru","Группа команды"} }, @@ -3325,18 +3404,18 @@ {0,1,0} },2,cd5394d0-7dda-4b56-8927-93ccbe967a01, {21, -{301,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{3,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, {0, {0, {"B",1},0} -},4,"ГруппаЗапрос1", +},4,"ГруппаЗапрос", {1,2, {"ru","Запрос"}, {"en","Запрос"} }, {1,1, {"ru","Группа запрос"} -},0,1,0,0,0,2,2, +},0,1,0,0,0,1,2, {3,4, {0} }, @@ -3344,13 +3423,13 @@ {0,81,16},1, {16, {4,1, -{0,1f046bc2-d6c5-46a3-a459-b2c0508f86fb},"",-1,-1,1,0,""},0,0, +{0,1f046bc2-d6c5-46a3-a459-b2c0508f86fb},"",-1,-1,1,0,""},1,0, {0}, {1,0},1, {"Pattern"},"", {3,4, {0} -},0,0,3,3,0,0,0},1,cd5394d0-7dda-4b56-8927-93ccbe967a01, +},0,0,3,3,0,0,1},1,cd5394d0-7dda-4b56-8927-93ccbe967a01, {21, {303,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, {0, @@ -3358,7 +3437,7 @@ {"B",1},0} },0,"Группа11", {1,0}, -{1,0},0,1,0,0,0,2,2, +{1,0},0,1,0,22,0,0,2, {3,4, {0} }, @@ -3366,16 +3445,16 @@ {0,0,0},1, {1,0, {0} -},2,a9f3b1ac-f51b-431e-b102-55a69acdecad, +},5,a9f3b1ac-f51b-431e-b102-55a69acdecad, {28, -{313,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, +{52,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, {0, {0, {"B",1},0} -},0,"Редактор_Закомментировать", +},0,"ОткрытьКонсольЗапроса", {1,0},1, -{9,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},1,0,0,0,2,2,0,0,0, +{2,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, +{0},3,0,0,0,2,2,0,0,0, {3,4, {0} }, @@ -3387,16 +3466,11 @@ }, {7,3,0,1,100}, {0,0,0},0, -{4,3, -{0},"",-1,-1,0, -{ -{#base64:R0lGODlhFAAUAJEAAAAAAP///wD/AP///yH5BAEAAAMALAAAAAAUABQAAAIznI+p -a5LOjpiSxmEbjHP3i20h+Gniko1IoKQpKr4wIj/xOVdkVnL37qnRfpdej/MAKRcF -ADs=} -},0,""},1, +{4,0, +{0},"",-1,-1,1,0,""},1, {"Pattern"},"",2,0,1, {10, -{314,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"Редактор_ЗакомментироватьРасширеннаяПодсказка", +{53,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ОткрытьКонсольЗапросаРасширеннаяПодсказка", {1,0}, {1,0},1,0,0,2,2, {3,4, @@ -3419,14 +3493,14 @@ ADs=} {1,0},0},0,0,1,0,0,1,0,3,3}, {"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},a9f3b1ac-f51b-431e-b102-55a69acdecad, {28, -{315,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, +{323,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, {0, {0, {"B",1},0} -},0,"Редактор_Раскомментировать", +},0,"Редактор_УдалитьСимволыМодуля", {1,0},1, -{16,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},1,0,0,0,2,2,0,0,0, +{14,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, +{0},3,0,0,0,2,2,0,0,0, {3,4, {0} }, @@ -3438,18 +3512,11 @@ ADs=} }, {7,3,0,1,100}, {0,0,0},0, -{4,3, -{0},"",-1,-1,0, -{ -{#base64:R0lGODlhFAAUAMQAAAAAAP///wD/ACLdADrFAD7BAHeIAIJ9AJBvAJ1iAKdYAMo1 -AN8gAPgHAPYJAPUKAP8AAPwDAPoFAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAACH5BAEAABMALAAAAAAUABQAAAVZ4CSOZGmeolCq6Ci8LtxO -csq2753P9N3zO5vvVPuRAqZikShYQJ4IgeL5ZE6oDQIVYr1SJdvuxLGtJmuGMqp4 -KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} -},0,""},1, +{4,0, +{0},"",-1,-1,1,0,""},1, {"Pattern"},"",2,0,1, {10, -{316,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"Редактор_РаскомментироватьРасширеннаяПодсказка", +{324,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"Редактор_УдалитьСимволыМодуляРасширеннаяПодсказка", {1,0}, {1,0},1,0,0,2,2, {3,4, @@ -3470,31 +3537,32 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} },0,1,2, {1, {1,0},0},0,0,1,0,0,1,0,3,3}, -{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},1,0,1, -{10, -{304,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"Группа11РасширеннаяПодсказка", -{1,0}, -{1,0},1,0,0,2,2, +{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},a9f3b1ac-f51b-431e-b102-55a69acdecad, +{28, +{325,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, +{0, +{0, +{"B",1},0} +},0,"Редактор_ПолучитьТекстДляМодуля", +{1,0},1, +{15,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, +{0},3,0,0,0,2,2,0,0,0, {3,4, {0} }, -{7,3,0,1,100}, -{0,0,0},1, -{5,0,0,3,0, -{0,1,0}, {3,4, {0} }, {3,4, {0} }, -{3,0, -{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} -},0,1,2, -{1, -{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,0,1, +{7,3,0,1,100}, +{0,0,0},0, +{4,0, +{0},"",-1,-1,1,0,""},1, +{"Pattern"},"",2,0,1, {10, -{302,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ГруппаЗапрос1РасширеннаяПодсказка", +{326,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"Редактор_ПолучитьТекстДляМодуляРасширеннаяПодсказка", {1,0}, {1,0},1,0,0,2,2, {3,4, @@ -3514,57 +3582,14 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} {0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} },0,1,2, {1, -{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},cd5394d0-7dda-4b56-8927-93ccbe967a01, -{21, -{309,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},4,"ГруппаСкрипт1", -{1,2, -{"ru","Скрипт"}, -{"en","Скрипт"} -}, -{1,1, -{"ru","Группа скрипт"} -},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{7,3,0,1,100}, -{0,70,16},1, -{16, -{4,1, -{0,f695666a-bad9-49f6-ab7c-5198d7ea4739},"",-1,-1,1,0,""},0,0, -{0}, -{1,0},1, -{"Pattern"},"", -{3,4, -{0} -},0,0,3,3,0,0,0},1,cd5394d0-7dda-4b56-8927-93ccbe967a01, -{21, -{311,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,5,"Группа12", -{1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{7,3,0,1,100}, -{0,0,0},1, -{23,1,0,0,0, -{0}, -{1,0}, -{"Pattern"},"", -{3,4, -{0} -},0,0,0,1, -{1,0},0,0,3,3,2,0,1,1},2,a9f3b1ac-f51b-431e-b102-55a69acdecad, +{1,0},0},0,0,1,0,0,1,0,3,3}, +{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},a9f3b1ac-f51b-431e-b102-55a69acdecad, {28, -{317,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, +{313,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, {0, {0, {"B",1},0} -},1,"Редактор_Закомментировать1", +},0,"Редактор_Закомментировать", {1,0},1, {9,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, {0},1,0,0,0,2,2,0,0,0, @@ -3588,7 +3613,7 @@ ADs=} },0,""},1, {"Pattern"},"",2,0,1, {10, -{318,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"Редактор_Закомментировать1РасширеннаяПодсказка", +{314,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"Редактор_ЗакомментироватьРасширеннаяПодсказка", {1,0}, {1,0},1,0,0,2,2, {3,4, @@ -3609,13 +3634,13 @@ ADs=} },0,1,2, {1, {1,0},0},0,0,1,0,0,1,0,3,3}, -{"U"},1,0,0,1,0,0,0,3,3,3,0,0,1,0},a9f3b1ac-f51b-431e-b102-55a69acdecad, +{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},a9f3b1ac-f51b-431e-b102-55a69acdecad, {28, -{319,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, +{315,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, {0, {0, {"B",1},0} -},1,"Редактор_Раскомментировать1", +},0,"Редактор_Раскомментировать", {1,0},1, {16,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, {0},1,0,0,0,2,2,0,0,0, @@ -3641,7 +3666,7 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} },0,""},1, {"Pattern"},"",2,0,1, {10, -{320,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"Редактор_Раскомментировать1РасширеннаяПодсказка", +{316,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"Редактор_РаскомментироватьРасширеннаяПодсказка", {1,0}, {1,0},1,0,0,2,2, {3,4, @@ -3662,31 +3687,9 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} },0,1,2, {1, {1,0},0},0,0,1,0,0,1,0,3,3}, -{"U"},1,0,0,1,0,0,0,3,3,3,0,0,1,0},1,0,1, -{10, -{312,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"Группа12РасширеннаяПодсказка", -{1,0}, -{1,0},1,0,0,2,2, -{3,4, -{0} -}, -{7,3,0,1,100}, -{0,0,0},1, -{5,0,0,3,0, -{0,1,0}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,0, -{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} -},0,1,2, -{1, -{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,0,1, +{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},1,0,1, {10, -{310,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ГруппаСкрипт1РасширеннаяПодсказка", +{304,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"Группа11РасширеннаяПодсказка", {1,0}, {1,0},1,0,0,2,2, {3,4, @@ -3706,9 +3709,9 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} {0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} },0,1,2, {1, -{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,0,1, +{1,0},0},0,0,1,0,0,1,0,3,3},0,2,3},1,0,1, {10, -{300,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ГруппаДополнительныеКомандыРасширеннаяПодсказка", +{4,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ГруппаЗапросРасширеннаяПодсказка", {1,0}, {1,0},1,0,0,2,2, {3,4, @@ -3730,119 +3733,54 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} {1, {1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},cd5394d0-7dda-4b56-8927-93ccbe967a01, {21, -{1,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, -{0, -{0, -{"B",1},0} -},3,"ГруппаКоманды", -{1,1, -{"ru","Группа команды"} -}, -{1,1, -{"ru","Группа команды"} -},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{7,3,0,1,100}, -{0,0,0},1, -{1,0, -{0,1,0} -},2,cd5394d0-7dda-4b56-8927-93ccbe967a01, -{21, -{3,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{5,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, {0, {0, {"B",1},0} -},4,"ГруппаЗапрос", +},4,"ГруппаСкрипт", {1,2, -{"ru","Запрос"}, -{"en","Запрос"} +{"ru","Скрипт"}, +{"en","Скрипт"} }, {1,1, -{"ru","Группа запрос"} -},0,1,0,0,0,2,2, +{"ru","Группа скрипт"} +},0,1,0,0,0,1,2, {3,4, {0} }, {7,3,0,1,100}, -{0,81,16},1, +{0,70,16},1, {16, {4,1, -{0,1f046bc2-d6c5-46a3-a459-b2c0508f86fb},"",-1,-1,1,0,""},0,0, +{0,f695666a-bad9-49f6-ab7c-5198d7ea4739},"",-1,-1,1,0,""},1,0, {0}, {1,0},1, {"Pattern"},"", {3,4, {0} -},0,0,3,3,0,0,0},1,cd5394d0-7dda-4b56-8927-93ccbe967a01, -{21, -{45,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +},0,0,3,3,0,0,1},2,77ffcc29-7f2d-4223-b22f-19666e7250ba, +{33, +{125,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, {0, {0, {"B",1},0} -},0,"Группа1", +},3,"ВыполнятьНаКлиенте",1,0, {1,0}, -{1,0},0,1,0,0,0,2,2, -{3,4, -{0} -}, -{7,3,0,1,100}, -{0,0,0},1, -{1,0, -{0} -},2,a9f3b1ac-f51b-431e-b102-55a69acdecad, -{28, -{47,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, -{0, -{0, -{"B",1},0} -},0,"Выполнить", -{1,0},1, -{1,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,4, -{0} +{1,0}, +{1, +{8} }, -{7,3,0,1,100}, -{0,0,0},0, -{4,0, -{0},"",-1,-1,1,0,""},1, -{"Pattern"},"",2,0,1, -{10, -{48,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ВыполнитьРасширеннаяПодсказка", +{0},1,0,2,0,2, {1,0}, -{1,0},1,0,0,2,2, +{1,0},1,1,0,3,0,3,1,3,0, +{4,0, +{0},"",-1,-1,1,0,""}, +{4,0, +{0},"",-1,-1,1,0,""}, {3,4, {0} }, {7,3,0,1,100}, -{0,0,0},1, -{5,0,0,3,0, -{0,1,0}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,0, -{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} -},0,1,2, -{1, -{1,0},0},0,0,1,0,0,1,0,3,3}, -{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},a9f3b1ac-f51b-431e-b102-55a69acdecad, -{28, -{52,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,"ОткрытьКонсольЗапроса", -{1,0},1, -{2,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, {3,4, {0} }, @@ -3853,57 +3791,35 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} {0} }, {7,3,0,1,100}, -{0,0,0},0, -{4,0, -{0},"",-1,-1,1,0,""},1, -{"Pattern"},"",2,0,1, -{10, -{53,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ОткрытьКонсольЗапросаРасширеннаяПодсказка", -{1,0}, -{1,0},1,0,0,2,2, +{0,0,0},1, +{10,0, {3,4, {0} }, -{7,3,0,1,100}, -{0,0,0},1, -{5,0,0,3,0, -{0,1,0}, {3,4, {0} -}, +},0, +{1,0}, {3,4, {0} }, -{3,0, -{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} -},0,1,2, -{1, -{1,0},0},0,0,1,0,0,1,0,3,3}, -{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},1,0,1, -{10, -{46,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"Группа1РасширеннаяПодсказка", +{7,3,0,1,100},0,0,0,2}, +{0,1,0},1, +{21, +{126,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,8,"ВыполнятьНаКлиентеКонтекстноеМеню", {1,0}, -{1,0},1,0,0,2,2, +{1,0},0,1,0,0,0,2,2, {3,4, {0} }, {7,3,0,1,100}, {0,0,0},1, -{5,0,0,3,0, -{0,1,0}, -{3,4, -{0} -}, -{3,4, -{0} -}, -{3,0, -{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} -},0,1,2, -{1, -{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,0,1, +{1,1},0,1,0,0,0,3,3},1, +{"Pattern"}, +{"Pattern"},"","", +{0},0,0,1, {10, -{4,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ГруппаЗапросРасширеннаяПодсказка", +{127,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ВыполнятьНаКлиентеРасширеннаяПодсказка", {1,0}, {1,0},1,0,0,2,2, {3,4, @@ -3923,60 +3839,36 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} {0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} },0,1,2, {1, -{1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},cd5394d0-7dda-4b56-8927-93ccbe967a01, +{1,0},0},0,0,1,0,0,1,0,3,3},3,3},cd5394d0-7dda-4b56-8927-93ccbe967a01, {21, -{5,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, +{321,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,1, {0, {0, {"B",1},0} -},4,"ГруппаСкрипт", -{1,2, -{"ru","Скрипт"}, -{"en","Скрипт"} -}, +},0,"Группа12", {1,1, -{"ru","Группа скрипт"} -},0,1,0,0,0,2,2, -{3,4, -{0} +{"ru","Группа12"} }, -{7,3,0,1,100}, -{0,70,16},1, -{16, -{4,1, -{0,f695666a-bad9-49f6-ab7c-5198d7ea4739},"",-1,-1,1,0,""},0,0, -{0}, -{1,0},1, -{"Pattern"},"", -{3,4, -{0} -},0,0,3,3,0,0,0},1,cd5394d0-7dda-4b56-8927-93ccbe967a01, -{21, -{128,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,5,"Группа2", -{1,0}, -{1,0},0,1,0,0,0,2,2, +{1,1, +{"ru","Группа12"} +},0,1,0,10,0,0,2, {3,4, {0} }, {7,3,0,1,100}, {0,0,0},1, -{23,1,0,0,0, -{0}, -{1,0}, -{"Pattern"},"", -{3,4, +{1,0, {0} -},0,0,0,1, -{1,0},0,0,3,3,2,0,1,1},2,a9f3b1ac-f51b-431e-b102-55a69acdecad, +},2,a9f3b1ac-f51b-431e-b102-55a69acdecad, {28, -{134,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, +{317,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, {0, {0, {"B",1},0} -},1,"Выполнить1", +},0,"Редактор_Закомментировать1", {1,0},1, -{1,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, -{0},3,0,0,0,2,2,0,0,0, +{9,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, +{0},1,0,0,0,2,2,0,0,0, {3,4, {0} }, @@ -3988,11 +3880,16 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} }, {7,3,0,1,100}, {0,0,0},0, -{4,0, -{0},"",-1,-1,1,0,""},1, +{4,3, +{0},"",-1,-1,0, +{ +{#base64:R0lGODlhFAAUAJEAAAAAAP///wD/AP///yH5BAEAAAMALAAAAAAUABQAAAIznI+p +a5LOjpiSxmEbjHP3i20h+Gniko1IoKQpKr4wIj/xOVdkVnL37qnRfpdej/MAKRcF +ADs=} +},0,""},1, {"Pattern"},"",2,0,1, {10, -{135,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"Выполнить1РасширеннаяПодсказка", +{318,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"Редактор_Закомментировать1РасширеннаяПодсказка", {1,0}, {1,0},1,0,0,2,2, {3,4, @@ -4013,64 +3910,62 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} },0,1,2, {1, {1,0},0},0,0,1,0,0,1,0,3,3}, -{"U"},1,0,0,1,0,0,0,3,3,3,0,0,1,0},77ffcc29-7f2d-4223-b22f-19666e7250ba, -{33, -{125,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,3,"ВыполнятьНаКлиенте",1,0, -{1,0}, -{1,0}, -{1, -{8} -}, -{0},1,0,2,0,2, -{1,0}, -{1,0},1,1,0,3,0,3,1,3,0, -{4,0, -{0},"",-1,-1,1,0,""}, -{4,0, -{0},"",-1,-1,1,0,""}, +{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},a9f3b1ac-f51b-431e-b102-55a69acdecad, +{28, +{319,02023637-7868-4a5f-8576-835a76e0c9ba},0,1, +{0, +{0, +{"B",1},0} +},0,"Редактор_Раскомментировать1", +{1,0},1, +{16,409b9a53-7f7e-4178-86c1-33176c7c7a7a}, +{0},1,0,0,0,2,2,0,0,0, {3,4, {0} }, -{7,3,0,1,100}, {3,4, {0} }, {3,4, {0} }, +{7,3,0,1,100}, +{0,0,0},0, +{4,3, +{0},"",-1,-1,0, +{ +{#base64:R0lGODlhFAAUAMQAAAAAAP///wD/ACLdADrFAD7BAHeIAIJ9AJBvAJ1iAKdYAMo1 +AN8gAPgHAPYJAPUKAP8AAPwDAPoFAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAACH5BAEAABMALAAAAAAUABQAAAVZ4CSOZGmeolCq6Ci8LtxO +csq2753P9N3zO5vvVPuRAqZikShYQJ4IgeL5ZE6oDQIVYr1SJdvuxLGtJmuGMqp4 +KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} +},0,""},1, +{"Pattern"},"",2,0,1, +{10, +{320,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"Редактор_Раскомментировать1РасширеннаяПодсказка", +{1,0}, +{1,0},1,0,0,2,2, {3,4, {0} }, {7,3,0,1,100}, {0,0,0},1, -{10,0, -{3,4, -{0} -}, -{3,4, -{0} -},0, -{1,0}, +{5,0,0,3,0, +{0,1,0}, {3,4, {0} }, -{7,3,0,1,100},0,0,0,2}, -{0,1,0},1, -{21, -{126,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,8,"ВыполнятьНаКлиентеКонтекстноеМеню", -{1,0}, -{1,0},0,1,0,0,0,2,2, {3,4, {0} }, -{7,3,0,1,100}, -{0,0,0},1, -{1,1},0,1,0,0,0,3,3},1, -{"Pattern"}, -{"Pattern"},"","", -{0},0,0,1, +{3,0, +{0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} +},0,1,2, +{1, +{1,0},0},0,0,1,0,0,1,0,3,3}, +{"U"},1,0,0,1,0,0,0,3,3,3,0,0,0,0},1,0,1, {10, -{127,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ВыполнятьНаКлиентеРасширеннаяПодсказка", +{322,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"Группа12РасширеннаяПодсказка", {1,0}, {1,0},1,0,0,2,2, {3,4, @@ -4090,9 +3985,9 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} {0},0,1,0,48312c09-257f-4b29-b280-284dd89efc1e} },0,1,2, {1, -{1,0},0},0,0,1,0,0,1,0,3,3},3,3},1,0,1, +{1,0},0},0,0,1,0,0,1,0,3,3},0,2,3},1,0,1, {10, -{129,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"Группа2РасширеннаяПодсказка", +{6,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ГруппаСкриптРасширеннаяПодсказка", {1,0}, {1,0},1,0,0,2,2, {3,4, @@ -4114,7 +4009,7 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} {1, {1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,0,1, {10, -{6,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ГруппаСкриптРасширеннаяПодсказка", +{2,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ГруппаКомандыРасширеннаяПодсказка", {1,0}, {1,0},1,0,0,2,2, {3,4, @@ -4136,7 +4031,7 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} {1, {1,0},0},0,0,1,0,0,1,0,3,3},0,3,3},1,0,1, {10, -{2,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ГруппаКомандыРасширеннаяПодсказка", +{328,02023637-7868-4a5f-8576-835a76e0c9ba},0,0,0,0,"ГруппаКоманднаяПанельРедактораРасширеннаяПодсказка", {1,0}, {1,0},1,0,0,2,2, {3,4, @@ -5901,12 +5796,23 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} ВыбраннаяНастройка_Текст.ЗаменитьСтроку(сч, НовСтрока); КонецЦикла; - Элементы.ВыбраннаяНастройка_Текст.УстановитьГраницыВыделения(СтрНач, КолНач, СтрКон, КолКон); + ХранилищеПараметров.Вставить(""ГраницыВыделения"", Новый Структура(""СтрНач, КолНач, СтрКон, КолКон"", СтрНач, КолНач, СтрКон, КолКон)); + + УстановитьГраницыВыделения(); + ПодключитьОбработчикОжидания(""УстановитьГраницыВыделения"", 0.1, Истина); Модифицированность = Истина; КонецПроцедуры +&НаКлиенте +Процедура УстановитьГраницыВыделения() + + ГраницыВыделения = ХранилищеПараметров.ГраницыВыделения; + Элементы.ВыбраннаяНастройка_Текст.УстановитьГраницыВыделения(ГраницыВыделения.СтрНач, ГраницыВыделения.КолНач, ГраницыВыделения.СтрКон, ГраницыВыделения.КолКон); + +КонецПроцедуры + &НаКлиенте Процедура РасКомментироватьВыделенныйТекст() Перем СтрНач,СтрКон,КолНач,КолКон; @@ -5923,7 +5829,11 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} Текст.ЗаменитьСтроку(сч, НовСтрока); КонецЦикла; - Элементы.ВыбраннаяНастройка_Текст.УстановитьГраницыВыделения(СтрНач,КолНач,СтрКон,КолКон); + ХранилищеПараметров.Вставить(""ГраницыВыделения"", Новый Структура(""СтрНач, КолНач, СтрКон, КолКон"", СтрНач, КолНач, СтрКон, КолКон)); + + УстановитьГраницыВыделения(); + ПодключитьОбработчикОжидания(""УстановитьГраницыВыделения"", 0.1, Истина); + Модифицированность = Истина; КонецПроцедуры @@ -6429,6 +6339,8 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} &НаКлиенте Процедура СохранитьНастройки(Команда) + СохранитьДанныеНастройки(ПараметрыТекущейНастройки); + Если Команда.Имя = ""Файл_СохранитьНастройкиКак"" ИЛИ ПустаяСтрока(ИмяФайлаНастроек) Тогда ИмяВыбранногоФайла = ВыбратьФайлДляСохранения( ""Файлы запросов (*.sel)|*.sel|Все файлы (*.*)|*.*"", @@ -9113,7 +9025,7 @@ YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+} {0, {"B",1},0} }, -{0,0,0}, +{0,111,8}, {4,0, {0},"",-1,-1,1,0,""},"Редактор_Закомментировать",3,0,0, {0,0},1,0,1,0,0}, @@ -9225,7 +9137,7 @@ YXJhbWV0ZXJzLz4NCjwvU2V0dGluZ3M+} {0, {"B",1},0} }, -{0,0,0}, +{0,111,12}, {4,0, {0},"",-1,-1,1,0,""},"Редактор_Раскомментировать",3,0,0, {0,0},1,0,1,0,0}, diff --git a/src/CodeConsole83/und/versions b/src/CodeConsole83/und/versions index c4df1c9..add7c03 100644 --- a/src/CodeConsole83/und/versions +++ b/src/CodeConsole83/und/versions @@ -1 +1 @@ -{1,12,"",3a551f64-d933-4d5b-b3ea-e6288d2c3fd5,"2160ae20-89a5-4c06-8ef5-261700f38e89",1cb61e2e-8ec7-46ae-b9cf-3d568244e66c,"2160ae20-89a5-4c06-8ef5-261700f38e89.0",e0df8546-4d97-4d6f-9c9f-89884f85e171,"6e6904e6-445a-4678-957b-e39d02fce6a4",0626d97d-b6b7-4b58-ac82-7039db523c78,"6e6904e6-445a-4678-957b-e39d02fce6a4.0",153765b8-834f-4fbb-a2ed-ab008cb061ae,"a3626ede-5b0a-440b-92ae-ae5ab4b70298",25902a15-0dad-465c-a273-ef5ea84baddc,"a3626ede-5b0a-440b-92ae-ae5ab4b70298.0",94e09388-da75-4e78-acd3-32329bfcf7b4,"ac7f7896-01c1-4bcc-abb9-dedfec899bc7",4e2c2824-4e84-4a1b-8ad9-ff2dd6486747,"copyinfo",2191fc3e-5f31-4997-a595-1d1c535117be,"root",fb4573b3-39cc-4f1d-a311-f385d93a3ff7,"version",071726c2-4d52-44c6-ae2c-84bdfe1a832d,"versions",bb6f0852-ffca-45d3-8a4f-5bc0ec2d1198} \ No newline at end of file +{1,12,"",2540007d-d98d-44ec-9723-526fd9631d88,"2160ae20-89a5-4c06-8ef5-261700f38e89",1cb61e2e-8ec7-46ae-b9cf-3d568244e66c,"2160ae20-89a5-4c06-8ef5-261700f38e89.0",e0df8546-4d97-4d6f-9c9f-89884f85e171,"6e6904e6-445a-4678-957b-e39d02fce6a4",3e1b2d36-2d6c-47c3-88e7-a52e78824644,"6e6904e6-445a-4678-957b-e39d02fce6a4.0",d801b005-bf41-4fe6-b393-f4b04ce7993b,"a3626ede-5b0a-440b-92ae-ae5ab4b70298",25902a15-0dad-465c-a273-ef5ea84baddc,"a3626ede-5b0a-440b-92ae-ae5ab4b70298.0",94e09388-da75-4e78-acd3-32329bfcf7b4,"ac7f7896-01c1-4bcc-abb9-dedfec899bc7",4e2c2824-4e84-4a1b-8ad9-ff2dd6486747,"copyinfo",e6f69a04-8ba9-4c97-8e72-6bc1a0e94bc4,"root",06c52642-b368-4646-a0b0-fa05f58759ce,"version",695bbaea-bc3b-44f5-8926-ce3072915aa9,"versions",1c3cf69d-816b-4f5c-bc3a-f3036874120b} \ No newline at end of file From 6939b3589965b2aa381595f1b3a5c297772de13f Mon Sep 17 00:00:00 2001 From: kav Date: Sun, 8 Oct 2017 21:17:40 +0300 Subject: [PATCH 2/5] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=BD=D0=B3=20=D0=A3=D0=BD=D0=B8=D1=84=D0=B8=D0=BA?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8F=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=B2=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CodeConsole83.epf | Bin 35417 -> 35924 bytes ...0\244\320\276\321\200\320\274\320\260.bsl" | 384 +++++++++++------- src/CodeConsole83/maps.txt | 2 +- .../6e6904e6-445a-4678-957b-e39d02fce6a4.0 | 384 +++++++++++------- src/CodeConsole83/und/versions | 2 +- 5 files changed, 462 insertions(+), 310 deletions(-) diff --git a/CodeConsole83.epf b/CodeConsole83.epf index d3e648a83713f0c137e67e29103e9a012bd35bae..46409acbf91caeda129e04a2ca36f1f6cc218ea7 100644 GIT binary patch delta 25838 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 delta 25323 zcmY&Yt2_~7?w()=GoU6a9R`sgxb+IqH zc6D{{y_62VmJA+mq*&$%0?{~uKwn>9fRqaeH2xp{hco$uKvn$3Qt@_&7!J@S9b|1XqekF1oWhlUJrTCj1Evi@iPOSmom&q$HrFS@;w2>&#b zezt}mUnwuL2rPb-Rn2s>B@83fYX?9LglCiTHE^L~CsxHA=wJl&3845N>x@7IifX5O z<%Hvna)`y?Gfiuiy;AnpUU%wQY;s<8XXsR?(!x=?X&f5N_|FI)ZF~V&BXM8&u4$Jq zE3B6t`>kPLG`)o5Brh!2q@Gv;KFIG3;4EIpKW@ENk#;$73> z5{|#fp4Ws!)P40ZUyt*-$l4uOucCza+5YG>is_OVG!d`$Nsubbaif>4MCM1ZoFZMm z5Or@e_tXIcM<6zCH2s>OFK!DQ(9(`l<|09(Fe477Mxv&oy3jL{5K;%3;rxQ&ak)RY z2#Oc8KZ2k_>KU+$lxzn1Z<{dh&kim8g5y5l$2@F+A8KGossENNSUSue$E786vjK}c z)1y4~%$K&mF&+~b6E}GLGe%y;UBCd4Wk1B^u!3TRTqG58=E=tI=k0sDdfR?^+rV0< z$DGXw(GSlEHtmM|zKCq$AKwDWo)(gEqzN|N4D&lp903qITen|C(EVEi(*pNv==|TB zPk>5GsW3>Tty$>fmrN1EHU&KV_MIK+H}1Y8z3q@JhdIbenpwu+{%0Cz?K&kmHFuC6 zwwim%R*K7j1En}u!K#oZ79^{6udpIGi_3*ug|i}{$*8knb*9ZkyT zW^S7uon$UDVYa;$PFM(D^|W{)d~jmkbD;;jT5AZ2xn`Hx`eEe`7JM?g=7Zjn*IT?g z&NXI7*|l?FXPdFdRIc_`6ha+7OoO&57cq zjpYZX$LI}>D~GUOCKtM$>?AT~x>f4`QTKtx3_J9F2`f0rECHV}8)+}U-1Y72G3s)r z&i%aeum#gS<2z0$W3xCW#Au=ydy){@R{%U}3{pG4UKB_t0%8TLsIjGy;BqnZsg6DC zb+Tx1>|+f1>CAK(B3CjPv7cuFswRx+6G(=rcGneL-I?lkKQZo|V@z7&$B{U#eqM1d zzIO!l=3&@%Z~EJamB>*H@IWu?tb}t?;EH9v!(CC|>`^b9Z=(K2m`QhODib`=4*^al z7cbUejwNnV$+k8Oh#R{9+QUvmZB6lJncH`8?_>^mvWvbPU3+Gk6&}}^Qur`b8f-JS zRpe)%{|$p@g1|(;ge&2Q`!#1s@XhiA0hK#?+si}`4qpFq;=b{udhN|ibN1YWRUX0E z#>E>+z{%_}Y|Up|Z4GTR_c%I;$q9%@9^l}Q6xh`ADN+sf>?9ix-Nu9Ne*G9X=Yecm z$bJ6r4*38n#|S%ham4O9ZN+VfhK?Yy`ZVL^bR+h;`o9W-)>=WSB;UDLRH!$xx7o9X zTX;Y4BL~*JlGC1uw)>UPg#EQGPSDC&v(l5?e~YI%mTtMZ3|KyMeIbKW&jF{-7p;67 zE#@x!FL=BfFH5nu(o|QmFrZ9-eBQy;J3>+}RT{AO%V+;nuQgitFqJv@O=b7pr+DG* zMIQEft6KrVIxG|I;{d`Ms(Tq!{wB2(S^mC2xTsc;)wWt6IVe{wY8&DC<9si5a4Uz> zAfZ(giZ@s?M&8M*#&4QJ189G=12aTOF(|XW535#ah4XDDU8Lgcl#BGaR1%AZK}7Hg z(XwV4tvq%TQeB|FTh^9?H+P1a93IWb z^G-#Nw*v!tyDS!@VB55zd-AE0dGd+Lxcoy$5hqZ)9saWy&Lsm&2l(7&hwiy$@~=Uj zN>7YgH2oQU<|Do}tv`A(SmuG=YBuo$k+E3(CHS?W(?!d_m^LATeG7gs2 z&^ro_)CYBMNr8y)5)^xp*vnKP|3zIS4%!4bko}dP@8JjwE*;aqUNMfY1vPB*j(rc< zc``1h%KiQap1a2~zgLp2(sz3%YkCaTTMh4Wc* z@xSo}Q|zQb)f?=`T{G<2StW{tj^GBjI)-4c&W+CIAdCw8I)P%1PE(G{G7*ZXc=&3Y&d@SUn2TStjGtEMzPVv27Jdx7AGAZV0GT$05|fo z2UtP3Z18(SQ52SmQu!ECI{TD6Lms<4_n`^gvNWuR=`sHu!1n+K!g%#XXA5tLF1<(i zT7Z-&j4b*yMqgN=aqb322=#YT{+YRxfD^Q+fb1X#KnPO2d=2jBA@u3l8==?=gf2`f z_S?b>o=+OPD^vj=>)k^6M~j^8nl+?|Yf%GXp_FZmPHh~h!z$ZtpFUEv^<-+vHq$3g zhq@F&0RH=FZw~1nDH!EeOqa=TZ~NVVf5?H~1Rn#`Z_q6XsRQt!G3vI<2&f?H3L!7; z!KLuq05ci{Usj((DF1C56-Z(^^w!+xz%$PzT+kMTKuXEp+_==I`2q@vCoIW6@%!$L zF`H8;2-~;_4wvq`SR0h^gPHJgrz|(#!`mn21;4ll;`S1Zqg)uo3SMx`^Em5c(A*g~ z(V|lKoLkU5ZWUcPJ568^+9NxDkrQi#RPbdV;MUCp!6-xwZXB}bxsRyI?Huaoz!vG3 zS2AGYf$E)P#fr-p%m}_qAse6~MCdhRwH@Y!ecz3$eYw|j1@;S~39|1Fws8oeli)R$ z`xNEF98u!?wi^xJwTu9_`v{)C8qYaII79(h%ZD*4NHgN!`+0=SNl!Ld!ZDu3sM2y3 zKu}P0*e{qZz6^;SweY;4CZktdWsh->!0y#k|F@}I`=YB{%+^<(b>HC6Caqn!mSkq0 z5$k>yUPE{M!T+S%|2L&g*NozENqUTfs6(NC>K;`_{3Cw-kA1O)XHU1Fyq%eJj{^+k zR>gemiuVdiE@|)YajHT3T_s*8KqpQ8+1S`=d2~jQ!H=r+RVBwl5Os}xi8tl$%yEzs1%=vPZoBFM$f2wV znIWf)>XtEy5VN=O^CDV(LFDOR^|HvnxNjHl$(yQD{XYM(yn%~3K!#`oA1?z}8;BEM zhK9@b7$`XDoY!Hl=L7DAFW|GXpo=4(!nS{n#jo&lp1el;QbHMjs2=(4z*Kv&f>s-4 zu)bjq!Rz+8Ks9JlToqDBV+UnmO%d1PUnH3`Roz29%U>t;`j!g}PVFM_PJJxTH}=7X zB#1GG;Qp=7HBK&_B!C?O^l(Smj#INTG6|-!{3CdnMdmvi^Hz^9=Tvyvn=hfu+`Ek% zg2u1K{Y(u~c*qDXEgA7PRGjf>1cQZHP%*X{oHs#>`8zf)yFz-G>e6tG%7GA?Skd;D zRvD}v#66u+Cl`?k-_tii;0R!(@E|2>5PGZK?3crFfK#w6ILi;5Ghn%%LYVm%Mr$KGw}1d@*+l6K1u^Y#`PA@`~&DukzXCG43KOFH4AacPG{ zshHsqjfOf6e=oP1x>bX18&{VDB$2h=$vF3=@qv0utu{n!uVESw%^KF{n5jGg^%D=8 zo?Ju$U>Agalg$b|P*|cuMqrexAo`w`3B&pdaxmP5ev$m-k?43)9Ld2!3X4b@VE8u3 z1D8D&WoF45*+rTY{iehBE$51z6#?1YL`Uj2G3F7H%)AMgTgf-XHe^`@q&(P>Q@Lh#(%F^7}j3#lP>2<|JJ8!J9$POc6%+r4fvi0f3_}l}f#f-!#x|L5fj{ z32BNC&lB6bd`|um4k5vB&@!7%ce}6;1}j5CO|Qk0HSqCLLA%a2!4zGp4FVmT@l}jV z;wordj#?Z=GM~e!zoEFuGAKc^2YmSG@rj`cv}FJc-(4`wN%n{_eWn#NXiFt4%%r>f zbcn?qlE<`mW#TS0q%QsJ^}9U_jdgNg2t>apG9OEaG~A3yYeT0ojobjUF9=ZD9(Fx>PMPx+XBori$Q>&hZpVs+r#IVM$V4c9t~7(_Gz2(t9<24hpjich*uX`Z*YBm=NY!vcwdArm=yN zI_#Y^bR!MLDwBBz+IPjAy&Pe#-zHU`E!sW^;z#S2mJsJ zC)onqee{3yaSgX$fAIN(4hS|AZ?%27scfJh!=&z@pMvffdE>s>*=0g|r$X0l#e)lF zZVsigd|*mY^TzG|lSM3%4BaOeZ!ifhvRqr_%RtG$Lf&fCJY$M#nX@~F#{%J;<}0JP z;Zy6nC)(3r2}?e|#Pe0xP`u#yVc`IYy@C6!{C4*AFU^#|(J6>Tc}(#XBuI<%H{cJn zChrqx%}W{HyJ23rNRl2K*6)r`9Ssb)PImFF#$-CAne5AeDZklf{vhjILhLTxTY7I= zDk;3JfT?Ew#T$I%p9v>QlL&7!q<6t@mx)CDC9^mwV9opCO$qrnmZ0Z{`W9fF0b0Oe zR3VVRBC+qzeTr6F9e2st<_tb~bu*@BDo>v@ z?eqT3WdWT3BL)C&HtEkAZUVUU_axoZly&a4<;Fty%WO)jA(&Jx2SmIe3vsjl9y4&Q z(s!-O0!HPw8hi?ywl!wKItQ4iJ#2FY4O~WBTg$bLeXvRoLdZBn$oR-t2=g9qETbTn zhQWURgHYePtx5SEghb>RwuzBW%*c- zE4V6R7%H}my)`I7EE)*J{;hKQt&Sf9-*3_|j&t~$D1PdAr46A-Qic(?$yk}BP&{Y+ z_~~Lp!rH|Yf`h36myT>+%412>xTg|Qia=0pJ#a$IGkiciwdc6iDKM7!N2j3Myu%)J zDt2F8XIp!Sjn?0Q@t`zG!{yB#eKwT(gLBD7N#YG~>8Afm`~)~#X=@yAfH?(+14p-Y zU~{MpW?Ff`8JAqmIpt&1+e|2mVKcDU+96&kjh-;FE+RhkOz5!VUN^Q6FIQ09o!6|3 zWpjGs6DIs=lNm>242NhHkEHK1S2Ff=80fq8se3R-_@t3Oi|}0WJJ`!Z#iee}a0_-@ z$0}L1kkR_LS3aP{)HyXYOM)S^B7TSeZOzmpuKv3J9I}B4bv2fBb!+A1`<_3R#TE}PO zkM8&>wM(NAdLJKG_OAARWqia5c9DE|JKNb^#Dp!+Z8->{3)YeNe?ET(Kd)Op3STo^ zuM|3v_}p(|$jd*O&-aVhX7e~dPp^;=cRh|J^#f>Ieh-@vqp|O=ZBNHHMxUocEJ~pc z0 z1^~R?CSQA_f@AJVl(px;ZHn}x@XLVNTdwb6+FPzdAF6{u)7SW3Z=d)@?K@Q1HXtao zKMc{;<@q>#-9H#+C~*Dy{5%f>U=4y%k9z&8gcSfZwXS=+v`%Xp;g{_ol}Oj+UQOn{M)?x?S1Pu1iM4I{h~IWJQlm%!bBj5Nsm2f!b{@8=JYiWT7W6luy#&GdEP&{F zdLn@F3=10;4b>DcQQp>@R9z>=Z&8mZGCJX4V=77NsO$I=Wj5p=EbogUaj7kb=Zp%k zE4A5dROsN4?5ODWFDG=q44ly!V@xkm0lcR`ACnjk^{5`s55#M%n$#iA>LP=p`DEsq z97B4CzNSX_m@5rBobEkmXVoKg zjjW7?V^iOZHb>H>=H+@Pwq*ALM6g+nrdBJ3QJGH>ba5dQsK?yyUP=P&hCNPkYZ(i_AD-OQ z&wJkA-|R^%k?_`U=lv!$*IMLvi0CMbqu8*>z3H?;ZB+J7Wt8{Zpd4mtRtx2{vItxS zuV2{f4y93i&sYH8_)Q_i(tzTt3_`&{#U`~)>-$OP{G93tfQi7AWY;(>Al;^O{Ydd? znqP|`!Mrl-Q=S%H&7oGkxehUb25}igWUt7RFEPp`<-7@XJQS_aad1v};1auVF za+KZF1)I^GRR=~S!?=ZdO)DG#;bxw?rUn}T35UQf5yp# zFm1xS{&Q}&J(KFV1{uG-)9`~Wd6ig~-OBP6YkJhuQ`9VlxA~fcEZ(d%to} z9YddHgG={=gfCkwHp~BE%J^ffesNDr(V{etP#Bsd>72yR8BcT@K5&qPOzs!Y1a!a> zxA949-)wKNOu{_OwxvRM{KK}{Vs*-&VxPx=uc1Ah-XC!YTEB6CPix^ zuQSDL($O&#`W&ghktI#yo19#mHzE<{%gHh{H2i1t{yBaVvG@G2H#$?zuNV<1N^Vlkl{Iiqjuj8_3iPVQl~|_D&co^nC8YF;%JuPZ?R3 zKXeQPQk0VLvTJ92!jRT^Y(o{sAN5s$MdwFP&qHj2Y-5JEn9w;pqd&XgsV9==xKOfj zN%(!ANyGR%)3jJQs8H$#g>LT`l_qk)MP?KUPfYNykm7ogO=19f9^8NDK||Y10jOvtILRY0$A{)kqH*AY&Zl0+uRm$aY+xm+?$!?>(pRGGt zeDGW0GSD(Mwoz?Q%|^O$aZjxjY9S>YFM9Rs`xGunh}=M_`eRD(En^lXqHM%USdelr zCO6c@bRe+~?$C(N>xOVZZPBPNZVQ;ki`&Za;nT(+OC5_j?fi39|$~N6K%;AJ9lY3P&5~Uo(=V30U&lprG4v2ha@# zKVIj#4g<~ai59TeX~R7X(#w$?4Z-oP5r}#yPO%Pg2}!y&rpU}JFPcI+UJxZsg?^bD z3Sm;=Roo|atM)5=@Y9yECIAHV*xq?qC6|_kVxXGDX}P}JYV*`;vGe1HEK+&KQZm#M zO6fp^vNb1LL>gMZkXEQd+he1xLZ)3e*Lvg9p)u}Z{4$AB@<%BH7I^DR2cl%?2YZ;8 z_NxLa?3D`r9dlUD@h_=9FOuzo^_yLLODx?&E4uJ_C{MK7K&l=wbpX6gOe8Ks_*($QQu_-0x}YwuR&aufWu<}Xyy_a~+Gm5 zl!F`M0?LabLI(0}Rp35Is-&q5g;xWTLX-7XT}Wg&KVZsGFA1jL+4Il6gB4Z#)T&5v z8LdD|?1HjG-moUa1a$%O7^Dd{YxDb{JHo$1v;M6KHp7T{L$6@hp`P%QWzX(MeL#_MI-6Si*P9tj?(RnL+6&ga*>M9)s=X?)>{bO^ zDrOloBVm##j}k1IV(cdX+A!UhPn{|tL28uVsIih7RPlKc>m+)o5dT{IeqM-PpsE}^ zAeVaeOF=8%89*-X@S#m(37nFDSz#f#8suoBbQAGNK4qbRd!fk8>lIVykA@OK1*wrr zTZb*-40dYIYtiF>;jDKAwOdAzI))r8o>05KPlBn)0Z)Xar_ME0dq20O6j-cO>)1b7 zNtCy7DJcH%{zF`boUS2ZRn?TJyYY6w3XWV=X968y3^Y38vE|uXAIEFE9k3GosY|Jk z7$Ou&Fy-2w7QU|s)d&y{k{3T7vze%fVn3fliz!edj^oEGL(vWw2Z?n_SU; zT@}+6NZ;QMP){X(_bETXtQ%i>xOA6)88 z(WhHVxwR&oQP`bLgmIm=9>H6G&u=F+fbJZ>7tR@wEB!u>>d0-s! z<2v;HCI{BvRDI6j$;!76OGP+x)?X4c2JzbG5id`gFi{dz$N6j`!4VN0uKsHTO$d7{ zIbT^n7=B&MF%mB`sk$N9KGy7e;6H!OASf-hH3fv&O`TW^k>2e?UdOvjvm?!h(Y3uf zU(=Zio$+4ngJE6!wp*CvVFY}=7J&R^g>?7p;C>dLo!%&vnoKvRpUzk5{Yf~0C|;XH z|Mq;Z`*z2>SP53j(2%)`yR8~|0_O;OgW`pBU-Y2Om;T9@y>h3;n zcw<($Ab%nmf2}lj{VCp1#(S^jl`dL7EN&M}tmifsLQ%O)Z9KbtL>l?{Dkf)SHKzJ&lb`%ZOXRDc8~b%slHLe*f6YqojwvsB#myMv`NGHGfSz z;eN}3{x#GsFZkJbd(*4*trA^980rFSK6aiOism06nD`;% zy!EpfV1vVhApRF;{>4{c&Z6O0d3UIza&>=p^ruCZK%eh zKg26lPLlJnUc>n1<={hx&ziP3h=Lk^G382VfWCVp%Hc(?Gc*FD=DlEXWpmIqg~=A5 z;j6k8AL3k>hJWasod&vsce`mjMdYWG&Rpah#?p*nKZ!8j|zPqYZ! zqlx`l_0lVP)rhF{c{<-|m!M^n&{Y@&tA>226&u=3-hW`C*$gCKoAs=>+b z(4p)KF6Ze+w)=*(dE4T1K26sK{)1o`rA2e%#pj&cYlN;*$l}=-CJha<2K`_d5qzsA zXFvoU9y|!YzV0s)q*=DNlXo}4P`Rd^w5oBwj)vQYq$ge{0k_JD?@rd7B}aoktGWBP zb>J8)*pZ}iWSOb!3x6OJYEF>FDo&l+Gi9O}eh5wur3X@1&XkZRV}n6thwd4?qugHFf#!?%!~m z&{Sk&&tigj@NV%!$)gR)djr5UZukHmW&qi$(P!5fQ@0Krzuhu0T>C4X^6eDmb%krL zFl(80@#Bgfn_Hs`-xsY$MPLX00RxKN5(BN^$>K~s3;a+nHH zRo+}t(dLheQcb9r@2#M+=cVU;oz)-D2i@&pQJX`&l^tnHgu-6G{Waw3s3Ed>hk>em zN|Ql1^HRlbr}uqYk^)t4Oqm7I*@8CIltul*oIcB6s?polbQJibtC4fmTBy3mKhZCoqmNwq4E@a|ESt;$VAmt4R(8VfPA-}%O=+#;D;M2i9N#tmM9D3eyv6SPZ42r8^#xd)v8;;( zWqx1Kh4EWyCIxZfMo0966bV^4f|t9JHf8=986iG={$Awj_O2=SX2x$7|=PP+0 zp+-?@8Azr_o>Bk)NuWS8;bvfiWB9L8mS#O5KU-P-BY^~nsm(!A+E{@CaD>6n0>IdX zMCvG;7=TZwPj8sV$?n}dRe-bq{u$%_Cq*XDR1V0x)N5C1pCFs2C<#pby^igyc zfj;?dd3lCf&|#I|%L3`Wn`=VR(q?dvX7oDntsl0R3UAyoeQ(k6ZkTd7qHwH1vVnA5M2Iv-!lah=3{I=_O zv5YMQ8@%oJnO}x=RnJlcFJM!Mm2!>G^4|9?+iZYTl*J=N5cnF`MN4BJ6SQ!F^ z#m(_6%fhen`*`%FzWe$Zq6Jy}n0RS*A0iU8(QwUVs-cXDz>S(VD*I?MlT9t}T zufWGGkq}j&aRI00?uBfPiYmU>iuL*}l}&_QMX5pw#4DSco|?rig}j)(80B zWcq>maV&zvLPn2Fs|G`+Blp+r5AOU&cI9NTy35Lf<4`IVE2C;aan#^ zjv5!Q0Y_Mq-k1|zkG=kXibrm=1i9e2(NuyE%3QoE+*h;^yFcMAQ1&%g9QXAqPvZa8 z$IJ~56tHP1WbBGWXI38KkTp%fd2myZ!rND{#K@?piP0vDMjQ~knqb1qi;@;DYPfRZ z^}4^StN~8v@8^5S1!$p;t}B!YuB(KrZU0TX-^D+))mU+yN&!-W$TJaJO5?hY^%bW- zyoQO)Y}5~SavtC;fo*7Vu(J3>jem6DqX&N3V_RTK^@seo0rlqJgVo#JaYZq05S_% ziPV9#MC?jYrQz@#Vw@?K`YriJkU`Jfc$=+-P8#=f)&n-aElI6sBw)M(XMN3@Q2I?b zSkUKQFVC&vQY0W-x4(>B%u1*OkwC1V@XwQkMD@OnCL7%!8bO!_Fp5JI1no=aafWt= zK0wX`x~%L-V;n-!hm?)oSI0E#122;aUoCp6@`^C{a;=c%wt?or`6Er)d>4Bi%MZCz zStTr?N_qtRAASsEe1ey9GfpXmG!`9wdB<7+S6QYr(`H{98|lna|qoUq!eC19ZE}5BO1; zTIeY0kO}2{{FoN+O85ap3#OSB?QHtZ192?YCe0sXvV*!XyzW|w%YSyL+>hnI({C7- z4=@{{rnE$Z%+u`4CPQqVak*wlw*0M+rpdSHa5^tA7C{QUkXHpbH=xG7@3j?drXaH7*P%37Db2e|tI)_C3>nNRGpW zXBnSbu>M88d+{L5Z5U*t+(|r=hTl?~XK`_QUfO*qRFvFZyaShE&k2$KE#v1@W@zVb zqvmkJtuFR>P>dn9ZY@6J_oAArluS6+;p@r_2~^ioQKi<7XVzc7gO@+~cQgP!-XC{P zL(VuA%XUff3(Mr^<&hGUF0}!GQyNWVD(x z>(%XHejvbd@}^~5dxa&PWSaqk^#=$~6*U)QE;-hvkCr*B)4p!CHR~}0mTKIK@syC- z4v{JJo!Kl^YAPH%zVfd|)1s6p92z@jf5z-`J#ao--p$hmvRGW@B^xoyXWq5oMm5@RyO0?d`WMi+BqlauA_awx{B;_jgmcSC3H>EtLb?@%Bp6mv%X#`0$Jf_d|0JY|prT~C!HuuPGP=`6b@ zWvR!*OAoHgAo7`=zsq)<7A3}b$)L=RkFhubf~t5m)G~JqWYp8+Tq-79`}@FW4nAg*K4f5#nuu65MsnwPwVU zCDh(ux+pKj#xOX_i(z_1$!Wiqkw4$__oxK9PhM(PuAV>r?7fZB(?`4N9!&>Wj1-(g z4>Zb(`oai}W`uye7gZ~2lN)>f9TvCWcXsgpCj$@`Z0hSpg;t2F;qrYf4U?&sVhHp^ z+xcxBTtA#EesGUF<>Ba&60AM^)rY{ilR?+|s*+L0;F8cnUm+qcRx1x>dBc+puZ!nz zUqUye-cr+yI?wVH(kVoD#+0aL){TN$pzm4c&J$2&A(I6(aL4OI*M;V$nnQG==-NvV z2_j0FIUTiGPHKb>|0ct? z+kxs-S--d6O>fVMD^*J_bT+2*P@Kq(blCqmKKYlNsn`Up`0oA-Bz;xer}ymr3h;j+ z!fmTLOP8L&Kg#tRywz!XYn98eJ+MWEXC)tU9Hau846@S6{gD?bXYIw{!s=RCM-9uM z=PGra=YC((h$*$A)^BU-zI^FiA%8wO)QymBT8O;3P#tz~ku7ove&oP%DmBR{ZvR?4 z%&M3p{U{E<@D0$8?`5xl&LRkun;}CPBl3~-l}-&1_h2j{v7ckQW4PXPJ9fv}bg5t6 zWiSD1|c>QYzo=&^*!3r%~?-i@kaiSaRc9$0j)c*l6-BKoSgPP*0x1B^M8r z7T^HE8l>y*@~qoi{YPmfUl{KQ70OloVu}W7%yT$|Ar-MzKk9p8eEm~! z#)l%HS8pCV&}7!x3NWAG?9@`M<-mcMkZ-!L7+h?8H>z0d%U$_r z>=YhJ`G!jGn)`OSM_PJvX}46b$nYA_e8HXqo+)(SAK3ncna}D=A9up;#L9xT`CDk6 zX|`}Sql+iLp(Mv(tw5 zulTd`sC(P)Y>eaA zj#cW-%nrljSm)V>e_9t^Z(jpMYi(2TxM6?BCn;;fo&WL0f|_P_-KN(xew@KHcwHQ( z;}wAcXO=z!2>DroJaRD1|AkjpU#N$xAnO}}$_v}QCzU+sxCf7pkCLxvUtG6f~ zqfjsOCEn_6jFEUXDlyWC(JvBDaCv#(%_L~kyC+7j=8aMlKVM5TB9j9ah9e8XADaFh z9BhFXBUDC~Vc8zZp^vY|IW2>tNIkIwq7jySvo|=)4NO<`hDie}aDVf1YX&){bk9lg z!}i>wed``i-cS8rS8datSFx%Yc7VtVUT|SY*-#_C(~vP);D9C@_)orH@^E89@Q1?3 zmYMq-Hh~fmX>q{jZ^J7A|WwM zQ$C>y_izvmUF>N-^&FVjJdt--SG0gxY$Uu130OmgLM(K(1%sc0BK z;6u9pbX1l~wM!L1k$JzF_B2na=}0e`55h3&{^(3uRLUq2Pq#UPyIylZC{`f}oFX!s4TV^A%VwdvL zrV@P)^k}q!Y418{@!J&UQp#A_95D%#gS5*grh+mid8K^-WD%{sgEU)sJA+(p+F2P` z&nIftNSOVWyL6UV;-MC~SqS?V9b>(K2y_y)*mm~7$O#Gh4QMR(b;|<1F%FvQW9&`pqr_v#o4PrgY`pRYZ>aE5t%t) z1?v}mX>EgmY_Wf^%e!W_HcT&+6oXiqIs>DyZ`6_?MZ|fHCS{4X7AXfo zZnFv4Pn1>lG#hYuO3dge_;wwq>2I%(N{hXL2Yw9&>%XjP0rwL*zk*c3XRg6XnfFzk zhi!;4_!oc$2W8$~&k1Ir!kyTcaw1Y6kA5eqQe+M=g;(QGcz$~{)~ggoQGsozS<*Lr zcJ|6&Qg5dy;eikv>sBQW`X2R0g#kdlD{q1(VCcB73=A*pZT57M(=`D|v#vPQ_WwRg z`bM=FgCnPm4oC3%M5z)JwIaYL8T0u(4Pe_+4J5bJF2|~7V%6cFBMiTlUY8|RMI;3{ zZv6mwa$F2m?&1>BT&SfaCE8n~vHwz8K)gVI1@x$-zOPH|cws%4>i9>4Cn>GkCo72|5 zmfxw{(4MoNix7~_zS2S1v)cD=QVplgX!!%o(}b3s59KDbT&rDwP`Q#T-hTG2uP(M^ zV_yEb@QQRle287tP1b1clfka_LT28G=i#Kdu#^1#XRYEgkXU-;@2CzRH=&><k<`g0Zf``c@2E;kz5duX?93NPmrlz^t13>O!R{0yAmI;d^G&AI*T zBQG?n#Pmx;R2l4t++@!RE20?pO+GVs`(6uZc0lDZgN2>F#U+=J6Lna~@Pxlfnq*HW zC}q-$X3qkmgNzL-Mhc=KQy-Y`8M}7@tQ~|C+=WJdgBpLL1=Kt;YY&D%ol4oLlJn`u z9)oGHqHRVWh%z?l+`+CCamRIzF)9r~r}YAr)#5IM-FH6XiB5t7WqlYW?a-?m>BKuI zso;YMF!Hv_yHK|yjFNq-Xf^3WS$?zI3HfAqDg*kcKaA-i%W z=8ka{j9A|V|GZ0XGsi0>^O#}+MuH~l4Z092=A;pF{lObBy61KB@vub2%SlVf>`SK0 zNhM~qUC9k{)rlG@?_A9^T+WWtL&Q;nl@CrRbb+ldrm|wS>#UxZ*YOqJ)w`N0Oy|fy z!&0@SIH4H*$mINmBmG#^{h(ANhotb0&7_w6v=3H-nUk*?`Q%`U$`Haxl&t^n z1?xxEDL6}XBQhlzG9fr{!O(HKL5FlcQeq2lgqXz5*d6-{L9tujWlvaKtW_O#(hlG` zO~swpr(jA6dLydm>Ab6(r!`u2ml;06v#0+{tS(8ghrE68IL3SCsDMag5%sKdT*_n# zVryJNFeY9|MJZFn7Yf@==OJVrR^I*2LH&c_YJg+RzHAfeakLun&?s%243l*YCJ-s8 z$)NE*FR05q6cQ7WR2?;*R@gh$%rlN$dgThz=l%J6DTV0)K4ZrA2Sy2?#UTFp|H^u+ zpgJ2KTpKIy?hXrw;>F!vi!I!XyY;~q?(Xhd+@&}aD^lFuodQMn`~PSA+lR?yGC52p z_uLmg*dGrrdjRQbhm{9?ybNE+nFg(PRmu#B~%A`P68paI)3ExEIf|{(NoZiG0 z@j`pFNjsC@jO%ot98tQa7yKR*@&{j6sn{a0!?TWC5irzy1oMvCtKa7I? zBZXHrlC4mJnAC2f*8hwl&n71g-T{l#)>O-fdz@OSK?}5_X?mrf=hwV0P>cwN>_?cN!M3jQwUvnvh-VG-|)1wstB0wM3-Dj0gZaFC9%N}p2@GUAwEBx=_$Qzm?HlqFP@=#;ZF|YZeDq-9`5R&B1(8f`_ z-TncqKI_+?a#~3GIR}8cK}bP{%FTAb-8TQDxwOCQY2;cg@2rgm%i6r~-I6ZC?LIlY zeNr$rh}qVxT{mUyc`v;oaMT@*3jKoU){>n)S8_OHaBq}e7JSmlW}{0=@Y9lNwJOILVk zWM)~VQywYdJv(-b`GlM2@MW#R2HuGDyO`oFel?LG1f_T0CC>0!UG~UD-v5EgWGm#dn>~K62c>NL+ zp+KXk2)I}=DDZf3YI}ET)}20Ga#)ezP}awx>9i+NL@`UU(7iF{*K9~MC&A;M zctFHO-mqt~Y0jzf7FJ7Cvxq77C^y7BRqG5ie<~%$-5;m~+ida?W=amc*lED9z8H=^ zJ!*X_ZrF>$uioV;^Fi^ulK$BSpVw?5nZv6c>yX>b1F+8Bq=fuY8RC-s;z7QFX*=MN z^-Um0m^?OBKK87_q$V$QC~m**!hogS>S!nW$x>WpD_jIbKTFQPzNK#W7JI_`Iu6NK z^VA|(mP3zu#zULw%5C23@8reJeZgvDy4+qlM*AQ~m3URp2$*?lw7@d4=+=-ViCE!P zrB!pn2Y3%Oir2T1o8)lztF3Bh>|(xdHf1QF<@Y5SNqii`ZzifR@^DHu|5{vs9{sxi z;8obR9~DT;*Q%bCz>SnHZ^Fu%aqJZFy6axF*uWuZIG+MvYKKWyJEtupiI|?F<7ZIS zeV~t?ae@rTS7V3wGTX&p+f!u0O)ZVi5~Nj)1{8J##uX~&?IX`rWU@BvhZMl5$nYRh z)#!atUlkPm@^k+8V-VM!>aI0QPEOoP772PSspx`r0gD3OzCWq%k3lGROKbbg(B*3u zd$SD0v0d27H_!AsgJL@Fs9F3S1RdQ^}cN1uMOX4roIBVh!m{04yksz+|&04Q% zfitdSL+d!spb_smzNhbp*BV1lQh%e41VU-2Cr%ZA{jwefsgecV9Hx(VeKZ!awH-*l z=3Iq#JFfe2fOt1Z%H&^i3{5ho8es&SCa1s~!C9`x)VsUHp2k1;Y0{uYmT{z_DbbWB z%^|M5nHY^&0R`%HdS>odR6~J&O5p4yD-o%yA}~^l@bDHN3r^PlkC@cDg}_;NAWNQY zM4Ws_6w|&}mZGh8f-CF>Ps+aoc6Nm32E{gxZri z;-;lw+%gHo2c0?$Gn*ztqU`PjH6mkT2sr~Hb%lK8;w+K{gLd%uhr;=8mk`sL^@y}V z@*9QerC1DWx3l>Q^90+4cwwnpfVJMoAb9)%?{7B7Q11TOQQ|Uk1YrfOEzMmx8!Wa5 zus2tNyeGD6aJEO!M$`b`R6#QwhA)*o=}Fi1V~I|&P)`%0z}99hQFO+7Sg80mEns`t zVvlkmC>#Lp)aBKV2zv&#n<*rK+@CcRYNoY7-{#jkZOyiB6^uIFN;VgSHsZrFtx?L?i9iKY=HtvH!``8fl75;vMc#03415pX8yo zR)cAV%lc#bfKm5ZX}R3;-8MXEl7B1)!a%+{h}&(4iA<ZBDzMzCvqOCJXY&15U~9N2k7oRrb~^B=lFzi2JX7wraBnI)SoOD_#Q zKjb~P$TgMIFG|P!<(Pd^p9zu{RsG3H)w?KbpHqe?Oxqjmi5EAi;z#-ivx)_5aw^NK zIJpJWdB3L%YU}=a1DYjTm?%0f2(A1`=~FV+Mr#NYe-TK`rz#`j?+$5vvDbBz*mWR& zWXbAmNEOm|Bkdhsa?sk}B&;c7%3ZbKX_;>@K%>^NVwD@zFbjY)ibNt@zkNYI-0*PC z|1>R^uxU+ovyp8aY>J85+$j>x4#(o6YKeAP!~n;+RJi;^4kV`T!?)41wo66G-Qu2I z72%c+1WY~S!CxRd`aD#f!y7RMci690v02uTb`N(NJWOTgnEnyq_d${S?Lq=E?h6!W zg)5J3^lskZMQw4UbRxim$Gq$x+J#TBr!H72l1rM_$nz+Y=RdY-H`%;6zH0?<B{o5joZhPd9cMxPEbsGRiiE9V>wHI)ivmo70nq=G0Z=s zIk|n)+{<2Pqg<2NAR)^lHJ0d7G5dien{P@hwfPkUT+ zaQ)YduRx=qI?p^oALiN_Uz$PfM2S#lO3$D3U0kq<%*F@HApcr+(`q_Gy`=Yh#t~pA z;X2GS!QVpM;qSkudU0R?AO34VBy*O6xrpy(ob%`dN$dy9@3BGQ)i;I9Tr;OMM+e%s zq7!1#??0$N#r|ybW-cS!Ux91Qsz_Z2Ys2Q>ZvqV$(P-}e@%i_+QM_1&us`N_v=_@< zX;MzKGfv*ucOaG53L-kvg5MXsCPIH_(rdOy_Ht0%rZ1cw^0G8TiUL=eIq#w@Jf`}^ zXt}OFKq_is`sCOwggeHe-}?pH-5d#Itkne3=%6O&Li+vztJDiuSBillMGtP zDfdkF#0WAJSzegF7gt51Vt7rWb1O%2)wg%0dZf8~cnd#4$7>B+>4;P|M*X3aDkX=@ z)+4_OGpgcts8m}_s;*z`qQ!+)I|P7YFGL4QZ~((k`(G+A=lqy=^Os8^>1h;E>`l57 zEG5n4SOo-b8q<7KjL%;cj9?nl`U6@C# z$pa$XH?-Yx%J9%yWSF3hlT{f6ITLBgsv=b2CJFe>;6~{_Sh6dBI6PN?)tLb9G!MZ; zqNEDgD0e&8^FTMgh#c9rQrD7}q&_x$MfRPSV#Zz&_6UAGGZp`@U)hekT;m_GQp?6c zkjIDnk0dq<*1=F>Bybtp*zU&G;lgR)yyI$mjm>Z|spt zN=_4=Jpnsks>Cy$C-c6m3oIZq2O9}pHs-ZIV(a~47zgEK)q^yQw{ogs31oX7U%CG7 zDYt13@xx%QaEeSBdMgbsa-#hEmj-(cGH?fAvBL?#IIAUa5Y-x1q6@=NO7s3?N_^Ez z&&WSeDCnYY7-T*}pQJHTe46W;k=MGRS&#chV#Xc6VknE)nG~*1$U*2al-Sx_-qy}2 z{s|}dXYD>M2Vc&XStCHNE;+a;=jUP|CYh%(KYO!ELm_^pl)x;MG2<#LE}F3{l#kQx zgPFql%Q6q-C=o_Zm3&1g0ryyYFSxezPK^^k?Uj4T>h=W9*j>+n|7TZTZvL$>vv<@W z1aDahv0PkNbpQA&qCZJZDtUm2p`b7H4=g7SgIfe4-rBi^-zgw>Oy6~us75Z($sh*b z1$mhZ?kCerqO?VoNRSKLP6;8JMjEmvIF>2f6#&_?Obg7m!HS8o{Em!ol{ zxVfa=s#o^&O0oFrm|B{s#3yrDK|G>S-$2PyYZH{r)N}N!!f<<(QCF|Pm?3`fGLC~_ zrKA%d*WN)I#urfkseo>qfHQ~feVZpXjYT6#x%}LN*tF8IzO-;RYWJNO^_k)*@0jQD{cxJ{#_XF1u5p89eBz^V62alzOd(4a17W z+|6YmCzf$3DF3v`?8A0BZVCBzqY z%_TZRmArTZgH?o=B|>Zi=nmMY=192dtaSb?TKU&DU9{3-dGMYpDjUxJP%u1C(ck$57rzJ1$2>O$$Z~h>a$3uzOji9^Qjyd890FN z+S8)T{F?LRzCSoy`VeYQ1$oqY6XAGX0p(-oWeCM_(kMD@$5uV`Oa7->!RVq)V29Bmo6JI|0-kARzp`J=N4k6Hw%d($P&erZf z2TVYfuW1?qni6_EiafZdrR%Gy%?n_07l14^PN!JYytu1GIdP$}l_wM5#pC7DT-oPaIlqnr4ri2_3y#X?5qr}b(k(O z5Ro4)SaE$bAsY0*lC~c8t@Whc@V()t0b?QABWY#PaIbpp(+wR?Biai&!XwxlWD*`J zqeiu?I%f?g-dU#9VVQI}l7+_MTcs8a%rni$mh7s!Rn1h7)df>bMFaOa+8)>=E%QJ3 zy_HfMkB3IuR`{?oxMw7ntocmI}3PJ$yqfSS!%-$YU;XRKH!0r0# z0Ms;JJ_?F2#7O_J?I5u#=1^!%+(Q_jMM~!Oz~+m|Z4i_Xi_DKhF#lNp&p*(z?aBN( z=zuL}e4nK4m81sd?N9_1U-U5Q{nl9_yqO$sCFEnJ_b7w#+5cHVBo-?88-HZa0)=2C z-((I4xoQsgm>Fndms_#+kw9f(g(<;_yxghZ#tBHs!Uq1l?*IT%s&fN0Mn zo|?mHYeg&Qs0wfFoP3SVa5;yU^x74y6eZ%{VK^5Yr0 z0!OrZ5s{JfMZ+wpRco+Lma-TMZHOnjytq8K<^{qncub{PH(y6=L+%%)pqJ5-W(G@J z8Vao=<vwlK-_Kav{2-4PP>S4G=7=o1S~U79I=BA;!p7YBI#Xs+Cy z<%X@2F_y6802}7sh2rX1H(2YQMjbrjaSO`OG&)8k#<25dh zW1)d$%7BA`ombkL+M)p{2)UfyPY_5xMeMkDD)KU2+_C6HuC;%Z=r6E)Un>w9K#AZkFGF=$V!8 zq1tcWS%&7sd)=|xgL-{zR5xhgEpO9-Y)tD#V17}@JAt8xWxr)8tWZV*!CAibD1 z6w|x@6AG)E@k&EdY=$V+bu-{qR}cFO!YlC2AQ)Vz-CaEp)*l0SHoBh3w|BS~indy}HFu8|^>Qiifg3 z@ab`F?TuSJI7G=y|8>_E`$^iV_DOn>-<4(w2|fgRzhR81L>|VQ#T8*?d1}sv+v(@L z?vPLmW2Q#h?xu-Ze%EB2NpNrkmlkQ0<~fyZ77fq0eoYnWn3eznYRV)6Q(ffp+b*)G zQ())yrW(;~Yd)6w){Y_*QV?Kmooi=1Qe&|(?3UXo&*<$O{uW!}Jsu9+|4z?f6mAO= zS!KK&kYAJt2(r*Smfx>%ji26lL|fHJwv#^tUD9T?n}f*ciIgP%GcJ=Cavey_9~mrM znh7kKqTrqQIz|!K$T0;k7G4TX>V!R_0$`UhX4q_Z?Raydzl?W~nmsGN&HfsZPvF1d zzt81>q|k2rS3X-*n{o z&Te5O_EDkGwA$;T1_U7sG&o7w_pz33)kd(L_MlHhvxCq3!{~;y6}aKYO*mcu0f{&< z=1@^Azj9d6Oaeu3dnjFG)kPij3@iV>L~?fOHmGXp7oo4UWZZ@fdIA$D^lD6~Gwi!_ znMWO@flTmR14?TK=ZdWn0=j2>o}Ywyy{K~JZWG(nieF+%?AK8gXwPk`Qibx9SSRM3 zQsdbg%kCUE{1Q`rM*ZaP-B3`h0n;58mK+GA>4&qOdD#Uk+y58189aVpGT{IG5{wiM z&Y2^K8avZk1|2%`KjGp}xQ8G=IcZ`{<^ByZ6i7@{@L@Lf(TRBNAdAXT0FAP~c$23I zF|(5<#vwgyp%tp~o!7qPx-WNJiFWoBe*g5(haVyN%UrUSuDlLQb$J%hSL-rLpq;&s zzW!(d{n8Ogh5stgO=wyCpG|0_XiN?VBEk^hch$`Rjb@F2d#H`Oo6=aD=(GrlWj;&)0+VgWJbz#jrDZBFCaGo=-1avg85# zi}N9{zt_U!gm>cd{q7h@@lmNrGKnA0k2{R>KUK%TBV+(nMgH?95fcFjGkN^SecqnV z=ap?3@Xuktl!I+GIfjbs`%dG?S12g_nICq}*}L(2cm#3+sVLwxo*@4QcJ5omub0&W z$zX1A-V0^(gcAqh2a0@g7ItN2jlGqJ2!|rvZ=hWMn=;I)^k?*pumXmgSw9+VxY|Gg zDLm!NQV3vj&)brz26e-{f z=+|k8WC(eGm^Z--6#4FQ_~|2)MzweM{q|@1mXM(DdnI50M<0x2_w}oJJ$jzspMaa^ z(M^#En~&J0nWvdfnlXZ(dw)5F!rmX9MKxFmCHMfc5Y?ksHf zarn1H6b@X73L$hC;#X~RYfc4OFy?az!yQm!!wD0Pk5MR0KBSnSbWPc98ILf8H)5`} zQ<#tJeGF2^{5Kecb5BEglyoyD|3b5MqX}@6`vmYIb1{;~^cN0Gaua+P(^dF|t)bjr z6!J1{ban6B!%G;7s;io@VZ|01+dyNXkR+2w+`=YA^MtN7U8-jcvOi#l3gEm9zXWV{ z1&W7Mb7nDww=rID5WHP>mhWJfC_owo+0f$E5C0C+aALv=FMCTghXwqW^b~a!ZW!O! zOO!&a9~gA_2`w3~lLlv9K*_y0=wUd^h{R(3iZ3CFd%3I2S9(D0Mr&elvMhv@sYrUGmgI$^UJL#-3M zBm|h@bpRqlQvgE^a(aRe zO}tu)N^Zc065!o1cBNmSnl3$T8wsnNg4B-NgOW#VPochW z-@lk|k&Pl3n!_Mno5|pe>p8(-3?u z3Q0siwx8!UT9>jbn@O=EHlILX&t?IVy3-dyz8L@IC zRNv5RQW?i*aShj-)hq}L+}rGPVNH`bRWEV|FwqlbgdgN9ijA&r8?kGU=8u$8pP*ZW z(#!RClDSVnO|D>7`mzVaK4`W6vDq9Ax^W-nB0iq_vQqpH7qp@t{UASIKe(L1J%Xk{ z6#4vP%CD53F*S@@Pmytn^CMHMc##Un1!vRq%ICihW#<(}aCNo7gEJF<9m%b6{*(p6i8{Ilezto27kdMHQSSH$p&u88C{}qy1J1A zu`zzu1=Wo% z-A7DcS4Wx`M} Неопределено Тогда - Данные = Результат.Данные; - ИначеЕсли Результат.Выполнено И Результат.Свойство("АдресДанных") И ЭтоАдресВременногоХранилища(Результат.АдресДанных) Тогда - Данные = ПолучитьИзВременногоХранилища(Результат.АдресДанных); - КонецЕсли; - - Если Данные <> Неопределено Тогда - - ПоместитьВоВременноеХранилище(Данные, АдресРезультата); - РезультатВыполнения.Вставить("ЕстьДанные", Истина); - - КонецЕсли; - - Если Результат.Выполнено И ЭтоЗапрос Тогда - - РезультатВыполнения.Вставить("ОписаниеРезультатов", Результат.ОписаниеРезультатов); - - КонецЕсли; - - РезультатВыполнения.Вставить("Выполнено", Результат.Выполнено); - - Если Результат.Свойство("Описание") Тогда - РезультатВыполнения.Вставить("Описание", Результат.Описание); - КонецЕсли; + РезультатВыполнения.Вставить("Замер", Замер); Возврат РезультатВыполнения; КонецФункции -&НаСервереБезКонтекста -Функция ВыполнитьЗапросНаСервере(Знач Текст, Знач ПараметрыВыполнения) - - Запрос = Новый Запрос(Текст); - - СтруктураЗапроса = ПолучитьСтруктуруЗапроса(Текст); - - Для Каждого Параметр из ПараметрыВыполнения цикл - Запрос.УстановитьПараметр(Параметр.Ключ, Параметр.Значение); - КонецЦикла; - - Результат = Запрос.Выполнить().Выгрузить(); - - Возврат Новый Структура("Выполнено, Данные", Истина, Результат); - -КонецФункции - -&НаСервереБезКонтекста -Функция ВыполнитьСкриптНаСервере(Знач Текст, Знач Параметры, Знач Контекст) - - ТекстУстановкаКонтекста = ""; - - Для Каждого Эл Из Контекст Цикл - ТекстУстановкаКонтекста = ТекстУстановкаКонтекста + СтрШаблон("%1 = Контекст.%1;", Эл.Ключ); - КонецЦикла; - - Результат = Неопределено; - Выполнить(ТекстУстановкаКонтекста + Текст); - - Возврат Новый Структура("Выполнено, Данные", Истина, Результат); - -КонецФункции - -&НаКлиенте -Функция ВыполнитьСкриптНаКлиенте(Знач Текст, Знач Параметры) - - Попытка - - Выполнить(Текст); - - Исключение - - Возврат Новый Структура("Выполнено, Описание", Ложь, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); - - КонецПопытки; - - Возврат Новый Структура("Выполнено, Описание", Истина); - -КонецФункции - &НаКлиенте Процедура ПослеВыполнения() + Замер = РезультатВыполнения.Замер; + Описание = Новый СписокЗначений(); Описание.Добавить(РезультатТаблица.Количество(), "Строк"); - Описание.Добавить(ФорматВремяВыполнения(РезультатВыполнения.ОбщееВремя), "Время общее"); + Описание.Добавить(ФорматВремяВыполнения(Замер.ОбщееВремя), "Время общее"); Служебные_ОписаниеРезультат = ФорматированноеОписаниеСписок(Описание); - Если РезультатВыполнения.Свойство("ВремяВыполнения") Тогда - Описание.Добавить(ФорматВремяВыполнения(РезультатВыполнения.ВремяВыполнения), "Выполнения"); + Если Замер.Свойство("ВремяВыполнения") Тогда + Описание.Добавить(ФорматВремяВыполнения(Замер.ВремяВыполнения), "Выполнения"); КонецЕсли; - Если РезультатВыполнения.Свойство("ВремяВывода") Тогда - Описание.Добавить(ФорматВремяВыполнения(РезультатВыполнения.ВремяВывода), "Вывод"); + Если Замер.Свойство("ВремяВывода") Тогда + Описание.Добавить(ФорматВремяВыполнения(Замер.ВремяВывода), "Вывод"); КонецЕсли; Элементы.Служебные_ОписаниеРезультат.Подсказка = ФорматированноеОписаниеСписок(Описание, Ложь); @@ -967,7 +968,58 @@ КонецПроцедуры &НаСервереБезКонтекста -Функция ВыполнитьЗапросСЗамером(ТекстЗапроса, ПараметрыЗапроса, СохранятьВТ) +Функция ПолучитьСтруктуруЗапроса(Текст) + + Схема = Новый СхемаЗапроса(); + + Схема.УстановитьТекстЗапроса(Текст); + + МассивЗапросов = Новый Массив; + + Для Каждого Пакет Из Схема.ПакетЗапросов Цикл + + ДанныеЗапроса = Новый Структура; + + Если ТипЗнч(Пакет) = Тип("ЗапросВыбораСхемыЗапроса") Тогда + ДанныеЗапроса.Вставить("Текст", Пакет.ПолучитьТекстЗапроса()); + Иначе + ДанныеЗапроса.Вставить("Текст", "УНИЧТОЖИТЬ " + Пакет.ИмяТаблицы); + КонецЕсли; + + Если ТипЗнч(Пакет) = Тип("ЗапросВыбораСхемыЗапроса") Тогда + + Если ЗначениеЗаполнено(Пакет.ТаблицаДляПомещения) Тогда + + ДанныеЗапроса.Вставить("Тип", "СозданиеВТ"); + ДанныеЗапроса.Вставить("ИмяТаблицы", Пакет.ТаблицаДляПомещения); + ДанныеЗапроса.Вставить("Имя", Пакет.ТаблицаДляПомещения); + + Иначе + + ДанныеЗапроса.Вставить("Тип", "Выборка"); + ДанныеЗапроса.Вставить("Имя", "Запрос " + (Схема.ПакетЗапросов.Индекс(Пакет) + 1)); + + КонецЕсли; + + ИначеЕсли ТипЗнч(Пакет) = Тип("ЗапросУничтоженияТаблицыСхемыЗапроса") Тогда + + ДанныеЗапроса.Вставить("Тип", "Уничтожение"); + ДанныеЗапроса.Вставить("ИмяТаблицы", Пакет.ИмяТаблицы); + ДанныеЗапроса.Вставить("Имя", "~" + Пакет.ИмяТаблицы); + + КонецЕсли; + + МассивЗапросов.Добавить(ДанныеЗапроса); + КонецЦикла; + + Возврат МассивЗапросов; + +КонецФункции + +#Область Фактическое_выполнение + +&НаСервереБезКонтекста +Функция ВыполнитьЗапросСЗамером(ТекстЗапроса, Параметры, СохранятьВТ) СтруктураЗапроса = ПолучитьСтруктуруЗапроса(ТекстЗапроса); @@ -975,7 +1027,7 @@ Запрос = Новый Запрос(); Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; - Для Каждого Параметр из ПараметрыЗапроса цикл + Для Каждого Параметр из Параметры цикл Запрос.УстановитьПараметр(Параметр.Ключ, Параметр.Значение); @@ -1026,81 +1078,107 @@ Данные = Неопределено; Если ОписаниеРезультат.Свойство("Данные") Тогда - Данные = ОписаниеРезультат.Данные; + ИначеЕсли ОписаниеРезультат.Тип = "СозданиеВТ" И СозданныеВТ[ВРег(ОписаниеРезультат.Имя)] = Истина Тогда + Запрос.Текст = "ВЫБРАТЬ * ИЗ " + ОписаниеРезультат.Имя; Данные = Запрос.Выполнить().Выгрузить(); - КонецЕсли; - - Если Данные <> Неопределено Тогда - АдресДанных = ПоместитьВоВременноеХранилище(Данные, Новый УникальныйИдентификатор); - ОписаниеРезультат.Удалить("Данные"); - ОписаниеРезультат.Вставить("АдресДанных", АдресДанных); + ОписаниеРезультат.Вставить("Данные", Данные); КонецЕсли; - + КонецЦикла; Результат = Новый Структура; Результат.Вставить("Выполнено", Истина); Результат.Вставить("ОписаниеРезультатов", ОписаниеРезультатов); - Результат.Вставить("АдресДанных", АдресДанных); Возврат Результат; КонецФункции &НаСервереБезКонтекста -Функция ПолучитьСтруктуруЗапроса(Текст) +Функция ВыполнитьСкриптНаСервере(Знач Текст, Знач Параметры, Знач Контекст) - Схема = Новый СхемаЗапроса(); + Возврат ВыполнитьСкрипт(Текст, Параметры, Контекст); - Схема.УстановитьТекстЗапроса(Текст); +КонецФункции + +&НаКлиенте +Функция ВыполнитьСкриптНаКлиенте(Знач Текст, Знач Параметры, Знач Контекст) + + Возврат ВыполнитьСкрипт(Текст, Параметры, Контекст); - МассивЗапросов = Новый Массив; +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ВыполнитьСкрипт(Знач Текст, Знач Параметры, Знач Контекст) - Для Каждого Пакет Из Схема.ПакетЗапросов Цикл + ТекстУстановкаКонтекста = ""; + + Для Каждого Эл Из Контекст Цикл + ТекстУстановкаКонтекста = ТекстУстановкаКонтекста + СтрШаблон("%1 = Контекст.%1;", Эл.Ключ); + КонецЦикла; + + Результат = Неопределено; + + Попытка - ДанныеЗапроса = Новый Структура; + Выполнить(ТекстУстановкаКонтекста + Текст); - Если ТипЗнч(Пакет) = Тип("ЗапросВыбораСхемыЗапроса") Тогда - ДанныеЗапроса.Вставить("Текст", Пакет.ПолучитьТекстЗапроса()); - Иначе - ДанныеЗапроса.Вставить("Текст", "УНИЧТОЖИТЬ " + Пакет.ИмяТаблицы); - КонецЕсли; + Исключение - Если ТипЗнч(Пакет) = Тип("ЗапросВыбораСхемыЗапроса") Тогда + Возврат Новый Структура("Выполнено, Описание", Ложь, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); + + КонецПопытки; + + Возврат Новый Структура("Выполнено, Данные", Истина, Результат); + + +КонецФункции + +&НаСервереБезКонтекста +Функция ОбработкаРезультатВыполнения(Результат) + + Если НЕ Результат.Выполнено Тогда + + Возврат Результат; + + КонецЕсли; + + Если Результат.Свойство("ОписаниеРезультатов") Тогда + + Для Каждого ОписаниеРезультат Из Результат.ОписаниеРезультатов Цикл - Если ЗначениеЗаполнено(Пакет.ТаблицаДляПомещения) Тогда - - ДанныеЗапроса.Вставить("Тип", "СозданиеВТ"); - ДанныеЗапроса.Вставить("ИмяТаблицы", Пакет.ТаблицаДляПомещения); - ДанныеЗапроса.Вставить("Имя", Пакет.ТаблицаДляПомещения); + Если ОписаниеРезультат.Свойство("Данные") И ОписаниеРезультат.Данные <> Неопределено Тогда - Иначе - - ДанныеЗапроса.Вставить("Тип", "Выборка"); - ДанныеЗапроса.Вставить("Имя", "Запрос " + (Схема.ПакетЗапросов.Индекс(Пакет) + 1)); + АдресДанных = ПоместитьВоВременноеХранилище(ОписаниеРезультат.Данные, Новый УникальныйИдентификатор); + ОписаниеРезультат.Удалить("Данные"); + ОписаниеРезультат.Вставить("АдресДанных", АдресДанных); КонецЕсли; - ИначеЕсли ТипЗнч(Пакет) = Тип("ЗапросУничтоженияТаблицыСхемыЗапроса") Тогда - - ДанныеЗапроса.Вставить("Тип", "Уничтожение"); - ДанныеЗапроса.Вставить("ИмяТаблицы", Пакет.ИмяТаблицы); - ДанныеЗапроса.Вставить("Имя", "~" + Пакет.ИмяТаблицы); + КонецЦикла; + + ИначеЕсли Результат.Свойство("Данные") И Результат.Данные <> Неопределено Тогда - КонецЕсли; + АдресДанных = ПоместитьВоВременноеХранилище(Результат.Данные, Новый УникальныйИдентификатор); - МассивЗапросов.Добавить(ДанныеЗапроса); - КонецЦикла; + КонецЕсли; - Возврат МассивЗапросов; + Если ЭтоАдресВременногоХранилища(АдресДанных) Тогда + + Результат.Вставить("АдресДанных", АдресДанных); + Результат.Вставить("ЕстьДанные", Истина); + + КонецЕсли; КонецФункции +#КонецОбласти //Фактическое_выполнение + #КонецОбласти #Область Функции_скрипта_клиент @@ -1917,7 +1995,7 @@ #КонецОбласти //Настройки -#Область Редактор +#Область Редактор &НаКлиенте Процедура Редактор_Раскомментировать(Команда) @@ -1935,8 +2013,6 @@ ВыполнитьНастройку(ПараметрыТекущейНастройки); - ПослеВыполнения(); - КонецПроцедуры &НаКлиенте diff --git a/src/CodeConsole83/maps.txt b/src/CodeConsole83/maps.txt index f703457..ca7e149 100644 --- a/src/CodeConsole83/maps.txt +++ b/src/CodeConsole83/maps.txt @@ -1,3 +1,3 @@ -Form\Форма\Форма.bsl-->6e6904e6-445a-4678-957b-e39d02fce6a4.0 (4 547, 6 911) +Form\Форма\Форма.bsl-->6e6904e6-445a-4678-957b-e39d02fce6a4.0 (4 547, 6 987) Form\ФормаНастройкаТаблицы\Форма.bsl-->a3626ede-5b0a-440b-92ae-ae5ab4b70298.0 (627, 659) Form\ФормаСвойств\Форма.bsl-->2160ae20-89a5-4c06-8ef5-261700f38e89.0 (574, 599) diff --git a/src/CodeConsole83/und/6e6904e6-445a-4678-957b-e39d02fce6a4.0 b/src/CodeConsole83/und/6e6904e6-445a-4678-957b-e39d02fce6a4.0 index 3b0df4f..8aef714 100644 --- a/src/CodeConsole83/und/6e6904e6-445a-4678-957b-e39d02fce6a4.0 +++ b/src/CodeConsole83/und/6e6904e6-445a-4678-957b-e39d02fce6a4.0 @@ -5014,6 +5014,7 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} РезультатТаблица.Очистить(); СтруктураТаблицы = ЗагрузитьИзВременногоХранилищаТаблицу(ИсточникАдрес); + РезультатТаблица_Адрес = ИсточникАдрес; КонецПроцедуры @@ -5113,6 +5114,33 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} Возврат Прокси; КонецФункции +#Область Замеры + +&НаКлиентеНаСервереБезКонтекста +Функция ЗамерСоздать() + + Возврат Новый Структура(""Выполненные, Текущие"", Новый Структура, Новый Структура); + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ЗамерНачало(Имя, ДанныеЗамера) + + ДанныеЗамера.Текущие.Вставить(Имя, Новый Структура(""Начало, Продолжительность"", ТекущаяУниверсальнаяДатаВМиллисекундах())); + +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ЗамерЗавершить(Имя, ДанныеЗамера) + + ДанныеЗамера.Выполненные.Вставить(Имя, ТекущаяУниверсальнаяДатаВМиллисекундах() - ДанныеЗамера.Текущие[Имя].Начало); + + ДанныеЗамера.Текущие.Удалить(Имя); + +КонецФункции + +#КонецОбласти //Замеры + #КонецОбласти #Область Работа_с_типами @@ -5148,7 +5176,7 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} КонецФункции -&НаСервереБезКонтекста +&НаКлиентеНаСервереБезКонтекста Функция ОписаниеТиповВсеСсылки() Экспорт ЧтениеXML = Новый ЧтениеXML; @@ -5265,9 +5293,28 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} #Область Выполнение +// Выполнение: +// 1. Проверка возможности выполнения +// 2. Подготовка контекста выполнения (Параметры, данные таблицы) +// 3. Вызов методы +// 4. Обработка результата выполнения +// +// Методы выполнения: +// Должны возвращать структуру результата: +// Выполнено - Булево - Признак успешности +// ВремяВыполнения - Число - Необязательное. Время в милисекундах +// Данные - ТаблицаЗначений - Результат выполнения +// ОписаниеРезультатов - Массив - Коллекция результатов, состоящая из структур +// ВремяВыполнения - Число +// Данные - ТаблицаЗначений +// Описание - Строка - Описание ошибки + &НаКлиенте Функция ВыполнитьНастройку(Знач ПараметрыНастройки = Неопределено) Экспорт + Замер = ЗамерСоздать(); + ЗамерНачало(""ОбщееВремя"", Замер); + Если ПараметрыНастройки = Неопределено Тогда ПараметрыНастройки = ПараметрыТекущейНастройки; КонецЕсли; @@ -5278,9 +5325,24 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} КонецЕсли; + #Область Подготовка + ТекущиеДанные = ДанныеНастройки(ПараметрыНастройки); - ЭтоЗапрос = ПараметрыНастройки.Тип = 0; + ТипФункции = Неопределено; + + Если ПараметрыНастройки.Тип = 0 Тогда + + ТипФункции = ""Запрос""; + + ИначеЕсли ПараметрыНастройки.Тип = 1 Тогда + + ТипФункции = ""Алгоритм""; + + КонецЕсли; + + ВыполнитьНаСервере = ТипФункции = ""Запрос"" ИЛИ НЕ ВыполнятьНаКлиенте; + ОбновлятьТаблицу = ВыполнитьНаСервере И НЕ ТипФункции = ""Запрос"" И ТаблицаИзменена = Истина; ПараметрыВыполнения = Новый Структура; @@ -5288,42 +5350,52 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} ПараметрыВыполнения.Вставить(стр.ИмяПараметра, стр.ЗначениеПараметра); КонецЦикла; - ВыполнитьНаСервере = ЭтоЗапрос ИЛИ НЕ ВыполнятьНаКлиенте; - - ВремяНачала = ТекущаяУниверсальнаяДатаВМиллисекундах(); + Если ОбновлятьТаблицу Тогда + + ЗамерНачало(""ПередачаТаблицыНаСервер"", Замер); + + ПоместитьТаблицуНаСервер(РезультатТаблица, РезультатТаблица_Адрес); + ТаблицаИзменена = Ложь; + + ЗамерЗавершить(""ПередачаТаблицыНаСервер"", Замер); + + КонецЕсли; - Если ВыполнитьНаСервере Тогда + #КонецОбласти //Подготовка - Если НЕ ЭтоЗапрос И ТаблицаИзменена = Истина Тогда - ПоместитьТаблицуНаСервер(РезультатТаблица, РезультатТаблица_Адрес); - ТаблицаИзменена = Ложь; - КонецЕсли; + Если ВыполнитьНаСервере Тогда - РезультатВыполнения = ВыполнитьЗапросСкриптНаСервере( + РезультатВыполнения = ВыполнитьНаСервере( ТекущиеДанные.Текст, ПараметрыВыполнения, - ЭтоЗапрос, - РезультатТаблица_Адрес); + ТипФункции, + РезультатТаблица_Адрес); - Если РезультатВыполнения.Выполнено И РезультатВыполнения.Свойство(""ЕстьДанные"") Тогда + ДополнитьСтруктуру(Замер.Выполненные, РезультатВыполнения.Замер.Выполненные); - ВремяНачала = ТекущаяУниверсальнаяДатаВМиллисекундах(); - ЗагрузитьТаблицу(РезультатТаблица_Адрес); - ВремяОкончания = ТекущаяУниверсальнаяДатаВМиллисекундах(); + Если РезультатВыполнения.Выполнено И РезультатВыполнения.Свойство(""ЕстьДанные"") Тогда - РезультатВыполнения.Вставить(""ВремяВывода"", ВремяОкончания - ВремяНачала); + ЗамерНачало(""ВремяВывода"", Замер); + + ЗагрузитьТаблицу(РезультатВыполнения.АдресДанных); + + ЗамерЗавершить(""ВремяВывода"", Замер); КонецЕсли; Иначе - - РезультатВыполнения = ВыполнитьСкриптНаКлиенте(ТекущиеДанные.ТекстАлгоритма, ПараметрыВыполнения); + + Контекст = Новый Структура(""Таблица"", РезультатТаблица); + + РезультатВыполнения = ВыполнитьСкриптНаКлиенте(ТекущиеДанные.Текст, ПараметрыВыполнения, Контекст); КонецЕсли; - ВремяОкончания = ТекущаяУниверсальнаяДатаВМиллисекундах(); + ЗамерЗавершить(""ОбщееВремя"", Замер); - РезультатВыполнения.Вставить(""ОбщееВремя"", ВремяОкончания - ВремяНачала); + РезультатВыполнения.Вставить(""Замер"", Замер.Выполненные); + + ПослеВыполнения(); Возврат РезультатВыполнения; @@ -5339,20 +5411,20 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} КонецПроцедуры &НаСервереБезКонтекста -Функция ВыполнитьЗапросСкриптНаСервере(Знач Текст, Знач ПараметрыВыполнения, Знач ЭтоЗапрос, Знач АдресРезультата) +Функция ВыполнитьНаСервере(Знач Текст, Знач ПараметрыВыполнения, Знач ТипФункции, Знач АдресРезультата) РезультатВыполнения = Новый Структура(""Выполнено, Описание"", Истина); - ВремяНачала = ТекущаяУниверсальнаяДатаВМиллисекундах(); + Замер = ЗамерСоздать(); + ЗамерНачало(""ВремяВыполнения"", Замер); Попытка - Если ЭтоЗапрос Тогда + Если ТипФункции = ""Запрос"" Тогда - //Результат = ВыполнитьЗапросНаСервере(Текст, ПараметрыВыполнения); Результат = ВыполнитьЗапросСЗамером(Текст, ПараметрыВыполнения, Истина); - Иначе + ИначеЕсли ТипФункции = ""Алгоритм"" Тогда Контекст = Новый Структура; Контекст.Вставить(""Таблица"", ПолучитьИзВременногоХранилища(АдресРезультата)); @@ -5361,113 +5433,42 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} КонецЕсли; + ОбработкаРезультатВыполнения(Результат); + Исключение Результат = Новый Структура(""Выполнено, Описание"", Ложь, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); КонецПопытки; - ВремяОкончания = ТекущаяУниверсальнаяДатаВМиллисекундах(); + ЗамерЗавершить(""ВремяВыполнения"", Замер); - РезультатВыполнения.Вставить(""ВремяВыполнения"", ВремяОкончания - ВремяНачала); + ДополнитьСтруктуру(РезультатВыполнения, Результат); - Данные = Неопределено; - - Если Результат.Выполнено И Результат.Свойство(""Данные"") И Результат.Данные <> Неопределено Тогда - Данные = Результат.Данные; - ИначеЕсли Результат.Выполнено И Результат.Свойство(""АдресДанных"") И ЭтоАдресВременногоХранилища(Результат.АдресДанных) Тогда - Данные = ПолучитьИзВременногоХранилища(Результат.АдресДанных); - КонецЕсли; - - Если Данные <> Неопределено Тогда - - ПоместитьВоВременноеХранилище(Данные, АдресРезультата); - РезультатВыполнения.Вставить(""ЕстьДанные"", Истина); - - КонецЕсли; - - Если Результат.Выполнено И ЭтоЗапрос Тогда - - РезультатВыполнения.Вставить(""ОписаниеРезультатов"", Результат.ОписаниеРезультатов); - - КонецЕсли; - - РезультатВыполнения.Вставить(""Выполнено"", Результат.Выполнено); - - Если Результат.Свойство(""Описание"") Тогда - РезультатВыполнения.Вставить(""Описание"", Результат.Описание); - КонецЕсли; + РезультатВыполнения.Вставить(""Замер"", Замер); Возврат РезультатВыполнения; КонецФункции -&НаСервереБезКонтекста -Функция ВыполнитьЗапросНаСервере(Знач Текст, Знач ПараметрыВыполнения) - - Запрос = Новый Запрос(Текст); - - СтруктураЗапроса = ПолучитьСтруктуруЗапроса(Текст); - - Для Каждого Параметр из ПараметрыВыполнения цикл - Запрос.УстановитьПараметр(Параметр.Ключ, Параметр.Значение); - КонецЦикла; - - Результат = Запрос.Выполнить().Выгрузить(); - - Возврат Новый Структура(""Выполнено, Данные"", Истина, Результат); - -КонецФункции - -&НаСервереБезКонтекста -Функция ВыполнитьСкриптНаСервере(Знач Текст, Знач Параметры, Знач Контекст) - - ТекстУстановкаКонтекста = """"; - - Для Каждого Эл Из Контекст Цикл - ТекстУстановкаКонтекста = ТекстУстановкаКонтекста + СтрШаблон(""%1 = Контекст.%1;"", Эл.Ключ); - КонецЦикла; - - Результат = Неопределено; - Выполнить(ТекстУстановкаКонтекста + Текст); - - Возврат Новый Структура(""Выполнено, Данные"", Истина, Результат); - -КонецФункции - -&НаКлиенте -Функция ВыполнитьСкриптНаКлиенте(Знач Текст, Знач Параметры) - - Попытка - - Выполнить(Текст); - - Исключение - - Возврат Новый Структура(""Выполнено, Описание"", Ложь, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); - - КонецПопытки; - - Возврат Новый Структура(""Выполнено, Описание"", Истина); - -КонецФункции - &НаКлиенте Процедура ПослеВыполнения() + Замер = РезультатВыполнения.Замер; + Описание = Новый СписокЗначений(); Описание.Добавить(РезультатТаблица.Количество(), ""Строк""); - Описание.Добавить(ФорматВремяВыполнения(РезультатВыполнения.ОбщееВремя), ""Время общее""); + Описание.Добавить(ФорматВремяВыполнения(Замер.ОбщееВремя), ""Время общее""); Служебные_ОписаниеРезультат = ФорматированноеОписаниеСписок(Описание); - Если РезультатВыполнения.Свойство(""ВремяВыполнения"") Тогда - Описание.Добавить(ФорматВремяВыполнения(РезультатВыполнения.ВремяВыполнения), ""Выполнения""); + Если Замер.Свойство(""ВремяВыполнения"") Тогда + Описание.Добавить(ФорматВремяВыполнения(Замер.ВремяВыполнения), ""Выполнения""); КонецЕсли; - Если РезультатВыполнения.Свойство(""ВремяВывода"") Тогда - Описание.Добавить(ФорматВремяВыполнения(РезультатВыполнения.ВремяВывода), ""Вывод""); + Если Замер.Свойство(""ВремяВывода"") Тогда + Описание.Добавить(ФорматВремяВыполнения(Замер.ВремяВывода), ""Вывод""); КонецЕсли; Элементы.Служебные_ОписаниеРезультат.Подсказка = ФорматированноеОписаниеСписок(Описание, Ложь); @@ -5495,7 +5496,58 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} КонецПроцедуры &НаСервереБезКонтекста -Функция ВыполнитьЗапросСЗамером(ТекстЗапроса, ПараметрыЗапроса, СохранятьВТ) +Функция ПолучитьСтруктуруЗапроса(Текст) + + Схема = Новый СхемаЗапроса(); + + Схема.УстановитьТекстЗапроса(Текст); + + МассивЗапросов = Новый Массив; + + Для Каждого Пакет Из Схема.ПакетЗапросов Цикл + + ДанныеЗапроса = Новый Структура; + + Если ТипЗнч(Пакет) = Тип(""ЗапросВыбораСхемыЗапроса"") Тогда + ДанныеЗапроса.Вставить(""Текст"", Пакет.ПолучитьТекстЗапроса()); + Иначе + ДанныеЗапроса.Вставить(""Текст"", ""УНИЧТОЖИТЬ "" + Пакет.ИмяТаблицы); + КонецЕсли; + + Если ТипЗнч(Пакет) = Тип(""ЗапросВыбораСхемыЗапроса"") Тогда + + Если ЗначениеЗаполнено(Пакет.ТаблицаДляПомещения) Тогда + + ДанныеЗапроса.Вставить(""Тип"", ""СозданиеВТ""); + ДанныеЗапроса.Вставить(""ИмяТаблицы"", Пакет.ТаблицаДляПомещения); + ДанныеЗапроса.Вставить(""Имя"", Пакет.ТаблицаДляПомещения); + + Иначе + + ДанныеЗапроса.Вставить(""Тип"", ""Выборка""); + ДанныеЗапроса.Вставить(""Имя"", ""Запрос "" + (Схема.ПакетЗапросов.Индекс(Пакет) + 1)); + + КонецЕсли; + + ИначеЕсли ТипЗнч(Пакет) = Тип(""ЗапросУничтоженияТаблицыСхемыЗапроса"") Тогда + + ДанныеЗапроса.Вставить(""Тип"", ""Уничтожение""); + ДанныеЗапроса.Вставить(""ИмяТаблицы"", Пакет.ИмяТаблицы); + ДанныеЗапроса.Вставить(""Имя"", ""~"" + Пакет.ИмяТаблицы); + + КонецЕсли; + + МассивЗапросов.Добавить(ДанныеЗапроса); + КонецЦикла; + + Возврат МассивЗапросов; + +КонецФункции + +#Область Фактическое_выполнение + +&НаСервереБезКонтекста +Функция ВыполнитьЗапросСЗамером(ТекстЗапроса, Параметры, СохранятьВТ) СтруктураЗапроса = ПолучитьСтруктуруЗапроса(ТекстЗапроса); @@ -5503,7 +5555,7 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} Запрос = Новый Запрос(); Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; - Для Каждого Параметр из ПараметрыЗапроса цикл + Для Каждого Параметр из Параметры цикл Запрос.УстановитьПараметр(Параметр.Ключ, Параметр.Значение); @@ -5554,81 +5606,107 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} Данные = Неопределено; Если ОписаниеРезультат.Свойство(""Данные"") Тогда - Данные = ОписаниеРезультат.Данные; + ИначеЕсли ОписаниеРезультат.Тип = ""СозданиеВТ"" И СозданныеВТ[ВРег(ОписаниеРезультат.Имя)] = Истина Тогда + Запрос.Текст = ""ВЫБРАТЬ * ИЗ "" + ОписаниеРезультат.Имя; Данные = Запрос.Выполнить().Выгрузить(); - КонецЕсли; - - Если Данные <> Неопределено Тогда - АдресДанных = ПоместитьВоВременноеХранилище(Данные, Новый УникальныйИдентификатор); - ОписаниеРезультат.Удалить(""Данные""); - ОписаниеРезультат.Вставить(""АдресДанных"", АдресДанных); + ОписаниеРезультат.Вставить(""Данные"", Данные); КонецЕсли; - + КонецЦикла; Результат = Новый Структура; Результат.Вставить(""Выполнено"", Истина); Результат.Вставить(""ОписаниеРезультатов"", ОписаниеРезультатов); - Результат.Вставить(""АдресДанных"", АдресДанных); Возврат Результат; КонецФункции &НаСервереБезКонтекста -Функция ПолучитьСтруктуруЗапроса(Текст) +Функция ВыполнитьСкриптНаСервере(Знач Текст, Знач Параметры, Знач Контекст) - Схема = Новый СхемаЗапроса(); + Возврат ВыполнитьСкрипт(Текст, Параметры, Контекст); - Схема.УстановитьТекстЗапроса(Текст); +КонецФункции + +&НаКлиенте +Функция ВыполнитьСкриптНаКлиенте(Знач Текст, Знач Параметры, Знач Контекст) + + Возврат ВыполнитьСкрипт(Текст, Параметры, Контекст); - МассивЗапросов = Новый Массив; +КонецФункции + +&НаКлиентеНаСервереБезКонтекста +Функция ВыполнитьСкрипт(Знач Текст, Знач Параметры, Знач Контекст) - Для Каждого Пакет Из Схема.ПакетЗапросов Цикл + ТекстУстановкаКонтекста = """"; + + Для Каждого Эл Из Контекст Цикл + ТекстУстановкаКонтекста = ТекстУстановкаКонтекста + СтрШаблон(""%1 = Контекст.%1;"", Эл.Ключ); + КонецЦикла; + + Результат = Неопределено; + + Попытка - ДанныеЗапроса = Новый Структура; + Выполнить(ТекстУстановкаКонтекста + Текст); - Если ТипЗнч(Пакет) = Тип(""ЗапросВыбораСхемыЗапроса"") Тогда - ДанныеЗапроса.Вставить(""Текст"", Пакет.ПолучитьТекстЗапроса()); - Иначе - ДанныеЗапроса.Вставить(""Текст"", ""УНИЧТОЖИТЬ "" + Пакет.ИмяТаблицы); - КонецЕсли; + Исключение - Если ТипЗнч(Пакет) = Тип(""ЗапросВыбораСхемыЗапроса"") Тогда + Возврат Новый Структура(""Выполнено, Описание"", Ложь, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке())); + + КонецПопытки; + + Возврат Новый Структура(""Выполнено, Данные"", Истина, Результат); + + +КонецФункции + +&НаСервереБезКонтекста +Функция ОбработкаРезультатВыполнения(Результат) + + Если НЕ Результат.Выполнено Тогда + + Возврат Результат; + + КонецЕсли; + + Если Результат.Свойство(""ОписаниеРезультатов"") Тогда + + Для Каждого ОписаниеРезультат Из Результат.ОписаниеРезультатов Цикл - Если ЗначениеЗаполнено(Пакет.ТаблицаДляПомещения) Тогда - - ДанныеЗапроса.Вставить(""Тип"", ""СозданиеВТ""); - ДанныеЗапроса.Вставить(""ИмяТаблицы"", Пакет.ТаблицаДляПомещения); - ДанныеЗапроса.Вставить(""Имя"", Пакет.ТаблицаДляПомещения); + Если ОписаниеРезультат.Свойство(""Данные"") И ОписаниеРезультат.Данные <> Неопределено Тогда - Иначе - - ДанныеЗапроса.Вставить(""Тип"", ""Выборка""); - ДанныеЗапроса.Вставить(""Имя"", ""Запрос "" + (Схема.ПакетЗапросов.Индекс(Пакет) + 1)); + АдресДанных = ПоместитьВоВременноеХранилище(ОписаниеРезультат.Данные, Новый УникальныйИдентификатор); + ОписаниеРезультат.Удалить(""Данные""); + ОписаниеРезультат.Вставить(""АдресДанных"", АдресДанных); КонецЕсли; - ИначеЕсли ТипЗнч(Пакет) = Тип(""ЗапросУничтоженияТаблицыСхемыЗапроса"") Тогда - - ДанныеЗапроса.Вставить(""Тип"", ""Уничтожение""); - ДанныеЗапроса.Вставить(""ИмяТаблицы"", Пакет.ИмяТаблицы); - ДанныеЗапроса.Вставить(""Имя"", ""~"" + Пакет.ИмяТаблицы); + КонецЦикла; + + ИначеЕсли Результат.Свойство(""Данные"") И Результат.Данные <> Неопределено Тогда - КонецЕсли; + АдресДанных = ПоместитьВоВременноеХранилище(Результат.Данные, Новый УникальныйИдентификатор); - МассивЗапросов.Добавить(ДанныеЗапроса); - КонецЦикла; + КонецЕсли; - Возврат МассивЗапросов; + Если ЭтоАдресВременногоХранилища(АдресДанных) Тогда + + Результат.Вставить(""АдресДанных"", АдресДанных); + Результат.Вставить(""ЕстьДанные"", Истина); + + КонецЕсли; КонецФункции +#КонецОбласти //Фактическое_выполнение + #КонецОбласти #Область Функции_скрипта_клиент @@ -6445,7 +6523,7 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} #КонецОбласти //Настройки -#Область Редактор +#Область Редактор &НаКлиенте Процедура Редактор_Раскомментировать(Команда) @@ -6463,8 +6541,6 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} ВыполнитьНастройку(ПараметрыТекущейНастройки); - ПослеВыполнения(); - КонецПроцедуры &НаКлиенте diff --git a/src/CodeConsole83/und/versions b/src/CodeConsole83/und/versions index 1805e90..7f0b73f 100644 --- a/src/CodeConsole83/und/versions +++ b/src/CodeConsole83/und/versions @@ -1 +1 @@ -{1,12,"",50910774-0c8d-48f3-a295-37b2ba974188,"2160ae20-89a5-4c06-8ef5-261700f38e89",1cb61e2e-8ec7-46ae-b9cf-3d568244e66c,"2160ae20-89a5-4c06-8ef5-261700f38e89.0",e0df8546-4d97-4d6f-9c9f-89884f85e171,"6e6904e6-445a-4678-957b-e39d02fce6a4",029bf040-1802-49be-9685-09575fb61b79,"6e6904e6-445a-4678-957b-e39d02fce6a4.0",7751e35c-59cf-46f1-9d7b-8b53e68e28bf,"a3626ede-5b0a-440b-92ae-ae5ab4b70298",25902a15-0dad-465c-a273-ef5ea84baddc,"a3626ede-5b0a-440b-92ae-ae5ab4b70298.0",94e09388-da75-4e78-acd3-32329bfcf7b4,"ac7f7896-01c1-4bcc-abb9-dedfec899bc7",4e2c2824-4e84-4a1b-8ad9-ff2dd6486747,"copyinfo",2e86ed95-fdef-4d95-bea0-2d2f168d0389,"root",89a29e4e-2182-435e-92f8-3fa72faa0b72,"version",eab0a088-35dc-4d23-806c-38f42078d941,"versions",f0e3775f-e784-432e-8a53-939e1bc9ecf4} \ No newline at end of file +{1,12,"",92ae2ca7-42c0-4616-b7f5-48b34c730c9f,"2160ae20-89a5-4c06-8ef5-261700f38e89",9db962d3-303c-4d33-8062-c45e6cdc068e,"2160ae20-89a5-4c06-8ef5-261700f38e89.0",ac135d1a-02a6-429d-b472-9ebd8eb704b2,"6e6904e6-445a-4678-957b-e39d02fce6a4",617a5de0-1534-4471-a4ac-2749cb51730f,"6e6904e6-445a-4678-957b-e39d02fce6a4.0",ca36f2e3-b79e-4f6d-8e09-fc0ee6c2c2f8,"a3626ede-5b0a-440b-92ae-ae5ab4b70298",d133b749-62df-4c4c-b649-d8908f020b38,"a3626ede-5b0a-440b-92ae-ae5ab4b70298.0",dda4f084-0d7b-4da4-baff-cc95d3a85b76,"ac7f7896-01c1-4bcc-abb9-dedfec899bc7",3488f8bd-b266-4b36-93f1-09e7a01a9882,"copyinfo",62e40671-b7fa-4640-b975-508c300e8ffa,"root",0427f687-9b56-4592-bea7-490ac035ce19,"version",172adb97-55d6-40f4-a080-f0db30dc3428,"versions",e7d038e0-2ab9-42a7-a3c1-9972c2b4949a} \ No newline at end of file From 998187b6920a247fc222810beea4526a63c9bcaa Mon Sep 17 00:00:00 2001 From: kav Date: Sun, 8 Oct 2017 21:20:14 +0300 Subject: [PATCH 3/5] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D1=8B=20=D0=B7=D0=B0=D0=B3=D0=BE=D0=BB=D0=BE=D0=B2=D0=BA=D0=B8?= =?UTF-8?q?,=20=D0=B3=D0=BE=D1=80=D1=8F=D1=87=D0=B8=D0=B5=20=D0=BA=D0=BB?= =?UTF-8?q?=D0=B0=D0=B2=D0=B8=D1=89=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CodeConsole83.epf | Bin 35924 -> 35948 bytes .../6e6904e6-445a-4678-957b-e39d02fce6a4.0 | 10 +++++----- src/CodeConsole83/und/versions | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/CodeConsole83.epf b/CodeConsole83.epf index 46409acbf91caeda129e04a2ca36f1f6cc218ea7..63dbb163887d1057882aa9b2a6617a72b8be55d7 100644 GIT binary patch delta 25745 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 Mc^W1E`UjE0TN+J~0ssI2 delta 25727 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 Date: Sun, 8 Oct 2017 22:48:51 +0300 Subject: [PATCH 4/5] =?UTF-8?q?=D0=90=D0=B2=D1=82=D0=BE=D0=BC=D0=B0=D1=82?= =?UTF-8?q?=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=BE=D0=B5=20=D0=BE=D0=B1=D0=BD?= =?UTF-8?q?=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=87=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=B7=201=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Изменен формат работы по HTTP Методы работы с HTTP Парсинг URL Поддержка redirect --- CodeConsole83.epf | Bin 35948 -> 36778 bytes config.json | 2 +- precommit1c | 2 +- ...0\244\320\276\321\200\320\274\320\260.bsl" | 320 +++++++++++++----- src/CodeConsole83/maps.txt | 2 +- .../6e6904e6-445a-4678-957b-e39d02fce6a4.0 | 320 +++++++++++++----- src/CodeConsole83/und/versions | 2 +- 7 files changed, 488 insertions(+), 160 deletions(-) diff --git a/CodeConsole83.epf b/CodeConsole83.epf index 63dbb163887d1057882aa9b2a6617a72b8be55d7..90b0921712ecd1335df747c32ca8ac5edb33a354 100644 GIT binary patch delta 26597 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 z z!Z|Ys+Au9@=pJsy-(a3{YN$6RuT=Kb-qBOPto!2^3uH1P2;-Gk215s`6%(44d$~pG zAgMZRebJ?mhjgBJA*RV3vbJa=Fpai_w|bc%ZW;>}f*XS{R|z^3~=D5W0*-sGmcKua?)K2Ga7)a;eS z9<)_;q|42&dM+CBS%bg?D?aH&35RqtlmFzW3X&kEkRC!6TM-7ieGId=0(;h|+Gwf#x|c=l(*Xga8e!n7j9^A(j8Z%T zT#C+RVV~E1@fM*E!BN*@7_;g7>0go0`uGj4UpX>`yL{ejOK2I^HwyubJc*3sxUz+F zM3MPt`*yIjnFg|}HC;M@V>E0x94kj1KSm<6hEHM^qlK`e)LMl$ujPkhw%#artyWW0 z+XS`B$T|{If?elm850umco!=U_4cDXfM(J2y)^rN$fAgITGPWN*EVosHO00)$=^Q2 zv7U9KyswaAYyZJuYv>u?*Zmo4SE4;j zPlf!BsYdmg4JmK489nIZ@Ji+Y&BKP;Ikg^L)=)5N=Fziv2dP%fWlW_ijS2pNx@Q9C!x;}jDU|d3!86+1*Bu3!QAmWGC+4_=vB6q#^Vqa zq>v`gQ>&UEqbRZwqt(prNNdvrFB5eSUm`%xjMjwg-Agauw2@+YuOH12AFJ5bt1ith zemCk~D@?91h%Tilz8jA}SFbjnZ%8-!(=S|PDt!iL&aUKvTbwyv7@RHbBECz_Syi#r z!ivy~uk-UN6xq@1dh$oLP5IC0wvAzOU2iX#xHSZRHJS@Z#wq>Wcw*%O*47R$+3~C^ zK=`gu?BA0hkX$12^akJuVVnsKuQcS#E5#^|ri|iWzj)nJKKD~Ju=c>Qa$InNb-~$} zaFZ-4VFjC#Q$uiSEm{@%imdtb^VluAM3qr7(kF|n(^}-=Q0yo!aN-2lprB=E= znZW$b8YqfrC?kr@H{yY@wShV13s!lZ>$K+@fCK#_XbHss%pMR70I&Ocr(a5k3KHIF*?n?t?SID9DampvXaJBI|H)OQg^&J9BKDow8e zyTgv5VHfYOYg=$gggwzje{NJwr4t#oT0Po>`SvgN&usZo5X&ytnP;qa5&MwKE5nKE zGO2PUe^~DWdNWAzRl~U)-!AybP@>o0Q}i8@Mb)7bzGoKB)nJDISZEYCdbzP9XJedx zcBgF(fV#4+4|a)f=`E#_0+HKBZeyb6P#!`L#pT}>uavOy%APHwunPH8B_m=@636rS zho?=dGFuJG?rq}6hp}l|vbY4XNj=D&-oCJY$&EY);wKJl53<;W(>>knBkstkkU(}{ zE`EdW%nkH>3GM`+vl)dgA;HcR0@Gq z2wqdW^wb;uDIs*h>oLmL2Z^EhT1_g&?pG8qr;Qi*)~g{kgb~Dv8(V_28a9iUa6vGy zgw?PBaFtozg<_w0`$Kj{$(;FGR#^)7mbq~mw{1#vJ9B+kg>1fa>RqnDa?;DO*96~q zQ+hPT9^=~XYekktm1!{9)7zK_k+)I{DFl{HmdA$)$BmaSz=!hY$u~XRfjHLN0#{sA zy9AR{l(8i?i&WJ~FIyl18bRXwda{0>%$x#bqTZHNLhD6DkMA-#5fk*(rEXv&^1RMT zNIA&XQ@%#Ko$mXSJ|vQJZ@2Hqa|;1yFsAes@l@$Jr^{ciL4)Yj&{uk&N2y9o=x`US(7&pWy(K zJRz+xIIN2gUr3%XijPdCkJQ&5+kacwekG|^j!}=I+GRK6ZgnhmVuR6pOf-A56SIUZ zzH;(77`_ohtMSH<;l};mLues$4th<`Lx?)fgdy29)?27a(x!^vxHzZHZRDclVNIXc zYJW&+eN@SMpZ)b091f2&f2ik|ScHi@AO7J_rK#LE!S(Y6Oq{>3B7 z?ifXs3P1oBx6P)EqiHi2!Spnoiwmx(u-+&AlyqN;!gK%X|G9o9kEPZZoB_V|{tVx~ zj(*qAK{;mjXeY=m{YtGerrb}Mb?qE`ijk#)?idpD(=C!8TiiJ*0^~7Xc~j42FCr#( zM{&WhtLob#qtBlu=!+QKM8nnWk3N;ZdW8OAm{7^}8z`hc);n zmgNzgxUej`R|r zN6#!W79Ebn0iNgS#yuc{DufgGpSyO-?1rNwmRvbS*bzpO*?~Td{qjR(Ovzbd-gFn1 z8Pkn(Q94^;%wYVRz1joIUB$irrgwa@=Yo#Zg)=h9Jb#yoBP%$hVb;Ow=YOeK{&(Ok z`s6!d%}xIr;2fHhTL%*V^Q`)p_NazC2nBcCB@pTFH5=L#ko`=_ko`l7T3cE(8>hh6 zE|srze9SRiAU+glrh+wwZY1bPX{3uxISL_T*Y_~&bhs35E*>26%7U97y$u;t1-OsN*W+L{)ig>tiVhDA-QD2xb?1@K>*^GK z#VF=E*k}h`8$W3PLhN5NDQMe}3rl8)NMc|)@g#p4%dfL9Jyc)dF9ZJ7Ds9fM%W(67 z)R>3d?oh2U8T*GEIt?fdBi|1ITN5@f)>}c4P{8x=9Nve)_T!+ndB_ak6T{zsV8bx; zT+f^0&jp2-8UFhn!cg?f9)UxlzN1M^m>#CIy5KiQ5b+j$Kt(tp{Mp{0f{M%MBn!54 zJ-=eU!;aJFE}mG8x7K&symwo9+*y-b64i+Cz;NtaiCy?4dkCSI4V3C@+loy558n>$ zP-C(WFcCi|hgm}f#UmERb4o}}?YW9u3zQ4RLb=cDI59`sg04m<>yAg-<3l7aPGe6*9>UuSdmTys=}NZ;ARHz-XcdxPV#q& z4DW2Wfx^6FHaF6$+AQ_n)e$0ps}c@!zO#KfYfv!_^1E>si2nwjJEWsexOuUwWy*$*5 zDVInb2NEbsc|(lNa?O-axE+(MBdLrM{@QKABmJyc6*RgUXja5Kn-${6J-ei92Kft+ zZ6pqM>gvu0rr)Z)JsHxT{x+$pUS1yRy+G8lnZ7;xa~H?GckejzfRRFV?KCp%6IZi~ zi%+y~r*<8T>Z*gr4VqHfC+0lBs_OpK3f4J+)4jDqX7C;AaHHk+SaB7it%{z%C6n^% z#sgs)nmz==XnKf3)aMb>Dv=yX)eNt}7A+P?jHqm+XnB61de#eM=7=|+>8J}-^ls6m zqKB>p2d-|Vst4C5s#7X>WR^E+ZxFeTka2ZxNVHqO4+t7DY3Gxy2 z^YQNFo6MWNrDRpO-+gp{Q8IHd4=vgoUP(=uL>&qhy{mE_TSbC{lChOPAw5X!zVv7O{{48{`%= zBQ>>D2KTQ4%eHgF8&eQK$5+K=kbGreiM^D8rqOj|A`ZQb(1M=_;)yOQkIPTNcpH~Z zC;7C}fkw6YCMcIvzqYgi=c>73YyBCM)5l+peA>9|>xk0=`7f(-5{iOu23)PqOC6`0 zc0s6X%zaK7Du>q$%U$dE-4THQck#f2&a+l=B~-Tu@>);+#7kSiMG?V4!>$6WRV@>P z*Zq;l$FXgQS0)Kkr}2yrYO?Dy{mmq-Vx+<}ZWM#{EE_o-&6lMR(u!rkj6wN*|MqcY z{mm15e@FT!6l1xalbK)R{Jk*J)yj%EE@Gi|4D-D??sH=hwB+TE&#{c(5q z@yPM|epd)5;SmWV$gBn-eD!+qP{R6XSgUIag;_uj*C%slM;(-GA~y zuQEUr3>7+^0RSEs0O0562dM1^0Brro|6C{l0O=2Vc|G!SM9imdQE(#Km5PIqW^5&n|6jvFF^^&EPLE(k;3C4+Srq>GJsoC#log(stCG|{;x0c6T zhcBQe@O`xa*y+028|Ji1(aZlS_;xJyJq8Sf>aW^cZ`w0N@f;UrN}e6GM=n1np8=(s z{+xmdkGwVe@;@3%mdTIX`*oJfFGBJ;%7KV=5Pv_b9_E*KHD% zYb{$X-)wrE+&1FEA4%kOr*zs2oNsJMjtTCA8PVnd#_)R}%d0SNXc|>tpQk&Ptm`%* z_3v&jULV^Z#Y2K|wTJKI#gJ0rNZd&>;fhHg#5R)n;!V9_W;`xDq1DGZht!-mAKUZX zkIq}NIR-KR>&KoSlcu~GgX#86i0M*hi-8=5<>*6X40ht!fA7C#>g(m0JHxuipM=(u zU=D%?vTO+W&RLe<2^U`nK+THSg5vw!IS_rF2b6x)5)BFOo>Ms;glMxlB~=jdN+X+p zd0rtd3cIH%felTz0y-V!>p-Y|A&FfO`j1gxfiCWZLImG`*}Hi@4xNQnD6Edfj)Qmi z77OqWFc`MO@-95Uo)S(ETIUAM+8K9*xFzO*2s5BM1aU>g2$HpnM6rN1C=@NviU9>a2>@nu_dsLzbEtZAmj90UaZ`Otu$qxYT^|+)0VuCuMy2=6<9KhN6u6@Fsj|iL4$BNM z6&uN)KUqi(i39L`H|Uv8AI2pY+ZurwbAp5MLH211L4oNA1k9g(FklW>@O-NtMby!Y zwp_SKO(+8nLEo;|;CZ0Q@ON`Ck7&L|&n@6SPpu&Wd%p}gT^EJ3!~+-epGJkWUeKr_ z!}HL<4Fn0F!@sKYkBMQZhuSFn8ia_rk6fh5h=>pI@jryV zkC+SO50AesykUId++rv16qSoS-C%e~i;^9^1S$y6xQSVKLjw>#3$uCrm+}ELN98kp zih84p1M}3%i zq37l6yr?Y&y`^gd|3R7q1=Lka(5)Z#T_1?vFp7TI;_S08#GRU9P+bf9fwiaDxjS(8 zEM|1Xsx}?xA&l=!3&~E@=<3smWOztF{x{N$V%~8X8+F|RK(wUyhx`6<@>X~LJl!3; zWhGj~O251Uzmos`%*d}4&6(ku&~Z*4m%}z8LKU;vlMMfB6^9ay7-;9$iv;e3$C)vQ znOHfEPzIaG;zOXg$zhCMFO;v9*A>}5FKppVT+)I_jj=&mxU~l{PYGNqYh6&z-oWnG zGtFQya~?!vYwl%V{Okzmb)?+b@&2fR$^3(cvcYnf>6U5vD~NPxJpWDuRnXo<{sf`0 zeJ_SvH+q9Nr;53o1-PBr9nKfEitu)_(m}FGwE4e0n>#ysO8te>SC!g@)q+vbH(Vsd0?xOdpa6}x0D8e3 z`_ec#S|p zn9fslK2lKVJ3#SpOsshP@vcuJ#MlY)$dRE?GG?uCJ2CGs7(RBrCqV$D00bN89nBK7 zK=|&gfc5(4we$dnmz{dTFRi6E^z_s6y7p39K|i2w!0N#mW1Q_%c#T{ui*GaWB87!} zD*DS-eke8)Hs*7bZfQ4uUD4>9lyvr(t|<*o!niy=7TJfcGy^mPISCz1`(`2522`-t zt`Me_rDyO{atk94{x@oB%pDl0mko(9C5MiEjpI+nv?CA}^Rkh;98RcO5A??{xM3=a z8VJ0{3GRGw^RGpW$w-P_G_j1i^by^i)*HPRt@6O^RA5CE9Rz>9&<$!eWhJg^!Br5bGuva8PY)4-Q4cY`akZj1#_pm{Ys+uvr z+Axo30<`CloDqy(2{Nq4B~_aT5U=%Nvw&~Oq&^NIFjJWHM&qDe!KBtDL0JTwaO5zw z6?S?SJ|vpvqz{_VR$K&lohH2@>AX+t>bBECBT5?76zrj>$E<6-3O7RnBNM2;a0?F9 z`KTW*!96AndrT38JJ2XT^2GQ|#9MPcd)kEkIYc~dUe?r}D+vwBv-oC3{75)V;XrsU zqCumxj^v)?&^c*Ve2@Z9=?n5X3FH^aLH`)Fz=$mb_*lN9EA=Yyj;F?B=TT>m2qrOf zPyL>(xYcRD0m6SdhJ1zri!%@=Rb1F)o0FXQorm+p_YwdEzk;%V$qmV2hb&5dBWS=q z2w~iqCmioK(wSbxI^rMJzij#=&p;h5s_?F`BIo@s3DpyS3r9)UZgS{GYL^4(GqZhW za20xZvQc@myVTQXC@^BCVrGRdE@w(BbROdraRpQbU#d7!2W+ooS5UjSbuRpveocR7 zKvZu2zg*#*pz{x~S+E5sY>~^|v44YXa0I|TutIK}4h76nGz;XRWHz}$5a8ZXtsr*H zV8bb|J>LUC1v8KK#!D^>Hh(0aATC9~=f~Gv?7^J$sPt8c@d=O7^AZfDF(_sRMDo&Q znAO$0ACo)fAv|9SsBmr@Nr9Ij;`ST@s?fvs7+zWBDJA0CH8S<0DUuWhlhcSXXofK} z2wYr;GAn>rX77g5s3efr9oX0h)ns9?2j!0{zE?=@^btwa7RMP0a>w7NYQ=+?YkQWCnrRrM6-Z40+GlHNL(Nf(Y;d@d=Bo(c1>39y;WT3`QnbGxfLf5)DXkm5yr!Av@%_@L@B=(E+bgs0ArVl6k*yUyXAh{FuPAKH6@50Q&$2 zkT$On?SsH=1iw+df8qYDkVTYt9m()pQhc25BRG1hTvuQbU_~GuUq;9PjmYh-7qJr8 zU4=lYC-|nzJod{VAa!NClcEQS4QRBuwXc_|l#j->dS5l> zBL?*yYP)U?@$3Ra=A#^(M*igE|3&TpH`1bM=JdEBJ;Q?69#p$ zE1GGD`9)W97L*KK0=6C9#Ip6KpSpW88+v3Dh&{r3mX?!Qg*T1#iRzRSSoCi)$fVfk zFlHjN@}EtB^(q`CT?V}164i!!B-((J`$Up(d=diw6Z|)yqFO**L@!8~=-}$fkYCGI zWeciS0VrNIE%vs;Jgc!QzwZm?;wA-IHgh)!I3}nNIv`IDKyJUu`Qwlf?34@x%4Gfs zM6@j_GyX}7->IF|NA7O%Qt3SAA5N5()%UP{?%k72B>D;>YPaYxYi~g$;?+0_3jMf- zf;)X`O5wG7n9mMTHgz(_ptr>^G$5d(*T8zkb*t@yrT+NZYA!~^jH756D3zY16KHQY z3GH_%fjlmg>E*ruGTVDYgQ}0X4XGpoat9Mj<#5HCIF`q~2luUtHnG~j{uBj?mSo+U zU3twrW^mEiM&gV}pP3op^9Cy)LEM{d%`QaV`{oB}*OS0avZAKj{-uH@DIRX~0=U>> zx^J0?Ic3BK-7~vU_9Nd6!sRTzh*D*hBn#tvOAEqd8jsqA5g=`k$rdv^ebPe!o%!$s zLqF!%GR@Fd@j9h>U?p9muc65P6bH7@ z7anvQ!&Rekn4CAWDP5ZFY3Ilex0?~wBd=rmt`JDT`J%rT&?j43Pd>m?&h2D_z@<^B z$W1|W3ikzx>yL$<=`(AOo1GO>r;N~PrKLQ{F*inN7QAlt^oqdUZL9JDcfUb8A~Y+8 ze;OSjWTTTJ6WM&7d$6@B1srrxaF~(QEHWf3C=A;A2=~;lpeq%ZClCoYO4)^ zfne`DBn*1k>zfhh7mjeymn60h_XTuljKuUpYb}7HSP>nJjzMwW&}&KFV+W?=d+xV0 zglLJ4){1&%<0>Oe$7>BBM?|AH!M`_e;B(t`o7`*5-tQ`^o(#Yhb~ z#+A$^v0)k)C~o!3hl+Znu|#>YK;QDQl%tm|+>vEc?e%xt7vxyHyctRoYpgW({qz9a zv-ENehC`K(av73|aRm6kJF(b6Ig z#xD!8<{$-*vd~m*l{*za_cF5Gs&UQ`-8g5L zgFy>mj0->TtWag1Z%lGk_4YeJ+El2sC)RV4J@LzCF7(~HqKV!3)aJsK z`8jLdS&vtp6{b*|`+~5p&Xgar_brhwwIXx?l4dnn5llku8XX)#ifk zt&VOO%whxYy7W~c?ElDt&Tg`o8YLPl1=rO4f;aiFaWw}&2BmrW`XkZS;*d&Zi+1e| zVhpZ%+=Nz<5Zj_- zgy^xa*qS~ zG~QaD+-FJZp`7RZ-}*kL@tahMUAWTVhq{8HVB2l*t8kqr*jvPt0qx8uAj6^13zV-t7Fnue6!+r1Uu27E$j{HoA>CC=b<2k4>o?}>^IND(;GW1) z6X`B(*nDgCrxsc?9KJGQOHiUnOduw$;subUp0gOsZ*m}xefUlux&3U_@^hY)91~uL zxgvg^1WEVl!+llEioyhpjX?yHhGbrXW=X@SryN`Y4?<-#a6-g0Vn7tL>a2C1K{CFv zo3Q*pvoD2UzGASqFC3M@W7fWF9Glz-o2Ga~)}Jw8(*^Hla1`4uGyCWBg^Qp=4}{BO zOduxiZ?W^zJ+^K~?UiC2&{5M&*my`Imq?+Z`M`W>6EIWzmMK0oj?-VXlU;>$5tTD{ zM2&9=a!U#9)O_7nLfG`>1Cccn3bx$K3g!^+;Y2$6c;-(Lb=lH17MNYB`U8HVtpQ4R z{2Sy?nlHmNU0~?*X)GXbI8r5#8Yr7Jp?{`6ne^a78>axnZinNl(~&_zC1qggiBRZ> zkl!jmaFTK+tX@kj^hA>}w`+2NO@tw^D*DL!;|U`>i=GDaN^}*ufoE(Z`7FLMYK29D<1y<>4mGQaX&q+Uj))FeE;PK42JiPt_GrvNv4J=Yw%e6>+ zlb359XX=jxLj3s_SG>LyqQ52H4z27Q$aVQxfAB+<$Tj5wa}fnY9VnXBfg2j`f~&+ix>U+QJ=V9Z}TD7$DQzZ?%RBhz9nzDA0GUmkObWB3Vo1@4C8BRYP#KLao;~; zp^7>Y2WE)`JfVRfOZ}bx2;bg!)5SrBQ9oB^Oh(SkHGO@u-EJ0_|*SP>2*&Qcqlsm_%bqj^Y$-TQP5++ z=b&&tbFq%7<7Y{LFK}c|P-at0 z?SPKV!wpI$;OGcw56HCH-pJ456+t9K&Uac%z_0vE{#A#^_|^J=7yVKQU(|AC{L#!` zV-l5UWyx#fkY9ypURJCZ@lEwaB`%Etx~=vNZAX{?t}z1hQzyb>gXn+K~pKx zc9vJ<;jK1V($Z83aU((%&aOpYxuqen*EdanflTDTrMB=`f}3#@v_jqX$cDg) zqYq2C6s++n1J!4h@C0)VucIM%ZQ`Rpak|8r%1v!(%RW6??y2{7JO;01b_VKQi{WMe zO$=(0c#yQ6*lM%RTG;G14mI5j{Qb+!5J^bwfh8vk$Gy1JqE`IISv*LOT+qa@o~?!9 z9t}|e0o+7|y7(O_ELVLFy2fJ!<=@0cJn0(>Ap#zvm34%gjSH==W4ik{R1}4!F{jE) zNVr_U!ce#CGByM$99M%9@{mngL-tOW^u&Y zjna^a*p#~1YhwG46cy=)nyEWKuH!6BeCT+KUviB@;!JvUJD%J!+#9Fi8`j3_>?M&; zCopL*O}4h%3+Z0e=Oml1{?_kn>GjN#&--Dmfvg;n$k0(q9KIi~w$Tg@I zgE*og>P;QsOsIKrS-wMta51dfIiBMo7x*fCF969W4vJv&(9TCtJ`D;6jg7Umm5{~Y zW}KJR3og_Xck>N>$Ma`rpOCY_{+w>QvTF`_DtpZCx&eE~SfO9wUX8B;etlAZ<&jP_ zK7;R1!|Qe><|A<8i+~=d59>1=BRE*)U07FOujdbvqH+thdG75wJo%$ORju8D08Dtm zWQ5qx^oOuFxLf(h;CUr^hn>CH-VQwHxJK5B7UcX0)|=+UIS?F^H^$Sp_-5WdfFl#V zVZ*U3cBKo(=m*I_UH!dDV*vOuF%^p80PD%}1FvnO&}#vZd$!qT!&9V%ufT6)euM2) z7`bD3ei9^ehdAHL!6>7@vGO{w0_Vz0ay1mB43psYJn9RB&*MS~q{Fp4?55wbyev9E zY7iEQ`doMSY0n7Y4aj!{t2rMQ?0&#kVOnD~enu5eO9#sh1o*WCeV>+IOVQRV2S?)u zM#(=U^KFTt^~fDx(ZnK+B-gZFoqE|)V z4i^9@em$n=y(G*dv6Sr2B?zi89VnfIM0V=&v1uIvK|X-BvZ*VF;BC5r>~OsD_;~qi z*SWYhcU_4N!*5&yu^;^hH0tn3KHeGMwl_km?y6)?7bKgch4 z*uCGNNm70900UJ#!ze`$q60p=X5TDC0HHe0Q|Yi=KNB9rBAu`e+zAAeF1xvRAII?i zG|A`<5Uvwx(2ZFYO>v2Ia0HV&NcV8}T@8hrntAfEj5`lN*`vlr;T4+sDl9OrZ?8ct zpuTDd5dCTh=9pY^|1C57OpJOKI!0e*L|-q2t)u++Dl1o4TO1G76RaA<_YRFlp+`K+ z=jw{;vdlB2Pq^O{IAZe-JMLLumb#p_c1L%>78-;x3w_MC@*HhIVGTo*T%KS855crG zw4rl)tXdwI-(_kSdz{Hm{h&~Lyx=TP`O^1Ga%6q{e!Q7%z4Crs74%$Y2wvjqhtwJ# zK$KWZwd%iL^EGf9E~aMsH=i)+enfGQo5fgq4g9e#rOOi$xLL`k8@OdC9(dQ; zTim2dx_st9=zTCR3CMfJ^46O(k1_+>Q%tlBIDnKTceh4= zPf_evA+a&gG7w1Z{_D@?zKdI+XyXLK`Ijk@Li871e=go_Q%iRdfphnkNk&1 z{6#j}IRAc*CW*^ba0VJ&i#>p9An@-Zk>e!L?1`U;!94-xHi}slZ|@T|M{0BIEv`Z{ z!_?9CNrELjCbxMJb9B0V4D}HN{qdoYdR)m(V4a8-m{GYK?hK38zTYo`^mpLs%T@!r zPrXqaMyn@zs!>0J;ES7T40X~9I)r9ic@H%2YKeGQ?E% zkKtQX=@-qb%(E+9Z&rNjp_4m~Z@<@9CRn~-gDQb|E(0=&oyA4U14jc94GXR`X9%eO zF&lAGgjak2T9K&sj1rZTE<0a>q~YgF8T}Xol2}n4YoUOo7h$nAiblUD@J1C3!|LQu zKvDCeC#>7pIE$h?)MfbxYa~s^$fra_O_^R&!~dhzvHd5!K9mGu7q?3${=mxJD=-eh z*duUwn5+YtB(rt`EuW!Tpb}&VN#D0F%zL!f@)b1zD2)f{A|)vc_YYs0f-0z_1%P*IkP&?N|hl zb_Ci!(%g76^R|-iV0TSVxX8i^*_5ps1H;eLcmb`>p4t-FhDI3zmy=!5Z$y)B>RJb@gtKd`8! zY>!)a*Tc{FGVPCPfO}n~fR*bz&JdMS>KR;!_f#q&ZX9knT1?{hZFJz%K-V*9?;KV` zRg^X@P$iKpT@>pVqgw*24x`sUxPbJ!hNp(mzh@aodjWCu{I4&nlQc%jb(iTLxK+kx z@R5?32+jH45(;lYJ;FduufnBAQTdBgqhau@Yq`3blyhQMtm2r)We^ZsW+4`4OlOH! zHS2)9Hr#Vq>9!bTrD5Qkm5)jMN$RIQ;x^xy5nC2^-SF^LO+@_Oz6U~+TRIIZx^q_^ z7<1Uv8%TpwUR~R4g`LPAh30=ZtxBruif~Z!L{#uvfgtyq!F1Pu6Nj)UfT?T|k*HU6 za#>pEDw&!{Kco$&L`CrGFEVU3&{f8A<`e#A5*b-RbxbLn%_5*t&ZjQQPiwn?kB{H8 zJ&Kv99V3(*;ZR#38AC%J4B>i^Js;x?OFRJy5wt(?Q{`)#2tNtZQ;BLT2KpefQUhg< zJ9qEpv)UtBHf&q)5f~U;^eTx`A!hIpOwNzbX8YUTHz|+U zb<`I&-_VqXQ9AHF?4V@Y*+y&ZD}WE}X)ya?)Q9vnQbo9TyZ9bNQ|yac-~)r((kx)t zqYuD;kU$R_P}`40RwRutRzk`ach~S*1|NEWtG0$2qdK*gW1Gs|!5zmA;r^ivgQ+Jk z{)>Uj+k-m`e!wp5FIM4aZ5*;alQ3 zZ%|iYwADWTtA_9Eal6m|0XCiQV`0{7q@@qhHKYEFt z?q}LfAL;wsK?xNj*nNeE@D&mQ%a8Bt@@W%H5me-0r zeY=5t;&s&>?lw2iFy;F`^1h?0R~*^B}%rH=xF>ZRQztp!p3TAcBdmf6h>BI4lG)t7v+6nJ^-II>j z9lA(nApdf=O8n0znDyYiIR$wTQ3 zYG-6MHkV86-B|=PJGX9$lPIJUaiftT+SDlp6f!f^x`?BlIP@Cm`LQ%vec&PmOaooMoYoK+oAb2v+rv2d5()j`~On|MA>Q0MrFe&LR_v0p9cj{yL)GX~Py#zE(dN;j( z^8u(3W%L6S`e!5Z?`WT6`qzmeQp~+9u|$^FytGT+wIi!OUak+@#iUrp$}_^ibXYD7 zgCa&VrG~1JG@pF#F1XjEV}LafkOmfd#xeVbq=ZrZ%;;|eCj9HLV#z?d1u@sV`Ou3Q z7~_wFogn~knKOYa-yj1zVN%x#8j!IOyaaAd4I3{OdEKz)#Rl51}#Sjcq=x(;o$ralYg%7Fhz!kh=)#@%S{m!(re$O_I zz$|*rfadhJVfSdhYU({>|B=9!m|Bk%isToxZ>KjbSS2kqwDr&dq!F>%#{rfIBu4@`le$@I`Dq^7*}SHiIL}TuOy~sm>Sn_ylxZZ8`I^CEz<$?Dz~H)_5v%i z5=rRy`~|z!+2fx7KGt>8=1NwOKOwn}(=II&^2*gsg(oVih9op;!(8$4YlKp1aNQIx z7cKlY4X}chb}syY3^k<-rIF_2z&;5*K0c(1>qe~7xo+_+0|5KR6BJp{3n|dIS+JEb z>K^0VorJQtlP6`IU^RrudP|8(R|F{|kKT*Fo8|x7e_Glfn>8Yxqix!r0qHIZQ5CUb2aDK! z&N&njQ}z2e%uGui3om{$*65OBOQy9rt9opEi$rk#+2=4*u|{c z>H=FyAm9;g04`>@j9pQKg~vx)Pgx7jEuClwCj?Zr(^W8Lt5cah>EzOT!j)I)9aQ;{ zGEMu9Ar=@#R7S{PB8qPKqE#UUdwz6yS)jo1CmT(d5W7A15vRmKP7V6|cx%pcc8zSt^*9tm9sI?F+Pi*3+)Q{ zu`-3M4+Q7T4xyO$(1!yx`ZCYJhTj{?jhQZBzwIj62+*2{4k4vt5TkvgO2P>>qPLms zn+MKUt(72+B2&{5O`j-Gs6CMzm>P4^u?{O|8HjW(9h1HYnbYmm=qtgJyLv8yF!@7M z2Iqn7pmvZyd3rt@_fR2z9Q)sURSHb8Nr2qaGyOb_bH>Hr;^gD!arxq}%wBhWUnCY& zAqkGCE&bs66dowMJ)Y*6#2)&LRWbFl}ZZotVt<4TFOWo$v9S-WRH9+)0kKS!Am&glttJ;EE zx@N^|_9KouUwiQm+vhROD8zm9c03r|bV9F-Ig%7Ai>uD11I+^wRr}=hfuLxayYrN8 z=!SxWu&{*1YKLZ;%;}w7Ff&NeR$v5NmEJlC8QZ{|^SbqYn=L||!oY-?f|YSCJZ&Snfw?TAmXt#np#x|}jmAyPs=#NMZGsE*yBX;^c9=RlPm>_|LG z9WU`_s?@*r5(yzp<7s8oe(57 z1w1AWAmbJY@XC1#MGORY-h6i?DxX~vpy^=Br=F6$Y+}6m?+3*xl zsjS&@+zxF-u}b|!?fj+^;E%GD$D2bu%LQv17_Gq-b<>tgOv{vxN~cOKY4W14)mwr~ z2+(mge~aK|x9yI&*4UuAR4sZDOpN%01UHlzfS8+8yA2mFh}D)EaR48r{((yNG}AV( zb32C&2y&4@rW&C1il}Qmdv*J5k<@2usWeo)^5Zi{f#QcOIvGOuoQOhk@38@fYSlDBi8p{NVrqhX@#z67d}E zf|sBB=(xHqsmjqw2&Ny5_vETe1XK0YT?){GT>a0xq|EBf_ zj^A$J?m*_ns>wV2f*=%@^hu1lrV!x2BbH^$LL(xe?yOtEnt(IX9TQ$xwj;Rw@iJY+ zc+95`YXGSpyI0)Yx^w63S|I7pF+?zXN3p2KzcRT^n998Eme<1s|!=Sc6pj zoa}~bP`Ssvbi0VH^xb502hRX@e`@h^6I$kFcuk@hbEo2}4-Ap_U2r1t{I6e&8)dHA z*Ch$W65%s1bbz`8OheI$o_P$%FfwXfP=>3Ch@h3_!kAAH+mN;t;Sz-hG6>%R*acB{ zbcX#8tlQ#+)kh@J!!0@?7OfFLC{^G16mHA3b_oVCzy5@AwiP2S4(f&LY<1U zr0FrOp?bAT^#}aq^i}SHgsv^xXs_7S2_nW)EBNnOETE3csm+)IM{oz0Of*gzqzR4c zLs|(4?B--Jdle3YZp`m~8xl+gk|MLF&2b{+PFu%#YkeDt=rd>$)R7Xts~*yOr1Y^- zIY=Bu@g!5n-6X!mG;I{YxRPjCS?gz*=8vbp6Z)gi>Jro~;8{_N#REdrg3?-~%qCuu zj_CV;jDU*4FdFqF?LiQgH&X2$(*e^D;S@=KI?3zyN($q;>{E=9C_==<6Dm_UN*hHu zQM=jP{76#q4{p7c4DfpB8+<+?Y*=vVpeplAQz)>RZ!bNbb$_i3P{w%cLd5{+AK%*sv{@+BCzdO zixtMW!{+!u6E8E8S1Ww6CbJVST4d=ZBvBA6$BtKg0N zp2N~0fsn=)Pu&SU+vLek5$*;)&llOg6LF%!)AzQy7LIcidJiA)$a?B0Dc6W!EE=oxgtTdWX=NnXwIE*K@Bmwi zAoo}Po}r=Q50cfnNDZ^%aQPtY3!YxM2Ob$Vu{%UV!6XTW!%(m$~e z)bB-H1fx}Oh*0BL`p1E%OJI?1>~$Ne-2Kt-mRZO}&Mf5O1d96;V#f1xnM?vbpa*@k ziN7{Wk}vP2UkQYh~Mk~pSKvfOBQjE|(TU%DVKsX=2P;t6j zl`Y?nw?^Jg!pjp7i;z?}#ccVa!P;0J{la;`J(L{zU_eFE&xv@?CceO8uAu}AUYK4I zO7XAu_-LD)x`T5tEP>a1vqZcG3ogldx87fIx4Zjg9wE~9NK>U$RlCZ&N&=J*(nu#* z#98g&=HRahoird$;`dnv3p!m@>fTnbi2;0p&KX>trF?gP)?(x`Pe+i8jLyHa1~h%M z*~der_kc}4)z8jCbSzr%Ac!b(e-{P}d6Wj}4$Y&C&>0lCYk_EW*b*%Y*Xn~qVx{vj zZ3y%08*brD3M%V&<`^_ED40o<>8b;hM?MqIYFlrzb+?o&zjWx?+YIgBQ9|jO2w2SW zE30&jeJ%aKm^;N_X~!X?L)otYX*y-LT^>_D@mSSAyc-em=hS;&Ox(;b>8`fk(r@0zER3?JvphYtZZ;N?6j8#RPr=B9s z*vwtzRp!L}Kk}r>atb#WLlkavO4%SHvKIw}i$K{3GrxbqJ~};CzScI_%=CJ_Vjt?I zRw3=&^}oO4xBskL&#&FMQ?$1ABP}mi!W!20$5eZX09uEoP$_g^#mRrCSY`e0+4&J~JQP?c0Wx4)X@P}J9F_Z5D%H+q{XT^$%4P#6Ob1HEMel+bwY*MZn1G!5555fwd z-UW!OtL}GMFRLA1jP;T;?KY$*_SJfE;!-&`>l_pY_s(D2I7swh{%F*;NVNa(FxY9k zwiBaB&GCwTFAze}LZD2Ikxp`rq-+{&`yt_f;h&<3y@iJ9;NUL$oqe&;Wx>ku5=Y=S=H?iUa zBve8vnrbzHPAO#mc=sm+6X|zO;t>dHJP@Mr7BqyH5`vg>m-FILli|>ID51nOsuBH? z$L$cD2(L-a+=zuhrkZXls+M5ddXyHnV%q3!0{>SMuhUM55Q}p7){s;zSK%{`9v=|a zw|$6l=dXr_vNnQO#GAgIO2mAK(FIP31CXS7VHzSY5)OW!`ezp1!awyD z?nL6THMfmz*wo2p_JD^XBf%0&%D|3^je@#~Y1mfip5%4)+A9pG)9V)t|&@ zM*&pxhZ)z-keLNLUlFgFgC*n-#G~zH=>StJZ#9KYeS>cTF4sbc44r-je<@O&4`qXa zREfFY_U~d4(b9PK*QlNU&4gh1q6)KI+$f+m*D!K2( zAet4(xg-;({BGV zVoXtq`Htw;w?q$B-TDRTyWGWxO znYWDUKOH-u8yVGrQPeuBY@U{uRh2$I*jzBI@XmBeo?CU*H>a+|R2WX6Y2i*-`Oq*x z35P1B3FKSU$XfjFJ$lxtd@oV}Y!XDGg7j936@VK&ScnS+{rCQitNfb#!onu8fuK@7 zxaK_<7?=l&mcWYl!J8yJRaf-n-Tu2|?-Hrc+Sl`X^E^UTDo8`ttlIHHFq9$bdKOm4qbD6-5N6Xb+^ z#xKc-qm<6wC`KA3K>wqI=L{WXpoQ&t#f81>@7_;@y4#zyP+&-qld_Ac2AhQB?zh)F zg4WI`U59)|nu0}oEuZ32Bh-uFw$Q<-fH*?7i=F%Mq86&e^;o zM6niBIGRSzFLG$N6-w8tB$EROLj?UMU(w!mcl;pYrE-kL5{d*(@?vrho{dRhg$9K9 zRCZ;p;lNz zu2v9BRiI@nK0a<{r{B%8*DVxYN32q>=Q$8y!v$h~syL?M!SNvQ%*(5Iyi|ueu{rbW z(1@j6{av1?3M-pBoR!jjrFs39Jwl<$9CoA!}m2~>TR{cdNp3L<6kUkeLF7H>+{#mJ-U82%Aq;a&whZm8})dM+Pd0}sS zdm~VrQO#Pko*RQRVdpb#!NkaSK^cTjHBZE6nL*A}P~S3m=een>Z8j&IdoJdLk26`VY*eMjKg@*e zw>s%4P%E2rXv7kZ9LZLH%*+`ubFB#&97NzWfnCxCIBJRP1=CqTOpKA&CSgyUgTZuM zUa4jmsV@nE=tbw^a(I;}E+`xMxCd%RGwxr@i5=S_m&DxaJ$fIAiUmlfk}Ni-pv^F0 z#!6P>P0ZK<#%y!ija8-eRawchHpIMow%x;c@^6R}@JTQ*F-Of&gv(E~vLlKZRY~B9 zw9WNncslj9Oo!UvlM@-T)P)r9MJ4N5@s~5*UEg{9pKAUha1Y2Q zN*plQdSwH`EvAalY3$# z2X{s6vDmX(ANP!5aMiDpz&z|zHQ@>(|bm3{RY zM1K_)8>xLou)+u@6nsiwni}evq!RVCu(Wr;&|9dV6KkqL#sZWnQJk&>1~|e$uLuXu zOp&7 zq2xBvn3Sz<7Y+KV*W4es-c{YfT|P{#8{7brmt!%;Y@9M*lZ7hwO%ZW91$`gk~Qwuk6qZ3+j{@m~?AKf}7 zjOv`UyotZqxKT``hB{h8%2M7(n17erg`Ol9dC}e2+2fEC=dz=tyOdW@YV#~_YgGQI zX=_~B84AZP>={7gw?mBOnkaDbf&?t3O)t@xD3J!6nsP1Q+KMMCr=>z$m`qw2Rc=kP zFjFkm3HVg#yOw^BmP=<8h9IGAN-fKwVwYCV6tX1K1e6jX)-7D??oqG{ihqt2xa}4c z2u;0?7A)t|TdKMV7>aXypSVD!-o6?IU?j z(qwJ9>di)S?5I^KSl7>&KtBY|Q|T*sxBqX!J-jzYrO3b}fsrwyTJy3IC(oIu7^ z@p1LEWcj71ygvzb@roOiq<>Dcg=z)I{U3;e-T|sq55q!r&4ewMGW_g5;=c-0}FUe*AU`RpCMoN^3*w$ zJUBddbaMEm-YX}M9aY&gYl>S%#frZpV-Dr~Dz;92^UxEIK9Vbe)PKi4Az6?B%V2B! z<+fP`S`n`!q+;7AS`fVyS=m~4sZ=eyLZe;ML`-Uv;XT0b(P`c2C$j0g`wde^KC-Q1e zB;2tpdA0@7+rs^`vVUY_QyuzKAiO>$qS8nclax3&QqBxTsiwnN#Z7n0WgXud%4}l- z%ur7GqZ=YkXp+E&!`b7}_%M++<*Am<&{oe%Vn@;|{yGb;**W+k zep!&ycc9OS3bYRn_jeRpe|5S8e{$g`lpfUuI+D|&o1t|(X~%(iZOA(H6E0QU!L!jD z{sS0<+(%*bJ%4kTC5r$fvtSc?cI`Wqs@xHHkp zEzAzrG^9a!G>8|i@~Vu65L)(D-?mh7%e5|GrYjJxVSiPt(3{@HY3&b6uIG0_4lIFG z9~(k(0Ubk^Jjo@VQ8QbdY7LAEI2hH$gs^7)i@bx3F7LqY!wOUI3YnMHL_!KOI|>Nc zktA(zql);@SOb=Hsoo-_p|wRn6FdL4&`t15WX^?l=Rf48^xR;%fp$b%qKIbk!fXbu zYe?P*mwznDIJiqR4h4IAiVex1A$hsEF0t~$z|jjcgZ5c$?FE?yj%kV2nHKG`XYbuX zO2SF({>1gbE{ak~B}bMlsf-Cv<)OxerlQ(q*a8S^%_B44dAb!2ZpFrp!B|saypxch zCcYsvYF1oR6~bfAQT>|;+gH(NJ5*el@QsA7Fn{X-2=p+1m*mdYuK;EdHjzX^5@%)g zh2`Zl;}a(jLwoa!rtbY7U7ZQX*3 za(_w0#btbb!QzZ)2H3GDh!#N_n5f5!!`Wm$$VRk7qg=B@>E1_(0oRzkJSD|^$hnJZ zC4W%*6yNVrCNzn&jFqm`fKYXsNgCtecEpG^-=W=YtMZ6p+=7TtcK~O0hh^x0LF1Mk zu0Ec^`iWN&beVPG28mxlcChK#*NoX~K?+kLgnBFOgBaQ@M$Vf?Ut;gl$n-!#5J62! zt%jFChEgTyS38~NjT;PmrXyMod&Da_Uw=1t&gR;uQN ziYorTMtG570bh-f;5N;M*RZi(Tm}Xc$;OCGT)vrWz_|iB9jHG=ZUS3Q1)c{h|J*w{ zKC=2d^w;m8K_2Qw?-nnB@BbNo`_CjSAKk5Rjd-Lk6wh{wT7yK(yTUiRLw)6Ow7f>1 z2|{ST?FJUSQcoN`FfeDJvnr%EtpV(+&*MH562`YxOS}FE6zaQp*6} z6bXFRjq*=mtm74EVIWZlwbcs2M$rQ6Y)rY#XTm-$^G`brWX3^eEJX3pJ|^K+gHXU= zLiULP3rQRd&j>Za|~0pH00mX+EI!9e+Vff&AU3 z^?O1EFx7x;5iEJ(;s-N6>utn{>H0M)de}v}7 zuBlafmu@r$H>^1x2aO~3RDW59W`1eocR8=RGViAqs#V>Q+qPl0$6-Q>xxLMb5xIOK zG@aRmU?EN{m9us^C&b>SVb7wd8=J|aRmb6beBMSy?2W-Hs=}#FR#Q71yHz7%Wz>Sy zEF~DP=tNAw-VsZ+XoztO)W}~R2 zjm)Z_Lt_pOIhq8$at`XB zq6CyIQC|g2lD)$;m1V|U6?Y9SBjC3T7fg&6=L7}MUxAXmO#kam|AY{Jh2vWMAW$vQ zWeD*vpt$!73s9>fh#}~8A=u-Bqz8^v5HZ(aS>fLqHqVSzJD;XJ5d$M7rzk8<~NpGt;(c4NR(|?c3}z|lTm%0Wf*5`ZdTvX!Rrv7 zKjm?q8dF=*9vO#Bqq`hm&Qse|%fM+Y?2|F+u_Ag4dyKh@od5*O)QjAVqusBhpA_3M zy0ww?i>7n;_`!+fQ7h?6RRf>&-hZ*~ixqU-pHJG9qD=(X0IYOP zRXL~J2xZt5X1c$0cws8Ml8;qUW*^m)GGTP4coZ&X?Ct+ z?zEcw*%YU`g(0fvFwVnn!75)(5b$yv2_yI<3hwIo#H86q@;&Q#j;rSnyGBvgnu;D_Ap+E)?c5paYk23?cLUZ(^G8` zU!`{sOKqBdC@&0kkkg(ROvJ@;KgE|J717SCZE-vNDEMAjOLKjGrE*4CbwSN)^AXTC zB&LOj_VNt7bACU|eR#CJ04CXrG_T<YJLsa<1us3ZW|>LDS32ED_frMK)J#v1|o z>VK+&*-Y9)e3wCHA|ALG*;h72snAGyusrUq&Bs;Q{z8bau`x|*oUt{Z3HspNMN*Ao zVv@)+(`CLuEOsm$SquE?i!DWh8cb!do4FZ1_4_kz|D&n-$JT7ziEPzzv3_;J5#ztRF_8X1o^$33G6X5mM| zyM#1?(ntV&-$ro&h*En*@a?)jK}Vt!rPA4HQMtS5{HQ>K-@M^v{6K{?egX0|NTL(mxw{Bl+if^yYoU zb1+K$Y{lBerlnFSzrb#VGz~Z4BY!=R7+{KgM>+grewhM*le~?=Uya>QSNt_bAmbWs~25KFRG||@A zj-o`#_?z~8N!+1Cl@paZlG`v}j@2##7KmE(kdO^2!IsX0;@#w zXI-LxmMekR6^R~RnNMJD=~}|g>^>t_#Sd|ru^ouf+-7qHA?RXmYGJ@&ROv=qs-E8B zmIM`ybq1G+lfc|?ev8SPSbq%-S0k;lZ2=8=NKM0w*FO0O`pX1q&B1(@UljC%iAC`_ z!J8XFDYaa7^Tfr)&?98>T|)gV~(n!E%h=B!cvPCIH~gXyn)gMewuQb1^R{ZIPC5U zbCFG|b3E~>tq4FbGJjKvlLlR4SmK1I6^5hsPFEfy=!n~m-REnQ2cUOIah+X=IImf? zwY}t$nPs+ugrr+9GAfEfi*oNvMag${?m^z~&T8juF&bfw4GWL%Gi`9$Y}vY`44fIp z_`Yzb2CHtE8gCkOMfK9@DdV0Z&R=Cy ziUK8hN%S~w*ZYbR4ANLq#oF>P8UAVo#TU12`Gdj+w6v<QQM81%DC0ASIp`CCaBTrYXr_uxkX24(OavHSxbR!~=o6N}P&7uV&Zk?I~o1 zf~dvEgm4Mj+1UUJy5qqX8cazmDSv5}-k{hpv$C!>;%l8Pqb0GZvsQ1KP|tC*HElOz z7NupIKhdyNhNvwe|HX{$TeE4_xi!}YW>m9pO8Mt9p?~p(Uf<4D)2Ym+xhd`>l~-f6 zdClWWDVpxldLnsC;mY(dDw_kJxnh$ge7%2P5!p=-M!7``R+gOlbK5`PXls|ZPbJn= zUtr_`%=AzkD9|Z_b`2lk1I$f;xnDY^suBqwH-|;)=jg?c><1Mv!L zHAGdiP?)aZDHRK7m50SotUeb7{S9Q2e zlW38q{gEopqH-*XhD8^&wh^TD6jtF!^UiFB4I2J6?0O;mJB5FEXS;59neIx4p7FZw zS%3KV@?+VlQ{xjy(TB_bwA>A|Q5YrJ$nk?@=!8j{I*A*`&e)wK!^BU=gRy^h={EGT zTl}$n*K!xmWb%z${tZ@vesiCbN74FYyndb49`DIRGoCoTEPJDa7`}WZpGE*dHk`y> z>W`ho8)i-zk0(wVWU&)vaT+IseiFw)YkwfX06+_m5ImOG*?Q(&^;|G$ODKuDK3bOI)+t$H@g&>ZMa2xQ5l_?&&`LFV!;%#XZ-1Dr ze7D#*-(HBew}IToZzBUWJXNXEbhpjGg^2=@IvZpA_MFu ziRaTWld+ z)*hZ>!Yy=Zh*G%iNcB!Oc!-i!J5_q;E|Q;0%MP)Yt?9ZU*)fUjeK&u_RNZbtNT9#b zTJYzt{cK8&C)NeCAOEit9i37TeA=a(9 zX!#DY?iQnpfyPQ!@IrSGO@Ah#6Z8ijxPnb0XAq5tPUa3KBY%*FlVq}+kn~(*Pzw5L zP2dTt=}iPJ&&ZlW1!~kVtiTf^e|x^N#c;ae=>H$FdaBaFbW;tOENcg$8q9~TQ*)m$$y>)4d*#s+fwyHNDmQd+xV#6S1w z+(nL00z}wUf0H%yHJ(gX-=>&UR8LnK6wILukDzE6M{eXg!C)|eJQg{FG)VxDMeZOQ zyIC5I<}G;o3Y(`kBvZ;#+#8JTbC2l}j8PDAhKgf$i#;SobEJw5c*?1;v9^DO2#DlG z*pc*%!< z^wF1?DLuErd9+*Hg@dYv`~u0c(39w*$~`)F-8X3Km{dzzKXE6~#2q{7Fv(yL!q6E^ z;*k@M{4^d8y?zEHZT_%P#6tdXl!a+F0B2Yl!0{$w?0+O-nu3W2z8j7wm|TNYR9y?(5;?p5p)rIx78b}fedV6)wy z^MnZ$3d8e@xOC=uE(V~A!Hh7|_7?k+EuzZR`i)&gkIh{OCz5z1uH>jbBIz>sf)WY4 z8fqnvr(~0|^jqbvi>&IrSNC2-W#06+B>K69hJUlra26WQLc>{TIJGg;_7)c!&O*bv zA$z~&HJliI!I(oYOzDOq@;nvxiMcBdK81xc+@J#fJJdsS=lvj;PNbw#UP@RV6(WCb zmn^5!$#IE3o`)sR$`ePVW5Vi#qI_%u{AKh3}zk>Zd9D~WY^d#9;k`>GH zsek6LYuxln)h4k6H#}H?elB2$1%DC^M%gHdBWL0dBPR^P0W3t}IfD%7W20aY$4MUz zlG1c_^SFwCR(Dw|Wx?utyEkvFUFO!>u4_$qYn{(cuG^-B)m=t!rHl98y}7oE(#7p{ zaeLk6y$kB5hmQr;pzZHXgSPkcQvwzS?SEYIma4(RpuI3??=iLDXQ&d~^oCDb4Y(yW z9Acwhs5tm&3l}QRLd98Hs5lE1XQATQV5aRYE>xU_inCC0T2^sFO2r{g!#%3uEcAw( zMsM(L6*&lhLf`+>AUipZ!#n!@(`%32lZJz5UVCZu>eFuw{Uc`vuegUFejrX!a?Bnjz(rwu@(b3@>cYz^Z zKRpDGWe+^=4(~a3=1}llc<7b;UO9C1A@9(eFP(n)iS#$mJ^T2}hn{)l%;4F(&VZ@h z?3wg57~;^gk3_@Z@gsvL(l_C#cz?(TUmD-AN8WtSPv3a#iHDAj9(eq< zM-L}wMz4S&pLzK7@aR)#zz~n#9ln0ZfBfaq{r8>%kDeOdpT3zr`}pyJAD$WpN8TLW z|MaOt{v&6GuReA7!3SPGHMl=|^Ug2gl;-WvnX)- z6Cl1qub((cJoKC(@cQwvKkR4y>};2*K#J?c$l}WQXF4nQMXQBa(L8K)c6nY*_7Rf$ zt6g_E?!&SMj_ai{5cUZ;8TyImq=}ynM}z((41g$JUhX;`{0~XXW$Bifa2UFZ96F@k z0*Y`5)ZgQ50Z88%kbhjax^?>&c@oG=-%`cwh&3;n?s+@(dT{L~JdZeU;)d~H z=sTkrhQY+(T+hNNbq4+roGZyBi6;Xo;@SXVpu=cjj8RgvcwN$(PbknM!JY7ySj%Et zfjcrYthr?|Mir8hpbLwN(r8M&BpdWcF2GO}I$;EqBcNK1oqx$F9eF|I52DPIqR9vx zT0DgIcn~`wnczWq%N`GiD~!je!b3k5@X$}9Aohm?C+J5&&L!iKlk`Wv;Jo5T( z6lPL97=c5JhiESRfci?yqEbz`qJxUhUFr0Cy*3zx3|CK>-C!<>jj?h-X=#D0?GfMo#3H{ImcSC>TfE!&n_WZ#0$B7j7 zX0Xs6{(W;T3R=ccrC(CDVx8@K)>3;ZKHQ(1lqvSC9>t3OM_CGP%wg!blS$tR2g3<0 z3JoCOCH=w38>NvqQQ!bCB~MAn8?|$5UdBMLLPKJugMV=ab3R5TAvcQ_suzr6kGZ!x z(~A-+#*y;lVSgn3o3S&1P(0r!YW zGIGEl;C~qIj{_(12PwE44qR`N#%}1xQk>XAMUN5lyS21@Kg);J?fC>TMBUB|z+ZF# zFc@WbZg>U|;U1ZtGdQR{^J}`n3K$E47ALTX?u;)>e*KREsUBN#@uKG(zzmVnZF>iKI23+xK2P%HW zyJjaic-VG8E3A#<$uNpC*9k@uxMd8y2;A^S0AgN0jDplpqg0NyFOgP@8XeDYTV`qc z9e=W7eLg#f?y7GY*{D48OSynJ)Gi#%_JOb}oK9MeJnn6()@qSCYL7vD@vc zWrLmTA>Zh_UMnLN7tZGz(VO4a<*iffPJjLSCX%+U=brif{40V|I5nQ|OVkS-es;AY zz)E-zRT2Q^~b(Djuk@31QK*9coRgJ zU(X9u?iYl`Bo(_QcqpEhl;zf$(65`kYiF8G!)!8yAWz*8+Gj`3Antq4B#NTRWEGGO zd~c{ww<ptDDYS^^A!A6B5$ zLIMDQA6B5Vt%ypp$Qn7PBFXLIMncA6B5$LIMDQA6B4~Z;d4Z zHIpxk6@QJAJC0p32tfC8>q~^e#;_b?gEY;&XeNpjMOj&jEGb(EuSxw%BtC}&e}Dh^ z+3rU7b=`Yd9$phVjRif2gW(itG=%rGGf&KE+mBO(%F@eaemn z&LwnuWXYyxy6@|Ie0;t=-b=Vw{#*=uttjVV>RXn!0g}^Y4oV;MfBI*k*DRtz^?t;K U{xp>Xq1HBTc^W1E`UjE0TbZtv+yDRo diff --git a/config.json b/config.json index b80058b..544b7b4 100644 --- a/config.json +++ b/config.json @@ -1,3 +1,3 @@ { - "proxy": "https://www.google.ru:789" + } \ No newline at end of file diff --git a/precommit1c b/precommit1c index e3d3df5..dbca0c1 160000 --- a/precommit1c +++ b/precommit1c @@ -1 +1 @@ -Subproject commit e3d3df505b7f68d255beb28cbc5e85bfdd86c9a0 +Subproject commit dbca0c104a628150691763f4283a541b2dfc567f diff --git "a/src/CodeConsole83/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" "b/src/CodeConsole83/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" index 66cc71b..10e3c3c 100644 --- "a/src/CodeConsole83/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" +++ "b/src/CodeConsole83/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" @@ -39,32 +39,13 @@ КонецФункции &НаКлиенте -Функция ЗапросGitHub(АдресРесурса) - - ЗащищенноеСоединениеOpenSSL = Новый ЗащищенноеСоединениеOpenSSL(); - Соединение = Новый HTTPСоединение("api.github.com", , , , НастройкиПрокси(), , ЗащищенноеСоединениеOpenSSL); - - Запрос = Новый HTTPЗапрос(АдресРесурса); - - Ответ = Соединение.Получить(Запрос); +Функция ПроверитьОбновление() - Если Ответ.КодСостояния <> 200 Тогда - - Сообщить("Не удалось выполнить запрос.", Ответ.ПолучитьТелоКакСтроку()); - Возврат Неопределено; - - КонецЕсли; + ПараметрыПубликации = ПараметрыПубликации(); - Возврат Ответ.ПолучитьТелоКакПоток(); -КонецФункции + Ответ = ПолучитьДанные(СтрШаблон("https://api.github.com/repos/%1/%2/releases/latest", ПараметрыПубликации.owner, ПараметрыПубликации.repo)); -&НаКлиенте -Функция ПроверитьОбновление() - - ПараметрыПубликации = ПараметрыПубликации(); - // https://api.github.com/repos/alkoleft/ones_universal_tools/releases/latest - Ответ = ЗапросGitHub(СтрШаблон("repos/%1/%2/releases/latest", ПараметрыПубликации.owner, ПараметрыПубликации.repo)); Если Ответ = Неопределено Тогда Возврат Ложь; КонецЕсли; @@ -121,15 +102,250 @@ ИнформацияОбОбновлении.Описание, Символы.ПС, Символы.ПС, - Новый ФорматированнаяСтрока( - "Скачать" + Символы.ПС, , , , - ИнформацияОбОбновлении.Скачать) + Новый ФорматированнаяСтрока("Скачать по ссылке(откроется в браузере)", , , , ИнформацияОбОбновлении.Скачать), + Символы.ПС, + Символы.ПС, + Новый ФорматированнаяСтрока("Обновить обработку?", Новый Шрифт(, 14, Истина)) ); - ПоказатьПредупреждение(, фСтрока, , "Обновление"); + + ПоказатьВопрос( + Новый ОписаниеОповещения("ПроверитьОбновлениеОтвет", ЭтаФорма, ИнформацияОбОбновлении.Скачать) + , фСтрока + , РежимДиалогаВопрос.ДаНет + , , КодВозвратаДиалога.Да + , "Обновление"); + + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьОбновлениеОтвет(Ответ, ДополнительныеПараметры) Экспорт + + Если Ответ = КодВозвратаДиалога.Да Тогда + + Данные = СкачатьФайлHTTP(ДополнительныеПараметры); + + Если Данные <> Неопределено Тогда + + Данные.Записать(ИмяФайлаОбработки); + + ПоказатьПредупреждение(, "Обработка обновлена. Перезапустите обработку"); + + КонецЕсли; КонецЕсли; + КонецПроцедуры +#Область HTTP + +&НаКлиенте +Функция СкачатьФайлHTTP(URLФайла) + + СтруктураАдреса = РазобратьURL(URLФайла); + + Соединение = УстановитьHTTPСоединение(СтруктураАдреса.Сервер, НРег(СтруктураАдреса.Схема) = "https"); + + Ответ = ВыполнитьHTTPЗапрос(Соединение, СтруктураАдреса.АдресРесурса); + + Если Ответ = Неопределено Тогда + Возврат Неопределено; + КонецЕсли; + + Возврат Ответ.ПолучитьТелоКакДвоичныеДанные(); + +КонецФункции + +&НаКлиенте +Функция ПолучитьДанные(URL, ОтветКак = "Поток") + + СтруктураАдреса = РазобратьURL(URL); + + Соединение = УстановитьHTTPСоединение(СтруктураАдреса.Сервер, НРег(СтруктураАдреса.Схема) = "https"); + + Ответ = ВыполнитьHTTPЗапрос(Соединение, СтруктураАдреса.АдресРесурса); + + Если Ответ = Неопределено Тогда + Возврат Ложь; + КонецЕсли; + + Если ОтветКак = "Поток" Тогда + Возврат Ответ.ПолучитьТелоКакПоток(); + ИначеЕсли ОтветКак = "Строка" Тогда + Возврат Ответ.ПолучитьТелоКакСтроку(); + ИначеЕсли ОтветКак = "ДвоичныеДанные" Тогда + Возврат Ответ.ПолучитьТелоКакДвоичныеДанные(); + Иначе + Возврат Ответ; + КонецЕсли; + +КонецФункции + + +&НаКлиентеНаСервереБезКонтекста +Функция РазобратьURL(Знач URL) Экспорт + // https://habrahabr.ru/post/232385 + + СтруктураАдреса = Новый Структура("Схема, Сервер, Порт, Путь, ИмяФайла, АргументыЗапроса, Фрагмент, Пользователь, Пароль, АдресРесурса", + "http", , 80, "/"); + + Позиция = СтрНайти(URL, "://"); + Если Позиция <> 0 Тогда + + СтруктураАдреса.Вставить("Схема", Лев(URL, Позиция - 1)); + URL = Сред(URL, Позиция + 3); + + КонецЕсли; + + Позиция = СтрНайти(URL, "/"); + + Если Позиция Тогда + + СтруктураАдреса.АдресРесурса = Сред(URL, Позиция + 1); + + КонецЕсли; + + Позиция = СтрНайти(URL, "#", НаправлениеПоиска.СКонца); + Если Позиция <> 0 Тогда + + СтруктураАдреса.Фрагмент = Сред(URL, Позиция + 1); + URL = Лев(URL, Позиция - 1); + + КонецЕсли; + + Позиция = СтрНайти(URL, "?", НаправлениеПоиска.СКонца); + Если Позиция <> 0 Тогда + + СтруктураАдреса.АргументыЗапроса = Сред(URL, Позиция + 1); + URL = Лев(URL, Позиция - 1); + + КонецЕсли; + + Позиция = СтрНайти(URL, "/"); + + Если Позиция Тогда + + СтруктураАдреса.Сервер = Лев(URL, Позиция - 1); + + СтруктураАдреса.Путь = Сред(URL, Позиция + 1); + + Позиция = СтрНайти(СтруктураАдреса.Путь, "/", НаправлениеПоиска.СКонца); + + Если Позиция Тогда + + СтруктураАдреса.ИмяФайла = Сред(СтруктураАдреса.Путь, Позиция + 1); + + КонецЕсли; + + Иначе + + СтруктураАдреса.Сервер = URL; + + КонецЕсли; + + Позиция = СтрНайти(СтруктураАдреса.Сервер, "@"); + Если Позиция Тогда + + ПользовательПароль = Лев(СтруктураАдреса.Сервер, Позиция - 1); + СтруктураАдреса.Сервер = Сред(СтруктураАдреса.Сервер, Позиция + 1); + + Позиция = СтрНайти(ПользовательПароль, ":"); + СтруктураАдреса.Пользователь = Лев(ПользовательПароль, Позиция - 1); + СтруктураАдреса.Пароль = Сред(ПользовательПароль, Позиция + 1); + + КонецЕсли; + + Возврат СтруктураАдреса; + +КонецФункции + +&НаКлиенте +Функция УстановитьHTTPСоединение(Сервер, ИспользоватьSSL) + + ЗащищенноеСоединениеOpenSSL = ?(ИспользоватьSSL, Новый ЗащищенноеСоединениеOpenSSL(), Неопределено); + + Соединение = Новый HTTPСоединение(Сервер, , , , НастройкиПрокси(), , ЗащищенноеСоединениеOpenSSL); + + Возврат Соединение; + +КонецФункции + +&НаКлиенте +Функция ВыполнитьHTTPЗапрос(Соединение, АдресРесурса) + + Запрос = Новый HTTPЗапрос(АдресРесурса); + + Ответ = Соединение.Получить(Запрос); + + Если Ответ.КодСостояния = 302 Тогда // Редирект + + Ответ = ПолучитьДанные(Ответ.Заголовки["Location"], Неопределено); + + ИначеЕсли Ответ.КодСостояния <> 200 Тогда + + Сообщить("Не удалось выполнить запрос. " + Ответ.ПолучитьТелоКакСтроку()); + Возврат Неопределено; + + КонецЕсли; + + Возврат Ответ; + +КонецФункции + +&НаКлиенте +Функция НастройкиПрокси() + + Если НастройкиОбработки = Неопределено ИЛИ НастройкиОбработки["proxy"] = Неопределено Тогда + Возврат Неопределено; + КонецЕсли; + + Прокси = Новый ИнтернетПрокси(); + + ПараметрыПрокси = НастройкиОбработки["proxy"]; + Сервер = Неопределено; + Порт = Неопределено; + Пользователь = Неопределено; + Пароль = ""; + СтрокаСерверПорт = Неопределено; + + Если ПараметрыПрокси = "default" Тогда + Возврат Прокси; + ИначеЕсли ТипЗнч(ПараметрыПрокси) = Тип("Строка") Тогда + + СтрокаСерверПорт = ПараметрыПрокси; + + ИначеЕсли ТипЗнч(ПараметрыПрокси) = Тип("Соответствие") Тогда + + СтрокаСерверПорт = ПараметрыПрокси["server"]; + Порт = ПараметрыПрокси["port"]; + Пользователь = ПараметрыПрокси["user"]; + Пароль = ПараметрыПрокси["password"]; + + КонецЕсли; + + Если СтрокаСерверПорт <> Неопределено Тогда + РазделениеСерверПорт = СтрНайти(ПараметрыПрокси, ":", , , 2); + Если РазделениеСерверПорт <> 0 Тогда + Сервер = Лев(ПараметрыПрокси, РазделениеСерверПорт - 1); + Порт = Число(Сред(ПараметрыПрокси, РазделениеСерверПорт + 1)); + Иначе + Сервер = СтрокаСерверПорт; + КонецЕсли; + КонецЕсли; + + Если ЗначениеЗаполнено(Пользователь) Тогда + Прокси.Установить("http", Сервер, Порт, Пользователь, Пароль, Ложь); + Прокси.Установить("https", Сервер, Порт, Пользователь, Пароль, Ложь); + Иначе + Прокси.Установить("http", Сервер, Порт); + Прокси.Установить("https", Сервер, Порт); + КонецЕсли; + + Возврат Прокси; +КонецФункции + +#КонецОбласти //HTTP + #КонецОбласти //github_integration #Область Универсальные_коллекции @@ -534,58 +750,6 @@ КонецФункции -&НаКлиенте -Функция НастройкиПрокси() - - Если НастройкиОбработки = Неопределено ИЛИ НастройкиОбработки["proxy"] = Неопределено Тогда - Возврат Неопределено; - КонецЕсли; - - Прокси = Новый ИнтернетПрокси(); - - ПараметрыПрокси = НастройкиОбработки["proxy"]; - Сервер = Неопределено; - Порт = Неопределено; - Пользователь = Неопределено; - Пароль = ""; - СтрокаСерверПорт = Неопределено; - - Если ПараметрыПрокси = "default" Тогда - Возврат Прокси; - ИначеЕсли ТипЗнч(ПараметрыПрокси) = Тип("Строка") Тогда - - СтрокаСерверПорт = ПараметрыПрокси; - - ИначеЕсли ТипЗнч(ПараметрыПрокси) = Тип("Соответствие") Тогда - - СтрокаСерверПорт = ПараметрыПрокси["server"]; - Порт = ПараметрыПрокси["port"]; - Пользователь = ПараметрыПрокси["user"]; - Пароль = ПараметрыПрокси["password"]; - - КонецЕсли; - - Если СтрокаСерверПорт <> Неопределено Тогда - РазделениеСерверПорт = СтрНайти(ПараметрыПрокси, ":", , , 2); - Если РазделениеСерверПорт <> 0 Тогда - Сервер = Лев(ПараметрыПрокси, РазделениеСерверПорт - 1); - Порт = Число(Сред(ПараметрыПрокси, РазделениеСерверПорт + 1)); - Иначе - Сервер = СтрокаСерверПорт; - КонецЕсли; - КонецЕсли; - - Если ЗначениеЗаполнено(Пользователь) Тогда - Прокси.Установить("http", Сервер, Порт, Пользователь, Пароль, Ложь); - Прокси.Установить("https", Сервер, Порт, Пользователь, Пароль, Ложь); - Иначе - Прокси.Установить("http", Сервер, Порт); - Прокси.Установить("https", Сервер, Порт); - КонецЕсли; - - Возврат Прокси; -КонецФункции - #Область Замеры &НаКлиентеНаСервереБезКонтекста diff --git a/src/CodeConsole83/maps.txt b/src/CodeConsole83/maps.txt index ca7e149..30e2f67 100644 --- a/src/CodeConsole83/maps.txt +++ b/src/CodeConsole83/maps.txt @@ -1,3 +1,3 @@ -Form\Форма\Форма.bsl-->6e6904e6-445a-4678-957b-e39d02fce6a4.0 (4 547, 6 987) +Form\Форма\Форма.bsl-->6e6904e6-445a-4678-957b-e39d02fce6a4.0 (4 547, 7 151) Form\ФормаНастройкаТаблицы\Форма.bsl-->a3626ede-5b0a-440b-92ae-ae5ab4b70298.0 (627, 659) Form\ФормаСвойств\Форма.bsl-->2160ae20-89a5-4c06-8ef5-261700f38e89.0 (574, 599) diff --git a/src/CodeConsole83/und/6e6904e6-445a-4678-957b-e39d02fce6a4.0 b/src/CodeConsole83/und/6e6904e6-445a-4678-957b-e39d02fce6a4.0 index 85fb4e8..7c68032 100644 --- a/src/CodeConsole83/und/6e6904e6-445a-4678-957b-e39d02fce6a4.0 +++ b/src/CodeConsole83/und/6e6904e6-445a-4678-957b-e39d02fce6a4.0 @@ -4567,32 +4567,13 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} КонецФункции &НаКлиенте -Функция ЗапросGitHub(АдресРесурса) - - ЗащищенноеСоединениеOpenSSL = Новый ЗащищенноеСоединениеOpenSSL(); - Соединение = Новый HTTPСоединение(""api.github.com"", , , , НастройкиПрокси(), , ЗащищенноеСоединениеOpenSSL); - - Запрос = Новый HTTPЗапрос(АдресРесурса); - - Ответ = Соединение.Получить(Запрос); +Функция ПроверитьОбновление() - Если Ответ.КодСостояния <> 200 Тогда - - Сообщить(""Не удалось выполнить запрос."", Ответ.ПолучитьТелоКакСтроку()); - Возврат Неопределено; - - КонецЕсли; + ПараметрыПубликации = ПараметрыПубликации(); - Возврат Ответ.ПолучитьТелоКакПоток(); -КонецФункции + Ответ = ПолучитьДанные(СтрШаблон(""https://api.github.com/repos/%1/%2/releases/latest"", ПараметрыПубликации.owner, ПараметрыПубликации.repo)); -&НаКлиенте -Функция ПроверитьОбновление() - - ПараметрыПубликации = ПараметрыПубликации(); - // https://api.github.com/repos/alkoleft/ones_universal_tools/releases/latest - Ответ = ЗапросGitHub(СтрШаблон(""repos/%1/%2/releases/latest"", ПараметрыПубликации.owner, ПараметрыПубликации.repo)); Если Ответ = Неопределено Тогда Возврат Ложь; КонецЕсли; @@ -4649,15 +4630,250 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} ИнформацияОбОбновлении.Описание, Символы.ПС, Символы.ПС, - Новый ФорматированнаяСтрока( - ""Скачать"" + Символы.ПС, , , , - ИнформацияОбОбновлении.Скачать) + Новый ФорматированнаяСтрока(""Скачать по ссылке(откроется в браузере)"", , , , ИнформацияОбОбновлении.Скачать), + Символы.ПС, + Символы.ПС, + Новый ФорматированнаяСтрока(""Обновить обработку?"", Новый Шрифт(, 14, Истина)) ); - ПоказатьПредупреждение(, фСтрока, , ""Обновление""); + + ПоказатьВопрос( + Новый ОписаниеОповещения(""ПроверитьОбновлениеОтвет"", ЭтаФорма, ИнформацияОбОбновлении.Скачать) + , фСтрока + , РежимДиалогаВопрос.ДаНет + , , КодВозвратаДиалога.Да + , ""Обновление""); + + КонецЕсли; +КонецПроцедуры + +&НаКлиенте +Процедура ПроверитьОбновлениеОтвет(Ответ, ДополнительныеПараметры) Экспорт + + Если Ответ = КодВозвратаДиалога.Да Тогда + + Данные = СкачатьФайлHTTP(ДополнительныеПараметры); + + Если Данные <> Неопределено Тогда + + Данные.Записать(ИмяФайлаОбработки); + + ПоказатьПредупреждение(, ""Обработка обновлена. Перезапустите обработку""); + + КонецЕсли; КонецЕсли; + КонецПроцедуры +#Область HTTP + +&НаКлиенте +Функция СкачатьФайлHTTP(URLФайла) + + СтруктураАдреса = РазобратьURL(URLФайла); + + Соединение = УстановитьHTTPСоединение(СтруктураАдреса.Сервер, НРег(СтруктураАдреса.Схема) = ""https""); + + Ответ = ВыполнитьHTTPЗапрос(Соединение, СтруктураАдреса.АдресРесурса); + + Если Ответ = Неопределено Тогда + Возврат Неопределено; + КонецЕсли; + + Возврат Ответ.ПолучитьТелоКакДвоичныеДанные(); + +КонецФункции + +&НаКлиенте +Функция ПолучитьДанные(URL, ОтветКак = ""Поток"") + + СтруктураАдреса = РазобратьURL(URL); + + Соединение = УстановитьHTTPСоединение(СтруктураАдреса.Сервер, НРег(СтруктураАдреса.Схема) = ""https""); + + Ответ = ВыполнитьHTTPЗапрос(Соединение, СтруктураАдреса.АдресРесурса); + + Если Ответ = Неопределено Тогда + Возврат Ложь; + КонецЕсли; + + Если ОтветКак = ""Поток"" Тогда + Возврат Ответ.ПолучитьТелоКакПоток(); + ИначеЕсли ОтветКак = ""Строка"" Тогда + Возврат Ответ.ПолучитьТелоКакСтроку(); + ИначеЕсли ОтветКак = ""ДвоичныеДанные"" Тогда + Возврат Ответ.ПолучитьТелоКакДвоичныеДанные(); + Иначе + Возврат Ответ; + КонецЕсли; + +КонецФункции + + +&НаКлиентеНаСервереБезКонтекста +Функция РазобратьURL(Знач URL) Экспорт + // https://habrahabr.ru/post/232385 + + СтруктураАдреса = Новый Структура(""Схема, Сервер, Порт, Путь, ИмяФайла, АргументыЗапроса, Фрагмент, Пользователь, Пароль, АдресРесурса"", + ""http"", , 80, ""/""); + + Позиция = СтрНайти(URL, ""://""); + Если Позиция <> 0 Тогда + + СтруктураАдреса.Вставить(""Схема"", Лев(URL, Позиция - 1)); + URL = Сред(URL, Позиция + 3); + + КонецЕсли; + + Позиция = СтрНайти(URL, ""/""); + + Если Позиция Тогда + + СтруктураАдреса.АдресРесурса = Сред(URL, Позиция + 1); + + КонецЕсли; + + Позиция = СтрНайти(URL, ""#"", НаправлениеПоиска.СКонца); + Если Позиция <> 0 Тогда + + СтруктураАдреса.Фрагмент = Сред(URL, Позиция + 1); + URL = Лев(URL, Позиция - 1); + + КонецЕсли; + + Позиция = СтрНайти(URL, ""?"", НаправлениеПоиска.СКонца); + Если Позиция <> 0 Тогда + + СтруктураАдреса.АргументыЗапроса = Сред(URL, Позиция + 1); + URL = Лев(URL, Позиция - 1); + + КонецЕсли; + + Позиция = СтрНайти(URL, ""/""); + + Если Позиция Тогда + + СтруктураАдреса.Сервер = Лев(URL, Позиция - 1); + + СтруктураАдреса.Путь = Сред(URL, Позиция + 1); + + Позиция = СтрНайти(СтруктураАдреса.Путь, ""/"", НаправлениеПоиска.СКонца); + + Если Позиция Тогда + + СтруктураАдреса.ИмяФайла = Сред(СтруктураАдреса.Путь, Позиция + 1); + + КонецЕсли; + + Иначе + + СтруктураАдреса.Сервер = URL; + + КонецЕсли; + + Позиция = СтрНайти(СтруктураАдреса.Сервер, ""@""); + Если Позиция Тогда + + ПользовательПароль = Лев(СтруктураАдреса.Сервер, Позиция - 1); + СтруктураАдреса.Сервер = Сред(СтруктураАдреса.Сервер, Позиция + 1); + + Позиция = СтрНайти(ПользовательПароль, "":""); + СтруктураАдреса.Пользователь = Лев(ПользовательПароль, Позиция - 1); + СтруктураАдреса.Пароль = Сред(ПользовательПароль, Позиция + 1); + + КонецЕсли; + + Возврат СтруктураАдреса; + +КонецФункции + +&НаКлиенте +Функция УстановитьHTTPСоединение(Сервер, ИспользоватьSSL) + + ЗащищенноеСоединениеOpenSSL = ?(ИспользоватьSSL, Новый ЗащищенноеСоединениеOpenSSL(), Неопределено); + + Соединение = Новый HTTPСоединение(Сервер, , , , НастройкиПрокси(), , ЗащищенноеСоединениеOpenSSL); + + Возврат Соединение; + +КонецФункции + +&НаКлиенте +Функция ВыполнитьHTTPЗапрос(Соединение, АдресРесурса) + + Запрос = Новый HTTPЗапрос(АдресРесурса); + + Ответ = Соединение.Получить(Запрос); + + Если Ответ.КодСостояния = 302 Тогда // Редирект + + Ответ = ПолучитьДанные(Ответ.Заголовки[""Location""], Неопределено); + + ИначеЕсли Ответ.КодСостояния <> 200 Тогда + + Сообщить(""Не удалось выполнить запрос. "" + Ответ.ПолучитьТелоКакСтроку()); + Возврат Неопределено; + + КонецЕсли; + + Возврат Ответ; + +КонецФункции + +&НаКлиенте +Функция НастройкиПрокси() + + Если НастройкиОбработки = Неопределено ИЛИ НастройкиОбработки[""proxy""] = Неопределено Тогда + Возврат Неопределено; + КонецЕсли; + + Прокси = Новый ИнтернетПрокси(); + + ПараметрыПрокси = НастройкиОбработки[""proxy""]; + Сервер = Неопределено; + Порт = Неопределено; + Пользователь = Неопределено; + Пароль = """"; + СтрокаСерверПорт = Неопределено; + + Если ПараметрыПрокси = ""default"" Тогда + Возврат Прокси; + ИначеЕсли ТипЗнч(ПараметрыПрокси) = Тип(""Строка"") Тогда + + СтрокаСерверПорт = ПараметрыПрокси; + + ИначеЕсли ТипЗнч(ПараметрыПрокси) = Тип(""Соответствие"") Тогда + + СтрокаСерверПорт = ПараметрыПрокси[""server""]; + Порт = ПараметрыПрокси[""port""]; + Пользователь = ПараметрыПрокси[""user""]; + Пароль = ПараметрыПрокси[""password""]; + + КонецЕсли; + + Если СтрокаСерверПорт <> Неопределено Тогда + РазделениеСерверПорт = СтрНайти(ПараметрыПрокси, "":"", , , 2); + Если РазделениеСерверПорт <> 0 Тогда + Сервер = Лев(ПараметрыПрокси, РазделениеСерверПорт - 1); + Порт = Число(Сред(ПараметрыПрокси, РазделениеСерверПорт + 1)); + Иначе + Сервер = СтрокаСерверПорт; + КонецЕсли; + КонецЕсли; + + Если ЗначениеЗаполнено(Пользователь) Тогда + Прокси.Установить(""http"", Сервер, Порт, Пользователь, Пароль, Ложь); + Прокси.Установить(""https"", Сервер, Порт, Пользователь, Пароль, Ложь); + Иначе + Прокси.Установить(""http"", Сервер, Порт); + Прокси.Установить(""https"", Сервер, Порт); + КонецЕсли; + + Возврат Прокси; +КонецФункции + +#КонецОбласти //HTTP + #КонецОбласти //github_integration #Область Универсальные_коллекции @@ -5062,58 +5278,6 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} КонецФункции -&НаКлиенте -Функция НастройкиПрокси() - - Если НастройкиОбработки = Неопределено ИЛИ НастройкиОбработки[""proxy""] = Неопределено Тогда - Возврат Неопределено; - КонецЕсли; - - Прокси = Новый ИнтернетПрокси(); - - ПараметрыПрокси = НастройкиОбработки[""proxy""]; - Сервер = Неопределено; - Порт = Неопределено; - Пользователь = Неопределено; - Пароль = """"; - СтрокаСерверПорт = Неопределено; - - Если ПараметрыПрокси = ""default"" Тогда - Возврат Прокси; - ИначеЕсли ТипЗнч(ПараметрыПрокси) = Тип(""Строка"") Тогда - - СтрокаСерверПорт = ПараметрыПрокси; - - ИначеЕсли ТипЗнч(ПараметрыПрокси) = Тип(""Соответствие"") Тогда - - СтрокаСерверПорт = ПараметрыПрокси[""server""]; - Порт = ПараметрыПрокси[""port""]; - Пользователь = ПараметрыПрокси[""user""]; - Пароль = ПараметрыПрокси[""password""]; - - КонецЕсли; - - Если СтрокаСерверПорт <> Неопределено Тогда - РазделениеСерверПорт = СтрНайти(ПараметрыПрокси, "":"", , , 2); - Если РазделениеСерверПорт <> 0 Тогда - Сервер = Лев(ПараметрыПрокси, РазделениеСерверПорт - 1); - Порт = Число(Сред(ПараметрыПрокси, РазделениеСерверПорт + 1)); - Иначе - Сервер = СтрокаСерверПорт; - КонецЕсли; - КонецЕсли; - - Если ЗначениеЗаполнено(Пользователь) Тогда - Прокси.Установить(""http"", Сервер, Порт, Пользователь, Пароль, Ложь); - Прокси.Установить(""https"", Сервер, Порт, Пользователь, Пароль, Ложь); - Иначе - Прокси.Установить(""http"", Сервер, Порт); - Прокси.Установить(""https"", Сервер, Порт); - КонецЕсли; - - Возврат Прокси; -КонецФункции - #Область Замеры &НаКлиентеНаСервереБезКонтекста diff --git a/src/CodeConsole83/und/versions b/src/CodeConsole83/und/versions index e58190c..aff36a2 100644 --- a/src/CodeConsole83/und/versions +++ b/src/CodeConsole83/und/versions @@ -1 +1 @@ -{1,12,"",c59fd3a7-425a-4f5b-9076-12563c79d7df,"2160ae20-89a5-4c06-8ef5-261700f38e89",9db962d3-303c-4d33-8062-c45e6cdc068e,"2160ae20-89a5-4c06-8ef5-261700f38e89.0",ac135d1a-02a6-429d-b472-9ebd8eb704b2,"6e6904e6-445a-4678-957b-e39d02fce6a4",69331ce8-60e7-4669-b584-33f7761f287f,"6e6904e6-445a-4678-957b-e39d02fce6a4.0",f2f28597-3b8e-4e93-9834-5f525923b086,"a3626ede-5b0a-440b-92ae-ae5ab4b70298",d133b749-62df-4c4c-b649-d8908f020b38,"a3626ede-5b0a-440b-92ae-ae5ab4b70298.0",dda4f084-0d7b-4da4-baff-cc95d3a85b76,"ac7f7896-01c1-4bcc-abb9-dedfec899bc7",3488f8bd-b266-4b36-93f1-09e7a01a9882,"copyinfo",6a023e66-cffd-42c4-863a-2ef2eb699a0b,"root",99a1a187-be0c-4cea-b397-7bef39d2198c,"version",fb9a17a3-caaa-46f5-a815-6f7b6752fb57,"versions",39a02252-8023-4bae-af50-7f7931fd12f3} \ No newline at end of file +{1,12,"",3bcaa949-a2c2-4b25-93ff-6393a8936ae4,"2160ae20-89a5-4c06-8ef5-261700f38e89",9db962d3-303c-4d33-8062-c45e6cdc068e,"2160ae20-89a5-4c06-8ef5-261700f38e89.0",ac135d1a-02a6-429d-b472-9ebd8eb704b2,"6e6904e6-445a-4678-957b-e39d02fce6a4",8ffcabeb-5a76-477c-9793-5766cbe37313,"6e6904e6-445a-4678-957b-e39d02fce6a4.0",ebfcef9c-91e2-4ade-b6b5-1bfd183c42fa,"a3626ede-5b0a-440b-92ae-ae5ab4b70298",d133b749-62df-4c4c-b649-d8908f020b38,"a3626ede-5b0a-440b-92ae-ae5ab4b70298.0",dda4f084-0d7b-4da4-baff-cc95d3a85b76,"ac7f7896-01c1-4bcc-abb9-dedfec899bc7",3488f8bd-b266-4b36-93f1-09e7a01a9882,"copyinfo",8c6e5aa8-7e4f-4f5c-81f1-6f04c6d7a78a,"root",802bdae2-42f0-47c1-b7be-d9634b52721f,"version",9510ed31-5c69-4302-bedd-8518eb7e8f4d,"versions",646172e2-2746-4d9d-9bbc-d70bf6e76656} \ No newline at end of file From d1bfb7ea3916e49edff3d07af48158e2ca48e026 Mon Sep 17 00:00:00 2001 From: kav Date: Sun, 8 Oct 2017 22:52:55 +0300 Subject: [PATCH 5/5] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F=20v1.0.6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CodeConsole83.epf | Bin 36778 -> 36778 bytes ...0\244\320\276\321\200\320\274\320\260.bsl" | 2 +- .../6e6904e6-445a-4678-957b-e39d02fce6a4.0 | 2 +- src/CodeConsole83/und/versions | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CodeConsole83.epf b/CodeConsole83.epf index 90b0921712ecd1335df747c32ca8ac5edb33a354..b6cab3d4b800e5ce76b24927044c734234d7a96f 100644 GIT binary patch delta 562 zcmZ2ApJ~;6rVWXF+!uJ4ExzK!!~mo>=kQHtLKc{u!xy+YTJVSz{vUa65wmTVEI*JS;p%AxmM?(_HW^XI?K`@3)5?+s@pnh$RGN$BPDI+-&hvW?n3*4m;?Z5Qqbcy*PW|NHujvRz5ty9UE52E=+X-DzjnQJVez$0S?p{W_s&-bLZsjs-9oljUc z$MgGD>BXt;0$VvnPAF8WmE>`MzHk7dW5PkH&ZW{XXfnDK4Sb9M`V-t=_~urG@@+fjUN_sfX97QS1$ z2a9F}KYg!teeZ3FeO>j9)~?Nq_PpBR8pv1nMR9$l?c}$)^(6ru1>t$Cgm;9_7PKn= zYFS&j^Qe{g6vpT+uWXpk?EN?McS^^qcAB5aIj_1z=GOnG^RJ%`iGG!OUp(|n?B&4k S4SO%}r%$!}dEI{E!3Y3aHVuUU diff --git "a/src/CodeConsole83/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" "b/src/CodeConsole83/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" index 10e3c3c..040eaa0 100644 --- "a/src/CodeConsole83/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" +++ "b/src/CodeConsole83/Form/\320\244\320\276\321\200\320\274\320\260/\320\244\320\276\321\200\320\274\320\260.bsl" @@ -32,7 +32,7 @@ Параметры.Вставить("owner", "alkoleft"); Параметры.Вставить("repo", "ones_universal_tools"); - Параметры.Вставить("version", "v1.0.5"); + Параметры.Вставить("version", "v1.0.6"); Возврат Параметры; diff --git a/src/CodeConsole83/und/6e6904e6-445a-4678-957b-e39d02fce6a4.0 b/src/CodeConsole83/und/6e6904e6-445a-4678-957b-e39d02fce6a4.0 index 7c68032..9b0fdce 100644 --- a/src/CodeConsole83/und/6e6904e6-445a-4678-957b-e39d02fce6a4.0 +++ b/src/CodeConsole83/und/6e6904e6-445a-4678-957b-e39d02fce6a4.0 @@ -4560,7 +4560,7 @@ KHNXtcHDfSYl3GbhqBChevMpJAx+ImE8LSEAOw==} Параметры.Вставить(""owner"", ""alkoleft""); Параметры.Вставить(""repo"", ""ones_universal_tools""); - Параметры.Вставить(""version"", ""v1.0.5""); + Параметры.Вставить(""version"", ""v1.0.6""); Возврат Параметры; diff --git a/src/CodeConsole83/und/versions b/src/CodeConsole83/und/versions index aff36a2..1bb112e 100644 --- a/src/CodeConsole83/und/versions +++ b/src/CodeConsole83/und/versions @@ -1 +1 @@ -{1,12,"",3bcaa949-a2c2-4b25-93ff-6393a8936ae4,"2160ae20-89a5-4c06-8ef5-261700f38e89",9db962d3-303c-4d33-8062-c45e6cdc068e,"2160ae20-89a5-4c06-8ef5-261700f38e89.0",ac135d1a-02a6-429d-b472-9ebd8eb704b2,"6e6904e6-445a-4678-957b-e39d02fce6a4",8ffcabeb-5a76-477c-9793-5766cbe37313,"6e6904e6-445a-4678-957b-e39d02fce6a4.0",ebfcef9c-91e2-4ade-b6b5-1bfd183c42fa,"a3626ede-5b0a-440b-92ae-ae5ab4b70298",d133b749-62df-4c4c-b649-d8908f020b38,"a3626ede-5b0a-440b-92ae-ae5ab4b70298.0",dda4f084-0d7b-4da4-baff-cc95d3a85b76,"ac7f7896-01c1-4bcc-abb9-dedfec899bc7",3488f8bd-b266-4b36-93f1-09e7a01a9882,"copyinfo",8c6e5aa8-7e4f-4f5c-81f1-6f04c6d7a78a,"root",802bdae2-42f0-47c1-b7be-d9634b52721f,"version",9510ed31-5c69-4302-bedd-8518eb7e8f4d,"versions",646172e2-2746-4d9d-9bbc-d70bf6e76656} \ No newline at end of file +{1,12,"",f457b664-ae57-48b7-83d4-947e9789a13a,"2160ae20-89a5-4c06-8ef5-261700f38e89",9db962d3-303c-4d33-8062-c45e6cdc068e,"2160ae20-89a5-4c06-8ef5-261700f38e89.0",ac135d1a-02a6-429d-b472-9ebd8eb704b2,"6e6904e6-445a-4678-957b-e39d02fce6a4",a5334c45-84bd-455d-887a-3f41c2f08146,"6e6904e6-445a-4678-957b-e39d02fce6a4.0",20d6ad8a-2740-497e-bcc4-1b5eb7b405ff,"a3626ede-5b0a-440b-92ae-ae5ab4b70298",d133b749-62df-4c4c-b649-d8908f020b38,"a3626ede-5b0a-440b-92ae-ae5ab4b70298.0",dda4f084-0d7b-4da4-baff-cc95d3a85b76,"ac7f7896-01c1-4bcc-abb9-dedfec899bc7",3488f8bd-b266-4b36-93f1-09e7a01a9882,"copyinfo",f8a5be4a-dcb3-4593-b03e-95b318e46e4b,"root",5c5ac466-3a19-44ad-affe-d217f2df2529,"version",06d24382-e34d-4daf-bc1e-55ae25a5c176,"versions",f5c77625-58bd-41d1-992c-1a6b7a379516} \ No newline at end of file