0. akor77 782 11.03.15 21:09 Сейчас в теме

Консоль запросов для УФ универсальная 8.3.5.1

Реализован программный вызов консоли для захвата "рваного" запроса и параметров.
В консоли реализована полная поддержка работы с таблицами значений.
Выборочный просмотр пакетов и временных таблиц.
Возможность выборочной выгрузки пакета запроса в ТЗ, с последующим её редактированием, сохранением на диск.
Использование сохранённой ТЗ в качестве параметра для других запросов.
Возможность обхода ТЗ в цикле с выполнением кода.
Отсутствуют ошибки при наличии уничтожения временных таблиц.
Замер времени выполнения каждого пакета запроса.
Приличное окно настройки типа (только для параметров запроса), лёгкое преобразование в список значений и обратно.
Поддержка дополнительных типов: ТЗ, Граница, Момент времени, Вид счёта, Вид движения и т.д.
Форматирование типа значения при выводе запроса (NULL, пустая ссылка, пустая строка и т.п.).
Наверное, самый лучший подбор ширины колонок.
Возможность добавлять листы для вывода результатов запросов.
Генерируется текст для конфигуратора с учётом количества результирующих пакетов, для каждого пакета можно настроить выборку или выгрузку и пересоздать текст....

Короче, лучше один раз увидеть ...

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. jobkostya1c8 12.03.15 06:40 Сейчас в теме
Маленький вопрос по первоисточникам, наработками этой консоли. Что взято за основу? Я всегда честно указываю источники. Даже уже не с целью авторства, а с целью функционала - какой она наследует функционал, а, главное, глюки?
Консолей то миллион. Мне даже для себя эти приходится дорабатывать. Особенно чтоб поля <NULL> и <Неопределено>, <ПустаяХарактеристика> и прочее в той же опере где лучше 1 раз увидеть.
synelf; ra1ich; +2 Ответить
2. akor77 782 12.03.15 07:19 Сейчас в теме
(1) kostyaomsk, за основу взята моя прежняя разработка: http://infostart.ru/public/175229/

Заимствования со стороны:
1. Раскраску кода заимствовал из одной консоли, она раскрашивала строки таблицы значений при выводе сроки.
2. Идею обхода выгруженной табличной части в цикле подсказал коллега.
synelf; shalimski; +2 Ответить
287. timeforlive 9 08.10.17 03:52 Сейчас в теме
При сохранении запроса пишет ошибку:

{(2)}: Ошибка при вызове метода контекста (ПолучитьФайлы)
ПолучитьФайлы(МассивОписаний, , , Ложь);
по причине:
Неправильный путь к файлу '# FR\# Задача\1С - сервер/e1cib/tempstorage/148db
3. akor77 782 12.03.15 07:29 Сейчас в теме
(1) kostyaomsk, Про глюки. Данная консоль унаследовала лишь часть функционала от "предшественницы". Консоль писалась заново с использовоанием части раннее созданных форм, алгоритмов. так называемое "ядро" переписано заново с учётом накопленного опыта прежних ошибок. Воя я уже сам нашёл недочёт - не все типы значений в ФормаВыбораТипа. В обработчик "ПриСозданииНаСервере" надо добавить строки:
ВывестиКоллекцию(Дерево, "ПланыСчетов" , "ПланСчетов");
ВывестиКоллекцию(Дерево, "ПланыВидовРасчета" , "ПланВидовРасчета");
ВывестиКоллекцию(Дерево, "БизнесПроцессы" , "БизнесПроцесс");
ВывестиКоллекцию(Дерево, "Задачи" , "Задача");
synelf; jobkostya1c8; +2 Ответить
7. h00k 36 12.03.15 16:31 Сейчас в теме
(3)
Не помню когда последний раз запускал толстый клиент УФ, поэтому изменил код процедур открытия конструктора запросов под тонкий клиент:
&НаКлиенте
Процедура КонструкторЗапроса(Команда)
	
	ТекущиеДанные = Элементы.ДеревоЗапросов.ТекущиеДанные;
	
	Если ТекущиеДанные = Неопределено Тогда
	
		Предупреждение("Выберите строку дерева запросов!");
		Возврат;
	КонецЕсли;

	ТекДанныеДерева = Элементы.ДеревоЗапросов.ТекущиеДанные;
	Если ТекДанныеДерева = Неопределено Тогда
		
		Предупреждение("Не выбрана строка в дереве запросов!");
		Возврат;
	КонецЕсли;
	Текст = СокрЛП(ТекДанныеДерева.Текст);
	
	Попытка
		
		КонструкторЗапроса = Новый КонструкторЗапроса(Текст);		
		КонструкторЗапроса.Показать(Новый ОписаниеОповещения("ПослеРедактированияЗапроса", ЭтотОбъект, ТекДанныеДерева));
		
	Исключение
		ОписаниеОшибки = ОписаниеОшибки();
		Сообщить(ОписаниеОшибки());
		Предупреждение(ОписаниеОшибки());
	КонецПопытки;

КонецПроцедуры

&НаКлиенте
Процедура ПослеРедактированияЗапроса(Текст, ЭлементДерева) Экспорт
		Если Не ПустаяСтрока(Текст) Тогда
			ЭлементДерева.Текст = Текст;
			ПроверитьТекстЗапроса_ПолучитьПараметры_ОбновитьДанные();
		Иначе
			Модифицированность = Ложь;
		КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура РедактироватьВыделенныйПакет(Команда)
	
	Текст = Элементы.ДеревоЗапросовТекст.ВыделенныйТекст;
	Если ПустаяСтрока(Текст) Тогда
	
		Предупреждение("Не выделен пакет запроса для редактирования!");
		Возврат;	
	КонецЕсли;
	
	Попытка
		
		КонструкторЗапроса = Новый КонструкторЗапроса(Текст);
		КонструкторЗапроса.Показать(Новый ОписаниеОповещения("ПослеРедактированияПакета", ЭтотОбъект, Текст));
	Исключение
		ОписаниеОшибки = ОписаниеОшибки();
		Сообщить(ОписаниеОшибки());
		Предупреждение(ОписаниеОшибки());
	КонецПопытки;
	
КонецПроцедуры

&НаКлиенте
Процедура ПослеРедактированияПакета(Текст, СтарыйТекст) Экспорт
		Если НЕ ПустаяСтрока(Текст) Тогда
			Элементы.ДеревоЗапросов.ТекущиеДанные.Текст = СтрЗаменить(Элементы.ДеревоЗапросов.ТекущиеДанные.Текст, СтарыйТекст, Текст);
			ПроверитьТекстЗапроса_ПолучитьПараметры_ОбновитьДанные();
		Иначе
			Модифицированность = Ложь;
		КонецЕсли;
