From b74ecef7908d63fdf71a660dca9d5b10ab484f2b Mon Sep 17 00:00:00 2001 From: Dmitry Date: Thu, 21 Feb 2019 16:31:44 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=B4=D0=BB=D1=8F=20=D0=97=D0=A3=D0=9F=203.1=20?= =?UTF-8?q?=D0=B8=20=D0=B8=D0=BC=D0=BF=D0=BE=D1=80=D1=82=20=D0=A2=D0=97=20?= =?UTF-8?q?=D0=B8=D0=B7=20XML?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ИнструментыРазработчикаКонсольЗапросов.xml | 143 ++++++++++---- .../Ext/Help/ru.html | 2 +- .../Ext/ObjectModule.bsl | 186 +++++++++++++++++- .../Forms/ВыборЗапроса.xml | 2 +- .../Forms/Граница.xml | 2 +- .../Forms/МоментВремени.xml | 2 +- .../Forms/Настройки.xml | 2 +- .../Forms/ПланВыполненияЗапроса.xml | 2 +- .../Forms/ПланВыполненияЗапроса/Ext/Form.xml | 4 - .../Forms/РезультатЗапроса.xml | 2 +- .../Forms/ТаблицаЗначений.xml | 2 +- .../Forms/ТаблицаЗначений/Ext/Form.xml | 20 ++ .../Forms/ТаблицаЗначений/Ext/Form/Module.bsl | 91 +++++++++ .../Forms/ТекстЗапросаДляКонфигуратора.xml | 2 +- .../Forms/Форма.xml | 2 +- .../Forms/Форма/Ext/Form.xml | 103 ++++++---- .../Forms/Форма/Ext/Form/Module.bsl | 15 +- .../Templates/РезультатВыполненияЗапроса.xml | 2 +- 18 files changed, 493 insertions(+), 91 deletions(-) diff --git a/src/ИнструментыРазработчикаКонсольЗапросов.xml b/src/ИнструментыРазработчикаКонсольЗапросов.xml index 0578cb7..4932ade 100644 --- a/src/ИнструментыРазработчикаКонсольЗапросов.xml +++ b/src/ИнструментыРазработчикаКонсольЗапросов.xml @@ -1,14 +1,14 @@  - + c3831ec8-d8d5-4f93-8a22-f9bfae07327f - e84fb149-1243-46d4-9753-da41c3645896 + 265acc4f-9bcc-4f33-810b-ef5b8a4ca4b6 - 37cbfd0e-2ac2-4a13-b5bd-d2c34a09f819 - 246bcb39-2dd0-4a30-83ff-1788fcc1d028 + 3bdc63df-f82f-4ca8-8aa5-e352b23a1e55 + b06f9c2c-ba6f-4be5-9a4a-dd0fe839c9c4 @@ -16,7 +16,7 @@ ru - Инструменты разработчика: Консоль запросов + Консоль запросов @@ -24,7 +24,7 @@ - + ИспользоватьАвтосохранение @@ -63,7 +63,7 @@ Auto - + ПериодАвтосохранения @@ -107,7 +107,7 @@ Auto - + ПутьКФормам @@ -150,7 +150,7 @@ Auto - + ДоступныеТипыДанных @@ -190,7 +190,7 @@ Auto - + ИмяФайла @@ -233,7 +233,7 @@ Auto - + ВыводитьВРезультатахЗапросаЗначенияСсылок @@ -272,7 +272,7 @@ Auto - + ТипОбхода @@ -315,7 +315,7 @@ Auto - + ЧередованиеЦветовВРезультатеЗапроса @@ -354,15 +354,88 @@ Auto - + + + ИспользоватьПредставления + + + ru + Использовать представления + + + + + xs:boolean + + false + + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + + + + ТекИдентификаторЗапроса + + + ru + Тек идентификатор запроса + + + Идентификатор запроса + + v8:UUID + + false + + + + + ru + Уникальный идентификатор запроса + + + false + + false + false + + + DontCheck + Items + + + Auto + Auto + + + Auto + + + - 959ec53b-c077-46a2-9f06-adcf07ff03e4 - c74d2daa-7913-4c05-9d2e-809c0e675925 + 09c3a87d-3cdd-4352-9d4e-c3b1a1c0e27e + af5bff38-a3e5-474d-9a84-f87552192b34 - 94d3e271-9502-4595-84f0-17ede94e31dd - 8da63daa-5a04-49f0-989b-0fab073ac5bb + 8b23d01b-5464-47a3-90d6-42b7b8f5c9ae + f216aec7-98e1-4fbc-9d2f-4db3020ae36c @@ -406,7 +479,7 @@ - + Идентификатор @@ -447,7 +520,7 @@ Auto - + Имя @@ -492,7 +565,7 @@ Auto - + Текст @@ -537,7 +610,7 @@ Auto - + ВремяВыполнения @@ -583,7 +656,7 @@ Auto - + КоличествоСтрок @@ -629,7 +702,7 @@ Auto - + АдресРезультата @@ -674,7 +747,7 @@ Auto - + АдресРезультатовЗапроса @@ -721,15 +794,15 @@ - + - 2f579c49-8a26-48c2-a0e0-2f5c4a02c0d0 - 6f4ade39-2df2-49fa-a3f0-088f5e62f3fa + a3e64670-17ec-420a-aa3c-49d08e1f40a7 + 63967655-1aba-48c0-95e7-d5adbdc2db4e - f102f34b-3bf6-4412-ae09-1a96d4a0a894 - ebd753b3-ddf9-4ad1-9abc-1015184bfbc6 + a7a3c1b5-acd4-4fbf-b946-05c564f2eb0b + ad251f2f-7a08-423f-839a-dedf7c896a9e @@ -773,7 +846,7 @@ - + Идентификатор @@ -814,7 +887,7 @@ Auto - + ИдентификаторЗапроса @@ -855,7 +928,7 @@ Auto - + Имя @@ -900,7 +973,7 @@ Auto - + Тип @@ -945,7 +1018,7 @@ Auto - + Значение diff --git a/src/ИнструментыРазработчикаКонсольЗапросов/Ext/Help/ru.html b/src/ИнструментыРазработчикаКонсольЗапросов/Ext/Help/ru.html index 3cf9f13..a41d3f2 100644 --- a/src/ИнструментыРазработчикаКонсольЗапросов/Ext/Help/ru.html +++ b/src/ИнструментыРазработчикаКонсольЗапросов/Ext/Help/ru.html @@ -1,4 +1,4 @@ - +

