Консоль запросов
Представленный инструмент разработчика "Консоль запросов" является доработкой обработки(Владимира Милькина) с сайта
http://helpme1c.ru/obrabotka-konsol-zaprosov-upravlyaemoe-prilozhenie-its-1s-8-3-8-2,
и предназначен для составления произвольных выборок данных 1с и отладки запросов в основных режимах 1С:Предприятие.
Обработка может быть полезна для разработчиков конфигураций в управляемом приложении 1с.
Данный инструмент позволяет написать и отладить 1с запрос (в том числе и пакетный запрос) в режиме 1С: Предприятие, используя стандартный конструктор запросов 1с (для релизов платформы начиная с 8.3.5), как и при работе в конфигураторе 1с.
В том числе: данные временных таблиц запроса пакетного запроса, данные о времени построения выборки, количество строк в выборке, включая временные таблицы, и в каждой таблице отдельно, выделение ячеек в выборке, сравнение результатов двух запросов 1с (только в толстом клиенте),
вывод выборки в новом окне, сохранение текста и параметров запросов в файле *.q1c, настройка автосохранения, экспорт выборок в табличный документ и другое.
Текст готового запроса можно перенести в программный код 1С(с помощью специальной команды меню:"Текст запроса для конфигуратора").
Для релиза платформы 8.3.8 и более поздних, реализована возможность получения данных непосредственно из менеджера временных таблиц, что существенно сокращает время выполнения обработки.
Список доработок:
в модуле обработки
1) в функции ВывестиРезультатЗапросов
// Training1s -> стр.923
// Проверим версию платформы 1С
СисИнфо = Новый СистемнаяИнформация;
Если Число(Лев(СтрЗаменить(СисИнфо.ВерсияПриложения,".",""),3)) < 838 Тогда // Старый вариант
Результат = ВыполнитьЗапросСВременнойТаблицей(НакапливаемыйЗапрос, ИмяТаблицы, ИмяЗапроса);
Иначе // Вызов новой функции
Результат = ВыполнитьЗапросСВременнойТаблицейИзМВТ(МассивДанныхПоЗапросу.Запрос.МенеджерВременныхТаблиц, ИмяТаблицы, ИмяЗапроса);
КонецЕсли;
// Training1s <-
Функция ВыполнитьЗапросСВременнойТаблицейИзМВТ(Знач МВТ, ИмяВременнойТаблицы, ИмяЗапроса) // Training1S
Попытка
Результат = МВТ.Таблицы.Найти(ИмяВременнойТаблицы).ПолучитьДанные();
ИмяЗапроса = НСтр("ru = 'Временная таблица:'") + " " + ИмяВременнойТаблицы;
Исключение
Результат = Неопределено;
КонецПопытки;
Возврат Результат;
КонецФункции
Проверяем версию платформы 1с и, если она не старше релиза 8.3.8, то используем новое свойство Таблицы менеджера временных таблиц. Метод ПолучитьДанные() возвращает значение типа РезультатЗапроса.
2) в функции ВывестиРезультатОдногоЗапроса(ИмяЗапроса, РезультатЗапроса, Открыта, ПараметрыВыводаЗапроса, Иерархия, КоличествоСтрок, МассивШириныКолонок) после вывода детальных записей получаем количество строк в запросе.
Детали = ВывестиДетали(РезультатЗапроса, ПараметрыВыводаЗапроса);
КоличествоСтрок = ПараметрыВыводаЗапроса.КоличествоСтрок; // Training1s
Заголовок = ВывестиЗаголовокЗапроса(ИмяЗапроса, КоличествоСтрок);
Количество строк считаем в функциях ВывестиДеталиСИерархией и ВывестиДеталиБезИерархии: после обхода цикла выборки по результату запроса записываем количество строк в выборке.
ПараметрыВыводаЗапроса.КоличествоСтрок = ИндексСтроки - 1; // Training1s
Ссылка на скачивание: https://yadi.sk/d/psMdDlf8xhSZ8