КонецПроцедуры
Показать


соответственно код работает в 8.3.5 и выше.
По хорошему обрабатывать открытие конструктора нужно в зависимости от версии платформы, но у меня платформ ниже 8.3.5 нет, поэтому проверку не стал добавлять.

Полезную процедуру ПроверитьТекстЗапроса_ПолучитьПараметры_ОбновитьДанные стоит добавить в качестве кнопки по умолчанию.
&НаКлиенте
Процедура ПроверитьЗапрос(Команда)
	ПроверитьТекстЗапроса_ПолучитьПараметры_ОбновитьДанные();
КонецПроцедуры

Тогда процесс написания/ корректировки запроса руками становится гораздо комфортнее.
synelf; KAV2; rpgshnik; creatermc; akor77; jobkostya1c8; HitGroove; +7 Ответить
11. akor77 782 12.03.15 20:00 Сейчас в теме
(7) h00k, Обязательно учту пожелания. А тобой предложенный код используется в конфигурациях где нет поддержки модальных окон в Такси. В тонком клиенте на 8.2 он не будет работать.
15. h00k 36 13.03.15 00:39 Сейчас в теме
(11)akor77, Вот этот вариант работает и в 8.2.19 и в 8.3.6
&НаКлиенте
Процедура КонструкторЗапроса(Команда)
	
	#Если НЕ ТолстыйКлиентУправляемоеПриложение Тогда
	Если ВерсияПлатформыНиже835() Тогда
		Сообщить("Внимание! Данная версия клиента платформы 1С: Предприятие 
		| не поддерживает запуск конструктора запросов.");
		Возврат;
	КонецЕсли;
	#КонецЕсли

	ТекущиеДанные = Элементы.ДеревоЗапросов.ТекущиеДанные;
	Если ТекущиеДанные = Неопределено Тогда
	
		Предупреждение("Выберите строку дерева запросов!");
		Возврат;
	КонецЕсли;

	Текст = СокрЛП(ТекущиеДанные.Текст);
	
	КодПрограммы = "
	|КонструкторЗапроса = Новый КонструкторЗапроса;
	|Если Не ПустаяСтрока(Текст) Тогда
	|		КонструкторЗапроса.Текст = Текст;
	|КонецЕсли;
	|";
		
	#Если ТолстыйКлиентУправляемоеПриложение Тогда
	Попытка
		
		КодПрограммы = КодПрограммы+ "
		|КонструкторЗапроса.АвтоДобавлениеПредставлений = ТекущиеДанные.АвтоДобавлениеПредставлений;
		|КонструкторЗапроса.РежимКомпоновкиДанных		= ТекущиеДанные.РежимКомпоновкиДанных;
		|
		|Если КонструкторЗапроса.ОткрытьМодально() Тогда
		|	ТекущиеДанные.Текст = КонструкторЗапроса.Текст;
		|	ПроверитьТекстЗапроса_ПолучитьПараметры_ОбновитьДанные();
		|КонецЕсли;
		|";
		Выполнить(КодПрограммы);
	Исключение
		ОписаниеОшибки = ОписаниеОшибки();
		Сообщить(ОписаниеОшибки());
		Предупреждение(ОписаниеОшибки());
	КонецПопытки;
	
	#Иначе
		
	Попытка
		
		КодПрограммы = КодПрограммы+ "
		|КонструкторЗапроса.Показать(Новый ОписаниеОповещения(""ПослеРедактированияЗапроса"", ЭтотОбъект, ТекДанныеДерева));
		|";
		Выполнить(КодПрограммы);
	Исключение
		ОписаниеОшибки = ОписаниеОшибки();
		Сообщить(ОписаниеОшибки());
		Предупреждение(ОписаниеОшибки());
	КонецПопытки;
	#КонецЕсли

КонецПроцедуры


&НаКлиенте
Процедура ПослеРедактированияЗапроса(Текст, ЭлементДерева) Экспорт
		Если Не ПустаяСтрока(Текст) Тогда
			ЭлементДерева.Текст = Текст;
			ПроверитьТекстЗапроса_ПолучитьПараметры_ОбновитьДанные();
		Иначе
			Модифицированность = Ложь;
		КонецЕсли;
КонецПроцедуры


&НаСервереБезКонтекста
Функция ВерсияПлатформыНиже835()
	
	лРезультат = СравнениеСТекущейВерсией("8.3.5.1068");
	
	Возврат ?(лРезультат = -1, Истина, Ложь);	
КонецФункции // ВерсияПлатформыНиже835()

	

&НаКлиенте
Процедура РедактироватьВыделенныйПакет(Команда)
	
	#Если НЕ ТолстыйКлиентУправляемоеПриложение Тогда
	Если ВерсияПлатформыНиже835() Тогда
		Сообщить("Внимание! Данная версия клиента платформы 1С: Предприятие 
		| не поддерживает запуск конструктора запросов.");
		Возврат;
	КонецЕсли;
	#КонецЕсли

	Текст = Элементы.ДеревоЗапросовТекст.ВыделенныйТекст;
	Если ПустаяСтрока(Текст) Тогда
	
		Предупреждение("Не выделен пакет запроса для редактирования!");
		Возврат;	
	КонецЕсли;
	КодПрограммы = "
	|КонструкторЗапроса = Новый КонструкторЗапроса(Текст);
	|";
	
	#Если ТолстыйКлиентУправляемоеПриложение Тогда
	Попытка
		КодПрограммы = КодПрограммы+ "
		|КонструкторЗапроса.АвтоДобавлениеПредставлений = Ложь;
		|КонструкторЗапроса.РежимКомпоновкиДанных = Ложь;

		|Если КонструкторЗапроса.ОткрытьМодально() Тогда
		|	Текст = КонструкторЗапроса.Текст;
		|	Элементы.ДеревоЗапросовТекст.ВыделенныйТекст = Текст;
		|КонецЕсли;
		|";
		
		Выполнить(КодПрограммы);	
	Исключение
		ОписаниеОшибки = ОписаниеОшибки();
		Сообщить(ОписаниеОшибки());
		Предупреждение(ОписаниеОшибки());
	КонецПопытки;
	
	#Иначе
		
	Попытка
		
		КодПрограммы = КодПрограммы+ "
		|КонструкторЗапроса.Показать(Новый ОписаниеОповещения(""ПослеРедактированияПакета"", ЭтотОбъект, Текст));
		|";
		Выполнить(КодПрограммы);
	Исключение
		ОписаниеОшибки = ОписаниеОшибки();
		Сообщить(ОписаниеОшибки());
		Предупреждение(ОписаниеОшибки());
	КонецПопытки;
	#КонецЕсли
	
КонецПроцедуры

&НаКлиенте
Процедура ПослеРедактированияПакета(Текст, СтарыйТекст) Экспорт
		Если НЕ ПустаяСтрока(Текст) Тогда
			Элементы.ДеревоЗапросов.ТекущиеДанные.Текст = СтрЗаменить(Элементы.ДеревоЗапросов.ТекущиеДанные.Текст, СтарыйТекст, Текст);
			ПроверитьТекстЗапроса_ПолучитьПараметры_ОбновитьДанные();
		Иначе
			Модифицированность = Ложь;
		КонецЕсли;
КонецПроцедуры
Показать

Конструктор запросов работает и в толстом клиенте, и, если версия платформы 8.3.5 или выше, то и в тонком и в веб-клиентах.
В общем, если заменить код соответствующих процедур, то получится вполне себе универсальная консоль.

П.С.: В функции СравнениеСТекущейВерсией(ВерсияДляСравнения)
строка
ВерсияДляСравнения = "8.3.5.823";
лишняя, она нивелирует передаваемый параметр.
9. h00k 36 12.03.15 17:36 Сейчас в теме
(3)akor77 Из того чего явно не хватает в этой консоли - получение плана запроса, ну и возможно вывода GUID для ссылочных данных.
77. dj_serega 358 24.03.15 19:15 Сейчас в теме
Получилось повторить очистки текста запроса. Насколько я понял, нужно где-то хранить текст запроса при скрытой левой панели.
Последовательность действий на скринах (скрины пересортировались, поэтому смотреть на названия).

А к этой ошибке я так понял руки не дошли ;)
{(3)}: Метод объекта не обнаружен (Показать)
ДиалогОткрытияФайла.Показать(Оповещение);
Прикрепленные файлы:
78. akor77 782 24.03.15 19:23 Сейчас в теме
(77) dj_serega, про очистку текста запроса я понял, у меня эта ошибка тоже выходит. На днях буду искать причину. А вот это
{(3)}: Метод объекта не обнаружен (Показать)
ДиалогОткрытияФайла.Показать(Оповещение);
не могу воспроизвести. Что там с настройкой модальности и синхронности вызовов. для меня это пока ещё тёмный лес, надо разбираться. У меня всё работает.
79. dj_serega 358 24.03.15 21:51 Сейчас в теме
(78) будет время подсоблю :) ошибку с диалогом проанализирую, поправлю и отпишусь.
80. akor77 782 25.03.15 03:53 Сейчас в теме
(79) dj_serega, Я кажется уже догадался. Надо смотреть не на версию платформы (8.2 или 8.3), а на то - есть модальность или нет. В 8.2 всегда модальность, а в 8.3 зависит от соответствующей настройки. на неделе поправлю.
82. dj_serega 358 25.03.15 14:20 Сейчас в теме
(80) Вот в этой статье нашел следующий текст:
Следует обратить внимание, что объект ДиалогВыбораФайла не имеет метода Показать() в отличие от диалогов выбора цвета или шрифта, поскольку реализация этих диалогов существенно разная.
.
У нас еще используется модальность. Поэтому не вижу метода: "ДиалогОткрытияФайла.Показать()".
В 8.3 без модальности СП дал эти методы:
Выбрать (Choose)
Показать (Show)