Консоль запросов для управляемого приложения

Инструмент "Консоль запросов" предназначена для отладки и просмотра результатов выполнения запросов в режиме 1С:Предприятие. Данная обработка предназначена, в основном, для разработчиков конфигураций и специалистов по внедрению.

При разработке запросов в конфигураторе, как правило, требуется проводить отладку запроса на реальных данных. Данный инструмент позволяет вести разработку запроса (или пакета запросов) параллельно с просмотром результата. При работе с инструментом в толстом клиенте можно воспользоваться конструктором запросов, как и при работе в конфигураторе. Возможности по анализу результата запроса включают:

diff --git a/src/ИнструментыРазработчикаКонсольЗапросов/Ext/ObjectModule.bsl b/src/ИнструментыРазработчикаКонсольЗапросов/Ext/ObjectModule.bsl index 4d113d8..813f62d 100644 --- a/src/ИнструментыРазработчикаКонсольЗапросов/Ext/ObjectModule.bsl +++ b/src/ИнструментыРазработчикаКонсольЗапросов/Ext/ObjectModule.bsl @@ -567,11 +567,16 @@ Запрос = Новый Запрос; Запрос.Текст = ТекстЗапроса; + + SPS_ЗаполнениеОбщихНаборовДанных(Запрос, Истина, ИдентификаторЗапроса); // Заполняем параметрами таблицу параметров. ПарЗап = Запрос.НайтиПараметры(); Для каждого СтрПараметры Из ПарЗап Цикл РезультатСтруктура = ДобавлениеНовогоПараметра(СтрПараметры, ИдентификаторЗапроса); + + SPS_ЗаполнитьЗначениеПараметра_ИзЗапроса(Запрос, РезультатСтруктура); + МассивСтруктуры.Добавить(РезультатСтруктура); КонецЦикла; @@ -684,6 +689,12 @@ // Загрузка параметров. ЗагрузкаПараметровВЗапрос(Запрос, ПараметрыЗапроса); + ///SPS + SPS_ЗаполнениеОбщихНаборовДанных(Запрос); + МассивТекстов = ПостроитьМассивТекстовЗапросов(Запрос.Текст); + SPS_ЗаполнитьЗначенияПараметровИзЗапроса(Запрос, ПараметрыЗапроса); + ///SPS|| + // Проверка на правильность запросов. Попытка Начало = ТекущаяУниверсальнаяДатаВМиллисекундах(); @@ -1287,7 +1298,9 @@ // Параметры: // Значение - передаваемое значение. // -Функция ИмяТипаИзЗначения(Значение) Экспорт +Функция ИмяТипаИзЗначения(Значение) Экспорт + Возврат SPS_ИмяТипаИзЗначения(Значение); + Если ТипЗнч(Значение) = Тип("Строка") Тогда ИмяТипа = "Строка"; ИначеЕсли ТипЗнч(Значение) = Тип("Число") Тогда @@ -1990,4 +2003,175 @@ #КонецОбласти +#Область ДоработкиSPS + +Функция SPS_ИдентификаторЗапроса(ПараметрыЗапроса) + Результат = ТекИдентификаторЗапроса; + Если Не ЗначениеЗаполнено(Результат) Тогда + Результат = Новый УникальныйИдентификатор; + КонецЕсли; + + + Попытка + Результат = ПараметрыЗапроса[0].ИдентификаторЗапроса; + Исключение + ; + КонецПопытки; + + Возврат Результат; +КонецФункции + +Процедура SPS_ЗаполнитьЗначениеПараметра_ИзЗапроса(Запрос, Параметр) + Если ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(Запрос.Параметры, Параметр.Имя) Тогда + ЗначениеПараметра = Запрос.Параметры[Параметр.Имя]; + Если Тип("Массив") = ТипЗнч(ЗначениеПараметра) Тогда + // в этой консоли запросов нельзя редактировать параметры с типом массив + // и сохранять такие запросы тоже нельзя + Список = Новый СписокЗначений; + Список.ЗагрузитьЗначения(ЗначениеПараметра); + ЗначениеПараметра = Список; + Список = Неопределено; + КонецЕсли; + + Параметр.Значение = ЗначениеВСтрокуВнутр(ЗначениеПараметра); + Параметр.Тип = ТипЗнч(ЗначениеПараметра); + КонецЕсли; +КонецПроцедуры + +Процедура SPS_ЗаполнитьЗначенияПараметровИзЗапроса(Запрос, ПараметрыЗапроса) + ПарЗап = Запрос.НайтиПараметры(); + ПараметрыВЗапросе = Новый Массив; + + Для каждого СтрПараметры Из ПарЗап Цикл + РезультатСтруктура = ДобавлениеНовогоПараметра(СтрПараметры, SPS_ИдентификаторЗапроса(ПараметрыЗапроса)); + ПараметрыВЗапросе.Добавить(РезультатСтруктура); + КонецЦикла; + + Для Каждого ТекПараметр_ВЗапросе Из ПараметрыВЗапросе Цикл + УжеЕсть = Ложь; + Для Каждого ТекПараметр ИЗ ПараметрыЗапроса Цикл + Если ТекПараметр_ВЗапросе.Имя = ТекПараметр.Имя Тогда + УжеЕсть = Истина; + Прервать; + КонецЕсли; + КонецЦикла; + + Если УжеЕсть Тогда Продолжить КонецЕсли; + + ТекПараметр = ТекПараметр_ВЗапросе; + SPS_ЗаполнитьЗначениеПараметра_ИзЗапроса(Запрос, ТекПараметр); + + ПараметрыЗапроса.Добавить(ТекПараметр); + КонецЦикла; +КонецПроцедуры + +Процедура SPS_ЗаполнениеОбщихНаборовДанных(ЗапросОбъект, ЗаполнениеПараметров=Ложь, ИдентификаторЗапроса=Неопределено) + Если ИспользоватьПредставления Тогда + Попытка + Модуль_ЗарплатаКадрыОбщиеНаборыДанных = ОбщегоНазначения.ОбщийМодуль("ЗарплатаКадрыОбщиеНаборыДанных"); + Исключение + Возврат; + КонецПопытки; + + ТекстЗапроса = ЗапросОбъект.Текст; + + Если ЗаполнениеПараметров И НЕ Неопределено = ИдентификаторЗапроса Тогда + ПараметрыЗапроса = Параметры.НайтиСтроки(Новый Структура("ИдентификаторЗапроса", ИдентификаторЗапроса)); + ЗагрузкаПараметровВЗапрос(ЗапросОбъект, ПараметрыЗапроса); + КонецЕсли; + + SPS_ЗаменитьОбщийТекстЗапросаОбщиеЗапросы(ТекстЗапроса, Ложь); + Модуль_ЗарплатаКадрыОбщиеНаборыДанных.ЗаменитьЗапросыКПредставлениямВиртуальныхТаблиц(ТекстЗапроса, ЗапросОбъект); + + ЗапросОбъект.Текст = ТекстЗапроса; + КонецЕсли; +КонецПроцедуры + +Функция SPS_ВосстановитьЗначениеИзСтрокиВнутр(Знач Значение) + Результат = Значение; + Если Не Тип("Строка") = ТипЗнч(Значение) Тогда + Возврат Результат; + КонецЕсли; + + Если НЕ ( СтрНачинаетсяС(Значение, "{""") И СтрЗаканчиваетсяНа(Значение, "}") ) Тогда + Возврат Результат; + КонецЕсли; + + Попытка + Результат = ЗначениеИзСтрокиВнутр(Значение); + Исключение + ; + КонецПопытки; + + Возврат Результат; +КонецФункции + +Функция SPS_ИмяТипаИзЗначения(Знач Значение) Экспорт + Значение = SPS_ВосстановитьЗначениеИзСтрокиВнутр(Значение); + + Если ТипЗнч(Значение) = Тип("Строка") Тогда + ИмяТипа = "Строка"; + ИначеЕсли ТипЗнч(Значение) = Тип("Число") Тогда + ИмяТипа = "Число"; + ИначеЕсли ТипЗнч(Значение) = Тип("Булево") Тогда + ИмяТипа = "Булево"; + ИначеЕсли ТипЗнч(Значение) = Тип("Дата") Тогда + ИмяТипа = "Дата"; + ИначеЕсли ТипЗнч(Значение) = Тип("МоментВремени") Тогда + ИмяТипа = "МоментВремени"; + ИначеЕсли ТипЗнч(Значение) = Тип("Неопределено") Тогда + ИмяТипа = "Строка"; + ИначеЕсли ТипЗнч(Значение) = Тип("СписокЗначений") Тогда + ИмяТипа = "СписокЗначений"; + ИначеЕсли ТипЗнч(Значение) = Тип("ТаблицаЗначений") Тогда + ИмяТипа = "ТаблицаЗначений"; + ИначеЕсли ТипЗнч(Значение) = Тип("Массив") Тогда + ИмяТипа = "Массив"; + Иначе + ИмяТипа = xmlТип(ТипЗнч(Значение)).ИмяТипа; + КонецЕсли; + + Возврат ИмяТипа; +КонецФункции + +#Область Копии_ЗарплатаКадрыОбщиеНаборыДанных +Процедура SPS_ЗаменитьОбщийТекстЗапросаОбщиеЗапросы(ТекстЗапросаПриемник, ТолькоРазрешенные) + Попытка + Модуль_ЗарплатаКадрыОбщиеНаборыДанныхВнутренний = ОбщегоНазначения.ОбщийМодуль("ЗарплатаКадрыОбщиеНаборыДанныхВнутренний"); + Исключение + Возврат; + КонецПопытки; + + МассивЗапросов = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ТекстЗапросаПриемник, ";"); + СтрокаПОМЕСТИТЬ = "ПОМЕСТИТЬ ОБЩИЕЗАПРОСЫ_"; + РазделителиСлов = SPS_РазделителиСловТекстаЗапроса(); + + Для Каждого ТекстЗапроса Из МассивЗапросов Цикл + ПозицияСлова = СтрНайти(ВРег(ТекстЗапроса), СтрокаПОМЕСТИТЬ); + Если ПозицияСлова > 0 Тогда + ИмяИсточникаДанных = Прав(ТекстЗапроса, СтрДлина(ТекстЗапроса) - ПозицияСлова - СтрДлина(СтрокаПОМЕСТИТЬ) + 1); + Для НомерСимвола = 1 По СтрДлина(ИмяИсточникаДанных) Цикл + КодСимвола = КодСимвола(ИмяИсточникаДанных, НомерСимвола); + Если СтроковыеФункцииКлиентСервер.ЭтоРазделительСлов(КодСимвола, РазделителиСлов) Тогда + ИмяИсточникаДанных = Лев(ИмяИсточникаДанных, НомерСимвола - 1); + Прервать; + КонецЕсли; + КонецЦикла; + ТекстЗапросаИсточник = Модуль_ЗарплатаКадрыОбщиеНаборыДанныхВнутренний.ПолучитьТекстОбщегоЗапроса(ИмяИсточникаДанных, ТолькоРазрешенные); + ТекстЗапросаПриемник = СтрЗаменить(ТекстЗапросаПриемник, ТекстЗапроса, ТекстЗапросаИсточник); + КонецЕсли; + КонецЦикла; +КонецПроцедуры + +Функция SPS_РазделителиСловТекстаЗапроса() + + Возврат Символы.ПС + " .,; ()/+"; + +КонецФункции + +#КонецОбласти //Копии_ЗарплатаКадрыОбщиеНаборыДанных + +#КонецОбласти //ДоработкиSPS + + #КонецЕсли diff --git a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ВыборЗапроса.xml b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ВыборЗапроса.xml index 8a272fa..af1b364 100644 --- a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ВыборЗапроса.xml +++ b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ВыборЗапроса.xml @@ -1,6 +1,6 @@  -
+ ВыборЗапроса diff --git a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/Граница.xml b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/Граница.xml index dac2b5b..f944086 100644 --- a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/Граница.xml +++ b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/Граница.xml @@ -1,6 +1,6 @@  - + Граница diff --git a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/МоментВремени.xml b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/МоментВремени.xml index ca1e6e6..35f329b 100644 --- a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/МоментВремени.xml +++ b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/МоментВремени.xml @@ -1,6 +1,6 @@  - + МоментВремени diff --git a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/Настройки.xml b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/Настройки.xml index 089c3b3..26fc21b 100644 --- a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/Настройки.xml +++ b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/Настройки.xml @@ -1,6 +1,6 @@  - + Настройки diff --git a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ПланВыполненияЗапроса.xml b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ПланВыполненияЗапроса.xml index a4edd53..0328edb 100644 --- a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ПланВыполненияЗапроса.xml +++ b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ПланВыполненияЗапроса.xml @@ -1,6 +1,6 @@  - + ПланВыполненияЗапроса diff --git a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ПланВыполненияЗапроса/Ext/Form.xml b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ПланВыполненияЗапроса/Ext/Form.xml index fce6057..25d8dce 100644 --- a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ПланВыполненияЗапроса/Ext/Form.xml +++ b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ПланВыполненияЗапроса/Ext/Form.xml @@ -430,10 +430,6 @@ Анимация длительная операция - - CommonPicture.ДлительнаяОперация48 - true - AsFile diff --git a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/РезультатЗапроса.xml b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/РезультатЗапроса.xml index a8ce1b9..d845a86 100644 --- a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/РезультатЗапроса.xml +++ b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/РезультатЗапроса.xml @@ -1,6 +1,6 @@  - + РезультатЗапроса diff --git a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ТаблицаЗначений.xml b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ТаблицаЗначений.xml index ed1f539..dc47eb2 100644 --- a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ТаблицаЗначений.xml +++ b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ТаблицаЗначений.xml @@ -1,6 +1,6 @@  - + ТаблицаЗначений diff --git a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ТаблицаЗначений/Ext/Form.xml b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ТаблицаЗначений/Ext/Form.xml index ae44e02..b43ad57 100644 --- a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ТаблицаЗначений/Ext/Form.xml +++ b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ТаблицаЗначений/Ext/Form.xml @@ -70,6 +70,11 @@ + @@ -322,5 +327,20 @@ Text DontUse + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Импорт</v8:content> + </v8:item> + + + + ru + Импорт таблицы + + + sps_Импорт + \ No newline at end of file diff --git a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ТаблицаЗначений/Ext/Form/Module.bsl b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ТаблицаЗначений/Ext/Form/Module.bsl index 8d21bce..b21e452 100644 --- a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ТаблицаЗначений/Ext/Form/Module.bsl +++ b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ТаблицаЗначений/Ext/Form/Module.bsl @@ -481,6 +481,97 @@ КонецФункции +#Область sps_ИмпортXML + +&НаКлиенте +Процедура sps_Импорт(Команда) + НачатьПомещениеФайла(Новый ОписаниеОповещения("sps_Импорт_ПослеПомещенияфайла", ЭтаФорма, Новый Структура), ,,Истина); +КонецПроцедуры + +&НаКлиенте +Процедура sps_Импорт_ПослеПомещенияфайла(Результат, Адрес, ВыбранноеИмяФайла, ДопПараметры) Экспорт + Если Ложь = Результат Тогда + Возврат; + КонецЕсли; + + sps_Импорт_НаСервере(Адрес, ВыбранноеИмяФайла); +КонецПроцедуры + +&НаСервере +Процедура sps_Импорт_НаСервере(Адрес, ИмяФайла) + Файл = Новый Файл(ИмяФайла); + ФорматФайла = НРег(Файл.Расширение); + Если СтрНачинаетсяС(ФорматФайла, ".") Тогда + ФорматФайла = Прав(ФорматФайла, СтрДлина(ФорматФайла) - 1); + КонецЕсли; + + ПоддерживаемыеФорматы = СтрРазделить("xml,json", ",", Ложь); + Если Не Неопределено = ПоддерживаемыеФорматы.Найти(ФорматФайла) Тогда + Формат = ФорматФайла; + КонецЕсли; + + ДвоичныеДанные = ПолучитьИзВременногоХранилища(Адрес); + Поток = ДвоичныеДанные.ОткрытьПотокДляЧтения(); + + ТЗ = Неопределено; + Если "xml" = Формат Тогда + ЧтениеXML = Новый ЧтениеXML; + ЧтениеXML.ОткрытьПоток(Поток); + + ТЗ = СериализаторXDTO.ПрочитатьXML(ЧтениеXML, Тип("ТаблицаЗначений")); + ЧтениеXML.Закрыть(); + ИначеЕсли "json" = Формат Тогда + ЧтениеJSON = Новый ЧтениеJSON; + ЧтениеJSON.ОткрытьПоток(Поток); + + ТЗ = СериализаторXDTO.ПрочитатьJSON(ЧтениеJSON, Тип("ТаблицаЗначений")); + ЧтениеJSON.Закрыть(); + КонецЕсли; + + Поток.Закрыть(); + ДвоичныеДанные = Неопределено; + + Если НЕ Тип("ТаблицаЗначений") = ТипЗнч(ТЗ) Тогда + Возврат; + КонецЕсли; + + Для каждого Стр Из Объект.Параметры Цикл + Если Стр.Идентификатор = ИдентификаторТекущегоПараметра Тогда + Стр.Тип = "ТаблицаЗначений"; + Стр.Значение = ЗначениеВСтрокуВнутр(ТЗ); + Стр.ТипВФорме = НСтр("ru = 'Таблица значений'"); + Стр.ЗначениеВФорме = ОбъектОбработки().ФормированиеПредставленияЗначения(ТЗ); + КонецЕсли; + КонецЦикла; + + НастройкиТаблицыЗначений.Очистить(); + ТаблицаЗначенийПараметр.Очистить(); + + МассивУдаляемыхРеквизитов = Новый Массив; + РекРодителя = ПолучитьРеквизиты(ИмяРодителя); + Для каждого ТекРек Из РекРодителя Цикл + МассивУдаляемыхРеквизитов.Добавить(СтрШаблон("%1.%2", ТекРек.Путь, ТекРек.Имя)); + КонецЦикла; + ДобавляемыеРеквизиты = Новый Массив; + ИзменитьРеквизиты(ДобавляемыеРеквизиты, МассивУдаляемыхРеквизитов); + + ЭлементыКУдалению = Новый Массив; + Для Каждого Элемент Из Элементы.ТаблицаЗначенийПараметр.ПодчиненныеЭлементы Цикл + ЭлементыКУдалению.Добавить(Элемент); + КонецЦикла; + + Для Каждого Элемент Из ЭлементыКУдалению Цикл + Элементы.Удалить(Элемент); + КонецЦикла; + + ЗаполнитьТаблицыПриОткрытии(); + +КонецПроцедуры + +#КонецОбласти +//sps_ИмпортXML + + /////////////////////////////////////////////////////////////////////////// // ОПЕРАТОРЫ ОСНОВНОЙ ПРОГРАММЫ diff --git a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ТекстЗапросаДляКонфигуратора.xml b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ТекстЗапросаДляКонфигуратора.xml index 866d6d7..6de0ded 100644 --- a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ТекстЗапросаДляКонфигуратора.xml +++ b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/ТекстЗапросаДляКонфигуратора.xml @@ -1,6 +1,6 @@  -
+ ТекстЗапросаДляКонфигуратора diff --git a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/Форма.xml b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/Форма.xml index 116f85f..cb5bca8 100644 --- a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/Форма.xml +++ b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/Форма.xml @@ -1,6 +1,6 @@  - + Форма diff --git a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/Форма/Ext/Form.xml b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/Форма/Ext/Form.xml index 1743434..8e1349b 100644 --- a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/Форма/Ext/Form.xml +++ b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/Форма/Ext/Form.xml @@ -138,55 +138,77 @@ ПриЗакрытии - - - <v8:item> - <v8:lang>ru</v8:lang> - <v8:content>Группа план запроса панель</v8:content> - </v8:item> - - - - ru - Группа план запроса панель - - - Horizontal + + AlwaysHorizontal None false - + - - ПоказыватьПланВыполненияЗапроса - Right - Auto - - - - ПолучатьПланВыполненияЗапросаПриИзменении - - - - false - + <UsualGroup name="ГруппаПланЗапросаПанель" id="162"> + <Title> <v8:item> <v8:lang>ru</v8:lang> - <v8:content>Открыть</v8:content> + <v8:content>Группа план запроса панель</v8:content> </v8:item> ru - Открыть план выполнения запроса + Группа план запроса панель - true - - - - ПоказатьПланВыполненияЗапросаНажатие - - + Horizontal + None + false + + + + ПоказыватьПланВыполненияЗапроса + Right + Auto + + + + ПолучатьПланВыполненияЗапросаПриИзменении + + + + false + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Открыть</v8:content> + </v8:item> + + + + ru + Открыть план выполнения запроса + + + true + + + + ПоказатьПланВыполненияЗапросаНажатие + + + + + + 2 + 1 + true + Proportionally + + + + + Объект.ИспользоватьПредставления + Auto + + + @@ -249,7 +271,7 @@ - 1/0:ac0a61f4-db03-408b-bec0-6bc7dba2ae6a/1:5bdad865-f2c5-434b-8041-ba4aad3b6687 + 1/0:a33e515e-0219-44d8-9dcf-6daaa8583e03/1:5bdad865-f2c5-434b-8041-ba4aad3b6687 EnterOnInput true false @@ -260,7 +282,7 @@ - 1/0:ac0a61f4-db03-408b-bec0-6bc7dba2ae6a/2:5bdad865-f2c5-434b-8041-ba4aad3b6687 + 1/0:a33e515e-0219-44d8-9dcf-6daaa8583e03/2:5bdad865-f2c5-434b-8041-ba4aad3b6687 EnterOnInput true false @@ -473,6 +495,9 @@ true true + + Объект.ИспользоватьПредставления + diff --git a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/Форма/Ext/Form/Module.bsl b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/Форма/Ext/Form/Module.bsl index 20a998a..2ff09f5 100644 --- a/src/ИнструментыРазработчикаКонсольЗапросов/Forms/Форма/Ext/Form/Module.bsl +++ b/src/ИнструментыРазработчикаКонсольЗапросов/Forms/Форма/Ext/Form/Module.bsl @@ -36,6 +36,9 @@ ВключитьРежимВыбора(); + ///SPS + Объект.ТекИдентификаторЗапроса = ИдентификаторТекущегоЗапроса; + КонецПроцедуры &НаКлиенте @@ -565,7 +568,10 @@ Элемент.Идентификатор = ИдентификаторТекущегоЗапроса; Элемент.Имя = ИмяЗапросаПоУмолчанию; Результат = Новый ТабличныйДокумент; - КонецЕсли; + КонецЕсли; + + ///SPS + Объект.ТекИдентификаторЗапроса = ИдентификаторТекущегоЗапроса; ОбновитьФормуКлиент(); КонецПроцедуры @@ -613,6 +619,9 @@ // Изменение значения ИдентификатораТекущегоЗапроса. ИдентификаторТекущегоЗапроса = ИдентификаторНовогоЗапроса; + ///SPS + Объект.ТекИдентификаторЗапроса = ИдентификаторТекущегоЗапроса; + // Обновление формы. ОбновитьФормуКлиент(); @@ -720,6 +729,9 @@ Объект.Запросы.Загрузить(ПолученныеЗапросы); Объект.Параметры.Загрузить(ПолученныеПараметры); + ///SPS + Объект.ТекИдентификаторЗапроса = ИдентификаторТекущегоЗапроса; + ВывестиРезультатЗапроса(); КонецФункции @@ -1078,6 +1090,7 @@ ОтчетПоВыполнениюЗапроса.Вставить("ТекстСообщения", ТекстСообщения); Результат = ОбъектОбработки().ВыполнитьЗапрос(Текст, МассивПараметров, ТабличныйДокументРезультата, ПараметрыВыводаЗапроса, ОтчетПоВыполнениюЗапроса, МеткаЗапроса); + ///SPS маркер для отладки Если ЗначениеЗаполнено(ОтчетПоВыполнениюЗапроса.ТекстСообщения) Тогда ПоказатьСообщениеПользователю(ОтчетПоВыполнениюЗапроса.ТекстСообщения); diff --git a/src/ИнструментыРазработчикаКонсольЗапросов/Templates/РезультатВыполненияЗапроса.xml b/src/ИнструментыРазработчикаКонсольЗапросов/Templates/РезультатВыполненияЗапроса.xml index 7f769c9..dbd7dc9 100644 --- a/src/ИнструментыРазработчикаКонсольЗапросов/Templates/РезультатВыполненияЗапроса.xml +++ b/src/ИнструментыРазработчикаКонсольЗапросов/Templates/РезультатВыполненияЗапроса.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.7"> - <Template uuid="95d843f8-db40-4ff1-b848-1bfa16e5bdfd"> + <Template uuid="5e741b1f-781b-4b7c-afe7-b50b80b90c50"> <Properties> <Name>РезультатВыполненияЗапроса</Name> <Synonym>