Пожелалка:
1. Сделай, пожалуйста, переход к тексту пакета с таблицы "Временные таблицы". Аналогично как с результирующего табличного документа.
В принципе будет достаточно перейти на текст "поместить ..."
90. akor77 782 25.03.15 19:26 Сейчас в теме
(82) dj_serega,
Следует обратить внимание, что объект ДиалогВыбораФайла не имеет метода Показать() в отличие от диалогов выбора цвета или шрифта, поскольку реализация этих диалогов существенно разная.
Похоже всё дело в старом релизе платформы, обнови платформу. У меня 8.3.5.1482, полёт нормальный, скорее всего предыдущая версия не поддерживает Показать() .
93. dj_serega 358 26.03.15 11:39 Сейчас в теме
(90)
Похоже всё дело в старом релизе платформы, обнови платформу. У меня 8.3.5.1482, полёт нормальный, скорее всего предыдущая версия не поддерживает Показать() .
.
Походу так и есть Дело в релизах.
Рабочая база 8.3.5.1248. Просто взять и обновить не получится.
Посмотрим что там будет в 8.3.6. (кстати опять перенесли дату релиза).
4. molodoi1sneg 15 12.03.15 07:40 Сейчас в теме
5. alex_4x 77 12.03.15 10:15 Сейчас в теме
Радует подробная инструкция. Прям красотищща :-)
Gang031; kadild; 3762515; Oleg_nsk; fzt; JesteR; Quasar; veretennikoff; dj_serega; klaus38; TrinitronOTV; tormozit; h00k; spetzpozh; +14 Ответить
6. Vadim75 19 12.03.15 16:13 Сейчас в теме
Спасибо за консоль! Плюс однозначно.
8. HitGroove 43 12.03.15 17:00 Сейчас в теме
10. dj_serega 358 12.03.15 19:01 Сейчас в теме
Не смог Не скачать. Очень удобно (с виду).
Надеюсь запросник 8.3 уйдет в прошлое :)

Поспешил. Не работает в тонком клиенте :( Допиливать себе или ждать релиза 2.0?
12. akor77 782 12.03.15 20:07 Сейчас в теме
(10) dj_serega,
В тонком клиенте конструктор запроса работает только на платформе с версии 8.3.5 и выше.

В толстом клиенте конструктор запроса работает, но не работает в конфигурациях с интерфейсом - Такси где нет поддержки модальных окон.

Для Такси (без поддержки модальных окон) буду делать отдельную версию.
но она не будет работать в 8.2 ни в толстом ни в тонком клиентах.

13. dj_serega 358 12.03.15 22:17 Сейчас в теме
(12)
В тонком клиенте конструктор запроса работает только на платформе с версии 8.3.5 и выше.

У меня: 8.3.5. Тонкий клиент. Такси. Модальность - Использовать.

В толстом клиенте конструктор запроса работает, но не работает в конфигурациях с интерфейсом - Такси где нет поддержки модальных окон.

Так вот и предлагаю реализовать конструктор для тонкого. Там же пара строчек кода ;)

Для Такси (без поддержки модальных окон) буду делать отдельную версию.
но она не будет работать в 8.2 ни в толстом ни в тонком клиентах.

8.3 не только под такси может работать. У нас половина пользователей на обычных управляемых, другая половина на такси.
17. h00k 36 13.03.15 01:34 Сейчас в теме
(12)akor77
Для Такси (без поддержки модальных окон) буду делать отдельную версию.

Кстати, я понимаю там конструктор запросов, а для остальных то окон зачем было делать модальный вызов? Обычная команда
ОткрытьФорму
вполне себе неплохо работает.
14. h00k 36 13.03.15 00:16 Сейчас в теме
(10)dj_serega
Поспешил. Не работает в тонком клиенте

Для 8.3.5 решение в сообщении (7), чуть ниже добавлю универсальное решение.

(11)akor77
В тонком клиенте на 8.2 он не будет работать.

Знаю, в свое время делал пример консоли на управляемых формах, в которой можно было запускать конструктор запросов.

(12)akor77
Для Такси (без поддержки модальных окон) буду делать отдельную версию.
но она не будет работать в 8.2 ни в толстом ни в тонком клиентах.

Зачем?! Лучше сделать одну универсальную, чем 10 под разные платформы...
16. dj_serega 358 13.03.15 00:56 Сейчас в теме
(14) h00k,
Для 8.3.5 решение в сообщении (7), чуть ниже добавлю универсальное решение.
Так я ж говорю: для себя писать или ждать релиза :)
18. h00k 36 13.03.15 02:04 Сейчас в теме
(16) dj_serega, можно и не писать. Мою переделку из (15) скопипасть и будет то что нужно.
Правда еще стоит пройтись по модулям и заменить ОткрытьФормуМодально на ОткрытьФорму ну и настроить контекстное меню в табличных полях, но это уже дело вкуса.
19. akor77 782 13.03.15 04:11 Сейчас в теме
(18) h00k, Ок, на выходных сделаю.
20. akor77 782 14.03.15 15:52 Сейчас в теме
Файл для скачивания обновлён.
21. dj_serega 358 15.03.15 18:25 Сейчас в теме
(20) Спасибо! Теперь попробуем применить на практике.
22. akor77 782 15.03.15 18:37 Сейчас в теме
(21) dj_serega, Это хорошо! Жду результатов теста. Одну ошибку в версии 2.0 я уже нашёл. Но она мелкая и её легко устранить. Жду отзывов. К стати. Я уже сделал первый вариант для вызова консоли из файла на диске при отладке и собирать данные о "рваных" запросах, которве в БП и ЗУПе на УФ. На неделе буду тестировать. Надеюсь, что к выходным будет новая версия.
25. dj_serega 358 17.03.15 17:49 Сейчас в теме
(22)
1. Сделать вопрос перед закрытием консольки (естественно учитывая модальность).

2. Опционально выводить или не выводить результат вычисления временных таблиц:
Сейчас в результате:
втСвернуто (0,019 мс.)
втПолный (0,151 мс.)
Результат1 (0,004 мс.)

Предлагаю так изменить ТЧ ВременыеТаблицы:
Пакет, Показать, Выгрузить, ОтобразитьВремяВыполнения, ОтобразитьКоличествоСтрок.

3. Добавить кнопки на форму для:
а) Управление видимостью левой панели (Дерево запросов, Параметры, Временные таблицы)
б) Управление видимостью Текста запроса
в) Управление видимостью результатов

4. Как-то не логичное наличие кнопок "скопировать в буфер" и "вставить из буфера" если после нажатия пишет "на сервере не доступно". Может как-то можно управлять их видимостью?

5. Не сохраняет и не загружает запросы :(
{Форма.Форма.Форма(1334)}: Ошибка при вызове метода контекста (НайтиПоИдентификатору)
ТекущаяСтрока = ДеревоЗапросов.НайтиПоИдентификатору(Элементы.ДеревоЗапросов.ТекущаяСтрока);
по причине:
Несоответствие типов (параметр номер '1')

Я бы проверку так написал:
	ТекущаяСтрокаДереваЗапросов = Элементы.ДеревоЗапросов.ТекущаяСтрока;
	Если ТекущаяСтрокаДереваЗапросов = Неопределено Тогда
		Возврат;
	КонецЕсли;
	
	ТекущаяСтрока = ДеревоЗапросов.НайтиПоИдентификатору(ТекущаяСтрокаДереваЗапросов);

Может еще где встречается не смотрел. Но лучше "понатыкивать" таких проверок везде :)

6. Кнопочка "Добавить" страницу результата есть, а удалить нет :|


Пока всё :)

upd: А так консолько порадовало. Спасибо огромное. Буду писать тут о найденных "фичах" и пожелалках.
26. akor77 782 17.03.15 19:12 Сейчас в теме
(25) dj_serega, Отлично, спасибо огромное. Буду править. У меня ещё появилась парочка новых идей. Так что интересное ещё впереди!
29. dj_serega 358 18.03.15 12:06 Сейчас в теме
(26) 1. Нет возможности работать с временными таблицами. Пример можно взять с "Запросник 1.0 (оф) и 2.0 (на уф)".
38. akor77 782 18.03.15 17:14 Сейчас в теме
(29) dj_serega, Не могу понять что именно требуется? Это про "Нет возможности работать с временными таблицами"
42. dj_serega 358 18.03.15 19:36 Сейчас в теме
(38) Запрос первой строки дерева: "Выбрать Поле1 Поместить втПервыйЗапрос Из Справочник.ТМЦ КАК ТМЦ".
Добавляем подчиненную строку.
В ней пишем: "Выбрать * из втПервыйЗапрос КАК втПервыйЗапрос ГДЕ Поле1 = &Параметр1".
В результате должна получиться таблица из родителя строки но с условием.
Сейчас подчиненная строка не видит временные таблицы родителя. Ну или я не так выполнил запрос.
Если нужно могу со скринами объяснить.

(40) И про дерево не забыть ;)

(41)
там мышкой наведи на правую границу ячейки,

Да. Но если колонок 10 то нужно на каждую так делать. В принципе это не горит, и сильно не мешает. Предлагаю добавить в самый конец списка доработок ;)

Пожелалки/фичи:
1. Результат не выгружается в виде дерева
2. Нужно изменить логику проверки корректности текста запроса. Нужно проверять не всегда, а только по кнопке. Я очень часто редактирую текст запроса в ручную. Обычно выполняется лишняя проверка при ctrl+v. Также при удалении части текста запроса.
3. Не забыть решить проблемку сохранением дерева запросов и их параметров.
4. После нажатия "Вывод текста запроса" получаю ошибку: "Задано неправильное имя атрибута стркутуры".
43. akor77 782 18.03.15 20:04 Сейчас в теме
(42) dj_serega, На счёт "Сейчас подчиненная строка не видит временные таблицы родителя." - это будет реализовано в следующей сборке. Я это назвал "рваный запрос", может это как-то по другому называется, то подскажите.
Сегодня мне удалось протестировать консоль в режиме функции, т.е. вызов консоли из модуля объекта. В задании было необходимо посмотреть как формируются проводки в БП 3.0. Тест прошёл успешно. Там консоль собирает "рваные запросы" как сучки на одну ветку. И при выполнении ветки (рекурсивный обход) запросов будет один МВТ на всех.
База была на сервере SQL. Путь к обработке прописывал серверный. В общем, всё сработало. Сегодня ещё подправил критические ошибки. Завтра, если успею, опишу и выложу. С перепроверкой согласен - перемудрил, надо сделать её только на горячих клавишах. Исправлю.
46. dj_serega 358 19.03.15 18:09 Сейчас в теме
(43)
Сегодня ещё подправил критические ошибки. Завтра, если успею, опишу и выложу.
Не сильно спешите :) Главное что бы стабильные релизы доработок/исправлений ;) Я к тому что в спешке можно где-то что-то упустить.


Крит при удалении последней строки дерева запросов.

МодульФормы.УдалитьПараметрыЗапроса(ИДСтроки).
В коде:
СтрДЗ.Родитель.Строки.Удалить(СтрДЗ);

СтрДЗ.Родитель = Неопределено
36. akor77 782 18.03.15 17:04 Сейчас в теме
(25) dj_serega, Принял к сведению. Буду делать.
27. Hitcher 86 18.03.15 09:20 Сейчас в теме
(20)
А можно навести порядок в версиях? Чтобы не просто слова "Файл для скачивания обновлён. ", а какая теперь стала версия.
Желательно с описанием.
И чтобы скачивающий видел не просто надпись "Консоль запросов для УФ 8.2, 8.3" а какая это версия. И мог сравнить со своей версией. И принять решение.

Описания версий можно взять из системы стандартов 1с

Нумерация редакций и версий

1. Номер очередной редакции конфигурации, начинается со следующего целого номера относительно предыдущей редакции. Для обозначения редакции обычно номер редакции объединяют через точку с номером подредакции, например: редакция 1.5, редакция 1.6 и т. д. Для новых конфигураций нумерация начинается с 1.0.

2. Все версии одной подредакции (включая альфа, ознакомительные, бета и финальные версии) нумеруются подряд. Нумерация версий начинается с 1.

3. Информация о номере редакции, номере подредакции и номере версии объединяются в полный номер версии конфигурации. Он указывается в свойстве Версия конфигурации и представляет собой строку символов следующего вида:

{Р|РР}.{П|ПП}.{З|ЗЗ}.{С|СС}

где:
Р - номер редакции (минимум 1 цифра, может занимать и больше разрядов);
П - номер подредакции (минимум 1 цифра, может занимать и больше разрядов);
З - номер версии (минимум 1 цифра, может занимать и больше разрядов);
С - номер сборки (минимум 1 цифра, может занимать и больше разрядов).

Пример:

1.6.4.7 – 7-я сборка, 4-ой версии, редакции 1.6



dj_serega; +1 Ответить
37. akor77 782 18.03.15 17:12 Сейчас в теме
(27) Hitcher, Понял, буду указывать версию в названии. Для консоли может будет вполне достаточно номера версии и сборки? Никак не могу представить необходимость редакции и подредакции. Если делать 8.3.Х.Х, то не отражается 8.2, если сделать 8.2-8.3.Х.Х - это коряво всмотрится. Хотя, 8.3.Х.Х мне начинает нравиться.
Тогда сейчас выложена версия 8.3.2.0
Все согласны с такой нумерацией версий?
23. pt_olga 61 16.03.15 12:41 Сейчас в теме
скачала, вещь полезная
только не разобралась пока, как результирующюю таблицу сохранить в эксель

подскажете?
24. akor77 782 16.03.15 16:46 Сейчас в теме
(23) pt_olga, Пока только "копи-пастом". В следующем релизе "прикручу" кнопку.
28. petrov_al 10 18.03.15 10:41 Сейчас в теме
Все хорошо, но боюсь не буду использовать и половины всех возможностей или очень редко...
30. asved.ru 36 18.03.15 12:16 Сейчас в теме
Выглядит замечательно. Шикарно, если запрос будет выполняться по F5.
35. dj_serega 358 18.03.15 14:45 Сейчас в теме
(30) asved.ru,
Шикарно, если запрос будет выполняться по F5.

Я бы повесил на ctrl+enter. Мне, например, это удобней ;) Я привык документы проводить по этому типовому сочетанию. Так же записывать справочники и тд.
(33) scape, Я это у себя поправил (25), надеюсь разработчик внесет в релиз.

Следующие пожелалки:
1. В результирующем табличном поле выравнивать не только по значению, но и иметь возможность выравнивать по заголовку. Бывает что в колонке нет данных, и не видно как называется колонка. Приходится наводить мышкой на колонку. А если таких много, то неудобно.
2. А можно в параметрах флаг "Список значений" вынести на форму списка параметров (и сделать там кнопку "СписокЗначений". Где Кнопка.Пометка = Истина если СЗ или ложь если это ссылка). Сейчас приходится входить в изменение типа, ставить флаг, закрывать форму.
3. Некорректно отображается ошибка в запросе.
Проверка пишет одно. А вход в конструктор запроса другое.
4. Все модальные окна открывать с блокированием владельца (тоесть консольки). Сейчас выполняется блокировка всего интерфейса.
Прикрепленные файлы:
41. akor77 782 18.03.15 17:25 Сейчас в теме
(35) dj_serega, Идея про "список значений" мне тоже понравилась.
А про ширину колонок, это всё по разному. Бывает булево с широченным названием колонки.
Но буду иметь в виду.
А для изменения ширины колонки нажми кнопку которая следующая за "Выполнить запрос" (зелёного карандаша) , там мышкой наведи на правую границу ячейки, курсор изменится и в этот момент кликни 2 раза. Ширина автоматом выравняется по самому широкому значению колонки.
39. akor77 782 18.03.15 17:16 Сейчас в теме
(30) asved.ru, Горячие клавиши надо обсудить вместе.
F5 - выполнение запроса
Ctrl + Enter - проверка на ошибки
Пойдёт?
44. asved.ru 36 19.03.15 05:11 Сейчас в теме
(39) проверку мне было бы удобнее по Ctrl+F5, как в SSMS (кстати, F5 на выполнить запрос - это оттуда же), но лично я этой функцией пользуюсь крайне редко.
31. aves 190 18.03.15 12:18 Сейчас в теме
Не сохраняются тексты обработки модулей для выгруженных таблиц. Очень надо.
Хотя сами таблицы сохраняются. Не уверен зачем, но иногда пригодиться может. Тут хотелось бы опцию - чтобы не перегружать сохраняемый файл.

Объясню зачем:
Часто консоль используется не только для получения какого либо результата, но и как достаточно универсальный инструмент обработки данных, где сначала выбирается результат (например ошибки в базе), а затем идет обработка на его исправление.
У меня в консоли для обычных форм есть дерево порядка с 20-30 запросами и обработками для них. Писать для каждого случая внешние обработки было бы неудобно, да и текст запроса там был бы не виден (т.е. управляемость ущербная).

И раз такие пожелания, добавьте новую кнопку рядом со сформировать (Выгрузить результат в ТЗ). для действий аналогичному установке галке в последней строке и открытии таблицы результата. В 99% случаев именно это требуется для обработок БД.
40. akor77 782 18.03.15 17:18 Сейчас в теме
(31) aves, Отличные пожелания! Мне очень нравятся предложенные идеи. Функционал становится богаче. Сделаю.
32. poyson 18.03.15 13:34 Сейчас в теме
пасибо. подробно. попробуем...
33. scape 276 18.03.15 13:54 Сейчас в теме
При отказе от загрузки дерева запросов (кнопка почему то называется "открыть дерево запросов") выдает ошибку и... дальше никак, только убивать программу через диспетчер.
34. ab471vi 1 18.03.15 14:01 Сейчас в теме
Скачала, будем пробовать! Отдельное спасибо за отличную инструкцию)
303. Chif13 1017 17.01.18 22:10 Сейчас в теме
Добрый! Обалденная консолька. Спасибо. Можно внесу свой вклад: допишите в процедуру УдалитьПереносы код

	ТекущиеДанные.Текст = СтрЗаменить(ТекущиеДанные.Текст, "|", "");
	ТекущиеДанные.Текст = стрЗаменить(ТекущиеДанные.Текст, """;", "");									
	ТекущиеДанные.Текст = стрЗаменить(ТекущиеДанные.Текст, """ВЫБРАТЬ", "ВЫБРАТЬ");					
	ТекущиеДанные.Текст = стрЗаменить(ТекущиеДанные.Текст, Символ(34) + Символ(34), Символ(34));		


Очень облегчает жизнь, особенно двойные кавычки.
И еще: может лучше убрать флаг Защиты с таб.документа Результат? Не дает же ни скопировать текст, ничего толком. Флага Редактирования вполне достаточно.
Это мелочи, но так же приятно.
304. akor77 782 18.01.18 23:03 Сейчас в теме
(303)
(303)Привет! Приму во внимание.
45. ZloyProger 1 19.03.15 14:39 Сейчас в теме
Отдельное спасибо за привычный интерфейс консоли запросов)
47. nikbrik 20.03.15 09:22 Сейчас в теме
Еще бы прикрутить сюда получение плана запроса как в консоли с ИТС под 8.3.5, было бы вообще шикарно.
50. akor77 782 20.03.15 18:31 Сейчас в теме
(47) nikbrik, честно говоря, я с этой штуковиной не работал, но с интересом изучу и постараюсь прикрутить.
48. dj_serega 358 20.03.15 15:26 Сейчас в теме
Некорректно отображается период с типом ДатаВремя
49. akor77 782 20.03.15 18:23 Сейчас в теме
55. dj_serega 358 23.03.15 12:28 Сейчас в теме
(49) Свисните, когда новый релиз будет. Очень понравилась консолька. Уже пользуюсь и, пока, закрываю глаза на баги.
58. akor77 782 23.03.15 18:46 Сейчас в теме
(55) dj_serega, Релизы нумеруются. Какой период с типом "ДатаВремя" ты имел ввиду? Опиши пример.
68. dj_serega 358 24.03.15 12:25 Сейчас в теме
(58)
Релизы нумеруются.

Тоесть у меня обработка, поэтому нужно скачать новую. Так как уже есть новый вариант. Хорошо. Спасибо.
Какой период с типом "ДатаВремя" ты имел ввиду? Опиши пример.
В параметрах запроса "&НачалоПериода", "&КонецПериода" или "&Период". Так вот в таблице параметров иногда проскакивает значение параметра с типом Дата и видом Дата а не ДатаВремя. Сейчас не могу повторить ошибку. Как только появится закриню.
(67) necropunk, Согласен. Но не писал об этом так как есть другие более важные замечания и пожелалки ;)

akor77 Спасибо большое за кнопулины по сворачиванию групп... Много удобностей и нововведений. ОЧЕНЬ круто!!! Продолжаю тестить новый релиз ;)

1. По кнопке "Сохранить файл запросов" ошибка:
{(3)}: Метод объекта не обнаружен (Показать)
ДиалогОткрытияФайла.Показать(Оповещение);

Аналогично и по "открыть файл запросов".
2. Если свернуть левую панель, потом свернуть текст запроса. Развернуть текст запроса. Текст запроса пустой. Если при пустом тексте запроса отобразить левую панель, текст появляется.
73. akor77 782 24.03.15 18:34 Сейчас в теме
(68) dj_serega, (71) necropunk, Ребята, спасибо за подсказки и замечания. Сейчас выложил новый релиз 8.3.2.3. Описание обновлений смотрите в статье. В постскриптум статьи добавлены пожелания для описания ошибок. Не могу воспроизвести часть ошибок.
60. akor77 782 23.03.15 19:00 Сейчас в теме
(55) dj_serega, В следующем релизе добавлю навороты как раз, для тех, кто пишет руками.
348. Georg_QQ 08.04.18 08:21 Сейчас в теме
УФ 8.3.2.29

1. Устанавливаем для пакета признак "Выгрузить".
2. Выполняем запрос,
результат - пакет в списке выделен полужирным шрифтом, есть кнопка открытия, по ее нажатии открывается форма таблицы значений.
3. Убираем для пакета признак "Выгрузить",
4. Выполняем запрос.
результат - пакет все еще выделен полужирным, кнопка открытия не исчезла, при нажатии на нее выходит ошибка:

{Обработка.КонсольЗапросовУФ.Форма.ФормаТаблицаЗначений.Форма(55)}: Поле объекта не обнаружено (А_20180406184202_ВТ_НагрузкиПоДатам)
лТаблица = СтруктураТЗ[ПараметрАдрес];

т.е. признак наличия выгруженной таблицы для конкретного пакета не сбрасывается при повторном выполнении запроса. (воспроизводится, если признак "Показать" = Ложь)
Прикрепленные файлы:
51. TODD22 17 22.03.15 09:32 Сейчас в теме
А как у этой обработки дело с модальностью и асинхронностью?
Будет ли работать на самописных конфигурациях?
52. akor77 782 22.03.15 10:04 Сейчас в теме
(51) TODD22, Дома тестил на УФ 8.2 и в интерфейсе Такси на самописных конфигурациях. На демке бухгалтерии УФ. На тестовых базах при отладке. Без разницы где работать. Модальность используется в УФ 8.2. Так же работает в условиях где модальные окна не поддерживаются. на счёт асинхронности особо не заморачивался. Продукт создан для разработчика, а не пользователя. С интерфейсом Такси я недавно столкнулся и не обращал внимание на этот момент. Возможно, вылезут ошибки при нарушении последовательности открытия диалоговых окон. Надо будет это отдельно потестить.
53. TODD22 17 22.03.15 13:19 Сейчас в теме
(52)
на счёт асинхронности особо не заморачивался. Продукт создан для разработчика, а не пользователя.

Как мне кажется нужно заморочиться. Раз асинхронность это курс партии :)
54. akor77 782 22.03.15 13:45 Сейчас в теме
(53) TODD22, Хорошо, буду знать, обязательно изучу эту тему.
74. akor77 782 24.03.15 18:46 Сейчас в теме
(53) TODD22, Хорошо. А можно ссылку на толковую статейку?
56. pau74 42 23.03.15 16:39 Сейчас в теме
Спасибо за консоль.
Жаль не работает с английским синтаксисом запроса.
61. akor77 782 23.03.15 20:30 Сейчас в теме
160. dj_serega 358 11.09.15 16:39 Сейчас в теме
нашел "фичу".
{Обработка.КонсольЗапросовУФ.Форма.ФормаТаблицаЗначений.Форма(56)}: Поле объекта не обнаружено (А_20150910164353_втПродажиИтог)
лТаблица = СтруктураТЗ[ПараметрАдрес];

Можно повторить так:
Устанавливаем выгрузку ВТ в таблицу. Выполняем запрос. Выделяется полужирным текстом. Снимаем выгрузку. Выполняем запрос. Выделение остается. И при попытке открыть таблицу эта ругань.
67. necropunk 5 24.03.15 12:16 Сейчас в теме
Начал использовать. Замечания пока мелкие, например, по Ctrl+/ не комментирует выделенный блок, надо мышкой в соответствующую кнопку тырцать, не очень удобно, а к хоткею привык уже...
dj_serega; +1 Ответить
69. necropunk 5 24.03.15 15:42 Сейчас в теме
"Зафиксировать" работает как-то специфически... Вообще, мелких интерфейсных багов хватает, но пока не систематично, будет что-нибудь еще доставать - напишу. Еще не нашел как сделать постобработку запроса. Как обработать ТЗ если она параметр запроса (О_о) - нашел, а чтобы просто таблицу результата обежать и что-нибудь страшное с ней сделать - нет, возможно, плохо искал...
unknown181538; +1 Ответить
72. akor77 782 24.03.15 17:46 Сейчас в теме
(69) necropunk, Надо установить флаг в самой правой колонке таблицы пакетов. Выполнить запрос, название пакета станет жирным шрифтом - это означает, что таблица выгружена. Кликаешь по колонке с названием и нажимаешь на просмотр (кнопка с лупой). Откроется форма для редактирования ТЗ. Под ТЗ есть текстовое поле "модуля" для кода. На командной панели есть кнопки, нажав на которые в "модуль" будет добавлен шаблон обхода в цикле. На счёт выгрузки деревьев, возьму на заметку. Со временем реализую.
70. necropunk 5 24.03.15 15:50 Сейчас в теме
Вывод данных в форме дерева неплохо бы сделать тоже, для обходов по группировкам полезно бывает иногда...
71. necropunk 5 24.03.15 16:28 Сейчас в теме
Если с пустым деревом запросов вызвать меню открытия файла с запросами, а потом передумать - будет куча ошибок о несоответствии параметра:

{Форма.Форма.Форма(1334)}: Ошибка при вызове метода контекста (НайтиПоИдентификатору)
ТекущаяСтрока = ДеревоЗапросов.НайтиПоИдентификатору(Элементы.ДеревоЗапросов.ТекущаяСтрока);
по причине:
Несоответствие типов (параметр номер '1')
75. dj_serega 358 24.03.15 19:05 Сейчас в теме
А сложно допилить выводить состояния работы? Это конечно рюшечка, но... было бы красиво :)

Пример:
&НаКлиенте
Процедура ВыполнитьЗапрос(Команда)

Если Объект.ОшибкиВЗапросе Тогда
Сообщить("Исправьте текст запроса!");
Возврат;
КонецЕсли;

// Дописать вот такое
Состояние("Выполняется запрос.");
// Или так
Состояние("Выполняется запрос: " + ИмяЗапросаВДереве);
Показать
76. akor77 782 24.03.15 19:10 Сейчас в теме
(75) dj_serega, Попробую реализовать.
81. ingmar 25.03.15 11:24 Сейчас в теме
Можно добавить обработку изменения типа параметра запроса с типом ПланыВидовХарактеристик
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
....
ВывестиКоллекцию(Дерево, "ПланыВидовХарактеристик"       , "ПланВидовХарактеристик");
....
88. akor77 782 25.03.15 19:15 Сейчас в теме
(81) ingmar, (85) artbear, (86) dj_serega, Замечания принял, исправлю.
83. artbear 1090 25.03.15 16:50 Сейчас в теме
(0) Из описания совершенно непонятно, работает ли в 8.2 тонкий клиент? с какой версией 8.3 работает? 8.3.4 работает?
инфу о версии платформы желательно указать где-то в начале описания.
Жду ответа.
84. dj_serega 358 25.03.15 17:03 Сейчас в теме
(83) artbear, Я успешно пользуюсь на 8.3.5 (без режима совместимости с модальностью). На 8.2, говорят, работает.
89. akor77 782 25.03.15 19:22 Сейчас в теме
(83) artbear, (84) dj_serega, (82) dj_serega, На данный момент точно работает
8.2 толстый клиент - весь функционал,
8.2 тонкий клиент - весь функционал кроме конструктора запроса
8.3.5.1482 без модальности - весь функционал
91. akor77 782 25.03.15 20:20 Сейчас в теме
(83) artbear, (85) artbear, да, на 8.2 куча ошибок, правлю, в выходные выложу с исправлением очень многих ошибок.
85. artbear 1090 25.03.15 17:53 Сейчас в теме
На 8.2 невозможно закрыть форму.
Сценарий - тонкий клиент 8.2, открываю форму обработки, ничего не делаю и тут же пытаюсь закрыть.
Выдается ошибка:
{Форма.Форма.Форма(90)}: Ошибка компиляции при вычислении выражения или выполнении фрагмента кода
		Выполнить(КодВыполнения);
по причине:
{(3,26)}: Переменная не определена (Результат)
ПередЗакрытиемЗавершение(<<?>>Результат, Параметры);


и все. форму невозможно закрыть без перезагрузки 1С :(
86. dj_serega 358 25.03.15 18:05 Сейчас в теме
(85) artbear, Это разработчик немного налажал :(
|Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет);
			|ПередЗакрытиемЗавершение(Результат, Параметры);";

Вместо "Результат" должен быть "Ответ"

Себе замените, а он посмотрит и исправит.

В любом случае за такую консольку на это можно закрыть глаза ;)
87. CheBurator 3565 25.03.15 19:13 Сейчас в теме
Этих консолей на Исе - вагон и телега разных.
какую использовать - непонятно...
103. AlexO 125 30.03.15 16:44 Сейчас в теме
(87) CheBurator, это - не консоль в широком понимании, это - больше "сформируй ТЗ за 10 сек". А запросы там так, для галочки.
104. akor77 782 30.03.15 18:14 Сейчас в теме
(103) AlexO, Привет, дружище!

Кто мешает развитию?
- Подавляющая личность (ПЛ).
http://admintech.ru/articles/protivodeistvie-uluchsheniyam-na-predpriyatii
Такой человек в основном занимается тем, что распространяет плохие новости, делает критические или враждебные замечания, обесценивает и вообще оказывает подавление. Он никогда не передает никаких хороших новостей или одобрительных замечаний.
Подавляющие личности просто отравляют все вокруг себя и оказывают влияние на свое окружение.
Такие люди являются хорошо замаскировавшимися сумасшедшими.
Все кто находится в тесном контакте с ПЛ очень часто испытывают то спады, то подъёмы, один день может много дел переделать, а потом ничего не может ничего. Если вы заметили это в себе, то ищите ПЛ-а.

Вся подноготная о подавляющих личностях хорошо раскрыта в этой книге:

Книга "Сады и подъёмы", автор Рут Мишнулл.
http://www.klex.ru/79

Если вас подавляют в семье, дома или на работе, обязательно научитесь выявлять ПЛ-ов.

Кроме того, подавлению обучают:
1. Подавляющее влияние: как и на чем любят играть любители обманывать, пугать, подавлять...
http://www.nrpsy.ru/psy_podavlenie.html
2. Подавляющее влияние: Подавляющее влияние 2: подавление авторитетом...
http://www.nrpsy.ru/psy_podavlenie_avtoritet.html
3. Подавляющее влияние 2: интриги, подставы, шантаж...
http://www.nrpsy.ru/psy_podavlenie_intrigi.html
Designer1C; IT_Avito; isn; JohnyDeath; sashocq; Diego_Iv; creatermc; tristarr1; vovan_victory; dgolovanov; h00k; dj_serega; +12 Ответить
108. dj_serega 358 30.03.15 20:22 Сейчас в теме
114. akor77 782 31.03.15 20:29 Сейчас в теме
(108) dj_serega, (111) Boneman, (113) h00k, Ребята, спасибо за поддержку!
Сегодня не успел отладить ещё одну фишку, надеюсь завтра успею.
А что касается нашего ПЛа - AlexO, то про таких есть весёлая песенка:
http://ololo.fm/search/%D0%9F%D0%BE%D1%8E%D1%89%D0%B8%D0%B5+%D0%A2%D1%80%­D1%83%D1%81%D1%8B/%D0%97%D0%B0%D0%BF%D0%B0%D0%B4%D0%BB%D0%BE­
Всем хорошего настроения!
u_n_k_n_o_w_n; +1 1 Ответить
107. akor77 782 30.03.15 18:53 Сейчас в теме
(103) AlexO, Ты мне напоминаешь того ПЛа, которого показывают на 3.50 минуте.
https://youtu.be/k-52Be8EmqA
94. dj_serega 358 26.03.15 15:24 Сейчас в теме
Удалось повторить проблему с датой в параметрах (01 - скрин параметров, 02 - скрин текста запроса).

Пожелалка:
1. В форме текста для модуля есть "ПеременнаяЗапроса". Там можно установить имя переменной. Всё круто! Но было бы неплохо изменить еще и результат.
Вместо:
РезультатЗапроса = ЗапросПроверка.Выполнить();

Реализовать:
РезультатЗапросаПроверка = ЗапросПроверка.Выполнить();


2. Сделайте, на досуге, замер производительности. Очень долго первый раз открывается обработка. Потом где-то лишнее (мне кажется) думает при активизации поля текста запроса.
Вот самая ресурсоемкая строка:
Обработка.КонсольЗапросовУФ.Форма.Форма.Форма 211 ПроверитьТекстЗапроса_ПолучитьПараметры_ОбновитьДанные(, Ложь, ); 1 0,749873 91,29

Я к чему. Может когда основные вопросы будут решены дойдут руки до оптимизации.
Прикрепленные файлы:
95. akor77 782 26.03.15 19:32 Сейчас в теме
(94) dj_serega, Хорошая идея с именем переменной, уже добавил. А по ошибкам работы ещё непочатый край. Я немного промахнулся, думал, что тестирую на платформе 8.2, а на самом деле на 8.3 Сегодня на работе "перехватывал" запрос где клиентская часть на терминальном сервере, а сервер базы данных на другом серваке. Необходимо при обращении к консои из кода указывать путь доступный с сервера приложения. Здесь всё нормально срабатывает и файл создаётся. Но открыть его невозможно. Я в окне диалога указываю путь видимый с клиентской машины, а надо указывать путь видимый с сервера приложения. В итоге в коде принудительно присвоил значение пути к файлу результата и всё открылось. В эти выходные буду работать над косяками.
97. h00k 36 28.03.15 22:07 Сейчас в теме
(94)dj_serega, (95)akor77
В форме текста для модуля есть "ПеременнаяЗапроса".

По форме текста запроса для модулей есть и у меня несколько замечаний. Раньше не озвучивал, так-как не хотел отвлекать, просто себе их реализовал.
1. если текст запроса пустой, то форма не открывается.
2. опциональная вставка куска кода проверки запроса.
3. избавился от конструкции "РезультатЗапроса = Запрос.Выполнить()" там где она избыточна.
4. добавил в таблицу "ВыводРезультатаЗапроса" колонку "Итератор" и соответственно изменил формирование конструкции "для каждого" добавив переменную "Итератор".

Единственный нюанс - весь текст формируется в привычной мне "венгерской" нотации.
98. akor77 782 28.03.15 23:04 Сейчас в теме
(97) h00k, Посмотрел твой вариант, он лучше чем прежний. добавлю в следующую сборку.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Удаленный ИТ-журналист
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата от 100 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 100 000 руб.
Полный день

Руководитель группы сервисов ЭДО, ЭЦП и криптографии
Москва
зарплата от 150 000 руб.
Полный день

Руководитель группы интеграций (1С)
Москва
зарплата от 150 000 руб.
Полный день