Открытие консоли запросов из режима отладки

Публикация № 236904 18.11.13

Разработка - Инструментарий разработчика

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

Эта обработка - это синтез идей из публикации "Открытие консоли запросов при отладке из кода (Обычное приложение)" и  статьи "Хитрости отладки".

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

Для решения этой задачи будем использовать самую обычную Консоль запросов (не-генномодифицированную, без двойного дна).

Описание решения (для любопытных; нелюбопытные могут пропустить этот раздел).

Анализ кода обработки КонсольЗапросов.epf показал, что разработчики не предоставили нам никаких средств для внешнего управления ею: нет ни экспортных процедур, ни даже каких-либо реквизитов обработки, с помощью которых мы могли бы заставить Консоль запросов заполнить текст запроса и параметры так, как нам нужно. Ну что ж, значит будем работать через реквизиты формы. На мой взгляд, для этой цели лучше всего подходит дерево значений ДеревоЗапросов. Если добавить в него строку и заполнить значения в колонках "ТекстЗапроса", "ПараметрыЗапроса" и "СпособВыгрузки", а потом сделать строку активной, то текст запроса и параметры будут заполнены так как нам надо. Но есть одно но! По какой-то причине эти колонки дерева создаются в обработчике ПриОткрытии (хотя при этом колонка "Запрос" добавлена через редактор форм). Ну и ладно - значит будем получать форму обработки, открывать её (чтобы создались колонки дерева значений), а уже после этого будем добавлять свою строку в ДеревоЗапросов.

Ещё одну интересную идею я подсмотрел в комментариях к публикации про открытие консоли запросов. Идея состоит в том, что иногда имеет смысл открывать Консоль запросов в модальном режиме. Ну например, занимаемся мы отладкой кода, хотим посмотреть какой-нибудь запрос, текст которого генерируется программно и имеет кучу параметров. Тут было бы очень здорово оперативно открыть Консоль запросов в модальном режиме в "1С:Предприятии", выполнить этот запрос, "покрутить" параметры, посмотреть из-за каких условий не попадают нужные данные в результат запроса (или наоборот попадают лишние), закрыть Консоль запросов и продолжить отладку. Но тут есть маленькая трудность - при модальном открытии окна Консоли запросов мы не сможем добавить строку в ДеревоЗапросов описанным выше способом, потому что как только мы вызовем ОткрытьМодально(), выполнение нашего кода будет приостановлено до тех пор, пока мы не закроем модальное окно. Посмотрим ещё раз на код обработчика ПриОткрытии. Помимо всего прочего там есть вызов процедуры вЗагрузитьЗапросыИзФайла(), которая пытается прочитать запрос из файла, имя которого получает процедура вВосстановитьИмяФайла() из сохранённого в базе значения. А это значит, что если мы перед открытием модального окна подготовим дерево значений, которое по структуре будет совпадать с деревом ДеревоЗапросов, и сохраним его во временный файл, а потом имя этого файла с помощью вызова СохранитьЗначение("КонсольЗапросов_ИмяФайла", ИмяВременногоФайла) сохраним в базе, то Консоль запросов загрузит нужный нам текст запроса с параметрами из этого временного файла.

И наконец, последнее - это параметры запроса типа ТаблицаЗначений. Штатным образом в Консоли запросов нельзя задать таблицу значений в качестве значения параметра. Но в реальных запросах таблицы значений в качестве параметров пусть не часто, но всё-таки попадаются (например, Запрос.Текст = "ВЫБРАТЬ * ИЗ &ТЗ КАК ТЗ"). Решая данную задачу, я узнал, что означает загадочный флажок "В" в форме параметров запроса в Консоли запросов (до этого мне как-то особо не было до него дела). Оказывается, если установить этот флажок (на самом деле называется он "ЭтоВыражение"), то Консоль запросов в качестве значения параметра будет использовать результат вычисления выражения, заданного в "Значение параметра" (т.е. она возьмёт текст из "Значение параметра" и применит к нему функцию Вычислить(), а полученный результат будет использовать как значение параметра запроса). Вот так сервис! Ну что ж - тогда провернём ещё раз нашу махинацию с временными файлами. Все параметры запроса, которые имеют тип ТаблицаЗначений, с помощью обычного ЗначениеВФайл() будем сохранять во временные файлы, а в качестве значений таких параметров в Консоли запросов будем указывать "ЗначениеИзФайла(ИмяВременногоФайла)" и устанавливать это волшебный флажок "В".

Код модуля обработки

//////////////////////////////////////////////////
// Автор: q_i
// Лицензия: GPLv3
//////////////////////////////////////////////////

// Пример использования обработки для отладки запроса: 
// В режиме отладки вызываем диалог "Вычислить выражение..." (Shift+F9) и пишем выражение вида
// ВнешниеОбработки.Создать("(КаталогЭтойОбработки)\ОткрывашкаКонсолиЗапросов.epf").ОткрытьКонсольЗапросов(Запрос, "(КаталогКонсолиЗапросов)\КонсольЗапросов.epf", Истина)
//

// Функция открывает консоль запросов для отладки запроса.
//
Функция ОткрытьКонсольЗапросов(Запрос, ФайлКонсолиЗапросов = "", Модально = Истина) Экспорт

	Результат = Новый Структура("Успех, Сообщение", Ложь, "Неизвестная ошибка");
	
	ИмяФайлаКонсолиЗапросов = ФайлКонсолиЗапросов;
	Если ПустаяСтрока(ИмяФайлаКонсолиЗапросов) Тогда
		// по умолчанию считаем, что консоль запросов лежит в том же каталоге, что и эта обработка
		Файл = Новый Файл(ЭтотОбъект.ИспользуемоеИмяФайла);
	    ИмяФайлаКонсолиЗапросов = Файл.Путь + "КонсольЗапросов.epf";
	КонецЕсли;
	
	Попытка
		КонсольЗапросов = ВнешниеОбработки.Создать(ИмяФайлаКонсолиЗапросов);
	Исключение
		Результат.Успех		= Ложь;
		Результат.Сообщение	= "Не удалось создать обработку Консоль запросов: " + ОписаниеОшибки();
		Возврат Результат;
	КонецПопытки;	
	
	КомментарииКЗапросу = "";
	
	// скопируем параметры запроса в новую таблицу значений
	ФормаПараметров = КонсольЗапросов.ПолучитьФорму("ФормаПараметров");
	ТаблицаПараметров = ФормаПараметров.Параметры.СкопироватьКолонки();
	Для Каждого ТекПараметр Из Запрос.Параметры Цикл
		ТекИмя	= ТекПараметр.Ключ;
		ТекЗнач	= ТекПараметр.Значение;
		НоваяСтрока = ТаблицаПараметров.Добавить();
		НоваяСтрока.ИмяПараметра = ТекИмя;
		Если ТипЗнч(ТекЗнач) = Тип("Массив") Тогда
			// массивы преобразуем в списки значений
			СЗ = Новый СписокЗначений;
			СЗ.ЗагрузитьЗначения(ТекЗнач);
			ТекЗнач = СЗ;
		ИначеЕсли ТипЗнч(ТекЗнач) = Тип("ТаблицаЗначений") Тогда
			// таблицы значений сохраняем во временные файлы
			ИмяВремФайла = ПолучитьИмяВременногоФайла(".vt");
			ЗначениеВФайл(ИмяВремФайла, ТекЗнач);
			ТекЗнач = "ЗначениеИзФайла(""" + ИмяВремФайла + """)";
			НоваяСтрока.ЭтоВыражение = Истина;
			КомментарииКЗапросу = КомментарииКЗапросу + ?(ПустаяСтрока(КомментарииКЗапросу), "", Символы.ПС)
				+ "// ВНИМАНИЕ! Параметр """ + ТекИмя + """ имеет тип ТаблицаЗначений, поэтому сохранён в файл """ + ИмяВремФайла + """!";
		КонецЕсли; 
		НоваяСтрока.ЗначениеПараметра = ТекЗнач;
	КонецЦикла;	
	
	Форма = КонсольЗапросов.ПолучитьФорму("Форма");
	
	Если Модально Тогда
		ДеревоЗапросов = Форма.ДеревоЗапросов.Скопировать();
		ДеревоЗапросов.Строки.Очистить();
		// {{ повторяем действия из обработчика ПриОткрытии
		ДеревоЗапросов.Колонки.Добавить("ТекстЗапроса");
		ДеревоЗапросов.Колонки.Добавить("ПараметрыЗапроса");
		ДеревоЗапросов.Колонки.Добавить("СпособВыгрузки");
		// повторяем действия из обработчика ПриОткрытии }}
	Иначе	
		// открываем форму чтобы отработал обработчик ПриОткрытии
		Форма.Открыть();
		ДеревоЗапросов = Форма.ДеревоЗапросов;
	КонецЕсли; 	
	
	Если ДеревоЗапросов.Строки.Количество() > 0 
		И ДеревоЗапросов.Строки[0].Запрос = "Запросы" Тогда
	    СтрокаРодитель = ДеревоЗапросов.Строки[0];
	Иначе	
		СтрокаРодитель = ДеревоЗапросов;	
	КонецЕсли;
	ИмяЗапроса		= "Отладка " + ТекущаяДата();
	ТекстЗапроса	= Запрос.Текст;
	СтрокаЗапроса = СтрокаРодитель.Строки.Добавить();
	СтрокаЗапроса.Запрос			= ИмяЗапроса;
	СтрокаЗапроса.ТекстЗапроса		= ?(ПустаяСтрока(КомментарииКЗапросу), 
										ТекстЗапроса, 
										КомментарииКЗапросу + Символы.ПС + Символы.ПС + ТекстЗапроса);
	СтрокаЗапроса.ПараметрыЗапроса	= ТаблицаПараметров;
	СтрокаЗапроса.СпособВыгрузки	= 1; // список
	
	Если Модально Тогда
		// сохраняем сформированное ДеревоЗапросов во временный файл
		ИмяВремФайла = ПолучитьИмяВременногоФайла(".sel");
		ЗначениеВФайл(ИмяВремФайла, ДеревоЗапросов);
		Файл = Новый Файл(ИмяВремФайла);
		ИМЯЗНАЧ_ИМЯФАЙЛА	= "КонсольЗапросов_ИмяФайла";
		ИМЯЗНАЧ_ИМЯПУТИ		= "КонсольЗапросов_ИмяПути";
		ПредИмяФайла = ВосстановитьЗначение(ИМЯЗНАЧ_ИМЯФАЙЛА);
		ПредИмяПути	= ВосстановитьЗначение(ИМЯЗНАЧ_ИМЯПУТИ);
		БылиОшибки = Ложь;
		Попытка
			СохранитьЗначение(ИМЯЗНАЧ_ИМЯФАЙЛА, ИмяВремФайла);
			СохранитьЗначение(ИМЯЗНАЧ_ИМЯПУТИ,  Файл.Путь);
			// в обработчике ПриОткрытии консоль загрузит запросы из нашего файла
			Форма.ОткрытьМодально();
		Исключение
			Результат.Успех		= Ложь;
			Результат.Сообщение	= "Ошибка при модальном открытии формы Консоли запросов: " + ОписаниеОшибки();
			БылиОшибки = Истина;
		КонецПопытки;
		СохранитьЗначение(ИМЯЗНАЧ_ИМЯФАЙЛА, ПредИмяФайла);
		СохранитьЗначение(ИМЯЗНАЧ_ИМЯПУТИ,  ПредИмяПути);
		Если БылиОшибки Тогда
            Возврат Результат;
		КонецЕсли; 
	Иначе
		Форма.ЭлементыФормы.ДеревоЗапросов.ТекущаяСтрока = СтрокаЗапроса;	
	КонецЕсли; 

	Результат.Успех		= Истина;
	Результат.Сообщение	= "Консоль запросов открыта. Имя текущего запроса = " + ИмяЗапроса;
	Возврат Результат;
	
КонецФункции

Использование обработки

Обработка состоит всего из одной экспортной функции ОткрытьКонсольЗапросов(Запрос, ФайлКонсолиЗапросов = "", Модально = Истина).

Параметры этой функции:

  • Запрос - это объект Запрос, который нужно открыть в Консоли запросов.
  • ФайлКонсолиЗапросов - это полное имя файла Консоли запросов. Параметр необязательный. Если не указан, то обработка считает, что консоль запросов имеет имя "КонсольЗапросов.epf" и находится в том же каталоге, что и сама обработка.
  • Модально - указывает нужно ли открывать Консоль запросов в модальном режиме (Истина) или нет. Параметр также необязательный. По умолчанию - Истина (т.е. Консоль запросов открывается в модальном режиме).

 

Теперь о том, как использовать эту обработку.

В режиме отладки вызываем диалог "Вычислить выражение..." (Shift+F9), пишем выражение вида

  • ВнешниеОбработки.Создать("КаталогЭтойОбработки\ОткрывашкаКонсолиЗапросов.epf").ОткрытьКонсольЗапросов(Запрос, "КаталогКонсолиЗапросов\КонсольЗапросов.epf", Истина)

и нажимаем кнопку "Рассчитать". Если последний параметр Истина (или не задан), то Консоль запросов откроется в модальном режиме, и мы можем сразу перейти в "1С:Предприятие" и работать с открывшимся запросом. Если последний параметр Ложь, то Консоль запросов откроется в "1С:Предприятие" ПОСЛЕ того, как мы нажмём F5 ("Продолжить отладку").

В этом примере:

  • КаталогЭтойОбработки\ОткрывашкаКонсолиЗапросов.epf - это полное имя файла этой обработки.

Ещё примеры запуска:

  • ВнешниеОбработки.Создать("КаталогЭтойОбработки\ОткрывашкаКонсолиЗапросов.epf").ОткрытьКонсольЗапросов(Запрос) - откроет Консоль запросов, которая имеет имя "КонсольЗапросов.epf" и находится в каталоге "КаталогЭтойОбработки\".
  • ВнешниеОбработки.Создать("КаталогЭтойОбработки\ОткрывашкаКонсолиЗапросов.epf").ОткрытьКонсольЗапросов(Запрос,, Ложь) - то же самое, но Консоль запросов откроется в немодальном режиме.

 

Собственно и всё. Пожелания и замечания по делу приветствуются!

Скачать файлы

Наименование Файл Версия Размер
ОткрывашкаКонсолиЗапросов.epf.7z

.7z 3,29Kb
54
.7z 3,29Kb 54 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. madonov 165 19.11.13 04:06 Сейчас в теме
Очень часто приходится разбирать сложные запросы. Приходится отлавливать отладчиком текст запроса, значения всех параметров, вручную вносить все в консоль...
Большое спасибо за обработку!
jaroslav.h; +1 Ответить
3. q_i 549 19.11.13 11:46 Сейчас в теме
(1) madonov, рад что обработка понравилась! пользуйтесь на здоровье! ))
jaroslav.h; +1 Ответить
2. Famza 84 19.11.13 11:45 Сейчас в теме
4. Evil Beaver 7864 19.11.13 17:24 Сейчас в теме
5. DrAku1a 1590 20.11.13 02:18 Сейчас в теме
Баян.
Уже давно реализовано как в ИР, так и в других обработках. У меня например: Отладчик запросов: Функция "Открыть из отладчика"
6. yuraos 986 20.11.13 05:57 Сейчас в теме
(5) DrAku1a,
все мы боянисты, граф.
:)
ортодоксы считают, что на диске ИТС все давно есть
7. yuraos 986 20.11.13 06:09 Сейчас в теме
(6)
Плюс за оригинальность идеи.
Я подобным образом при отладке открываю для просмотра "табличные объекты"
Подсистема ViewValues (просмотр "табличных" объектов).
12. students 20.11.13 08:28 Сейчас в теме
Давно уже все есть. зачем изобретать велосипед.
(7) Какая оригинальность? Человек просто не умеет пользоваться поиском.
14. q_i 549 20.11.13 11:11 Сейчас в теме
(5) DrAku1a, (10) yuraos, спасибо за ваши замечания.
Мне нужна была "открывашка" именно штатной 1с-вской консоли запросов, т.к. пользуюсь исключительно ею. Если вам удобнее пользоваться "прокачанными" консолями, то тогда, конечно, эта "открывашка" вам не нужна.
8. yuraos 986 20.11.13 06:14 Сейчас в теме
Немного критики:
не сильно красиво
на лету формировать список запросов
сохранять его в файле,
прописывать имя файла в настройках пользователя под нужным именем,
чтобы консоль его открыла при открытии формы.
16. q_i 549 20.11.13 11:32 Сейчас в теме
(8) yuraos,
не сильно красиво
на лету формировать список запросов
сохранять его в файле,
прописывать имя файла в настройках пользователя под нужным именем,
чтобы консоль его открыла при открытии формы

Это вынужденный "костыль" для модального режима. В немодальном режиме консоль открывается несколько более "красиво": запрос с параметрами просто добавляется в существующее дерево запросов. Причём, если консолью при старте был открыт файл с запросами (.sel-файл), то новый запрос будет добавлен в дерево запросов этого файла с запросами.
9. yuraos 986 20.11.13 06:19 Сейчас в теме
Можно сделать более изящно...подправив саму консоль

Предусмотрев например в модуле объекта обработки
экспортный метод формирующий новый список запроса
по объекту "Запрос"

и использовать подправленную консоль вместо "Открывашки"
10. yuraos 986 20.11.13 06:25 Сейчас в теме
(9)
За основу разумно взять какую-нибудь из доработанных консолей запросов
которых довольно много на Инфостарте,
например мой скромный вариантик
Консоль запросов 1С + ADO
11. DrAku1a 1590 20.11.13 07:41 Сейчас в теме
(9) я описал именно это в (5)
13. sanek_gk 106 20.11.13 09:49 Сейчас в теме
Эта обработка полезна тем кто не умеет писать запросы ( или не знает что текст запроса смотрится через Запрос.текст а параметры Через Запрос.Параметры... Очень интересно если использовать её по назначению там где действительно сложно увидеть первоначальный Исходный полный запрос, например в процедуре расчета себестоимости где запрос собирается по 10 функциям или процедурами НО через менеджервременных таблиц данная обработка будет там полезна ? покажет что было в исходной ВТ из каких полей она состоит и каким запросом создавалась - чего то сомневаюсь. А вот там как раз было бы неплохо получить сразу всю картинку и не отлаживать хх минут собирая запросы кусками..
15. q_i 549 20.11.13 11:22 Сейчас в теме
(13) sanek_gk, если все запросы собираются в одну большую простыню, то эта обработка поможет. Если же формирование запроса перемежается периодическими вызовами Запрос.Выполнить() чтобы заполнить соответствующие временные таблицы, то нет. Дело в том, что в стандартную консоль запросов можно передать только текст запроса и параметры, но не сам объект Запрос. О том, существуют ли в природе консоли запросов, которые могут помочь решить задачу отладки запроса с менеджером временных таблиц, я думаю, могут подсказать DrAku1a, yuraos или students.
17. Pavean 20.11.13 21:18 Сейчас в теме
Работает только в обычном приложении?
19. q_i 549 21.11.13 11:31 Сейчас в теме
(17) Pavean, да, эта открывашка для обычной ("не-управляемой") консоли запросов.
18. Alex1Cnic 146 21.11.13 08:51 Сейчас в теме
Интересная вещица, над попробовать! плюс однозначно!
20. laduk 15 22.11.13 10:27 Сейчас в теме
Будет версия для "управляемой консоли ?
23. q_i 549 23.11.13 21:42 Сейчас в теме
(20)
Будет версия для "управляемой консоли ?

Пока такого в планах нет. Возможно, задумаюсь на этот счёт, когда перейду на управляемую консоль. Впрочем, есть надежда, что к тому времени кто-то другой сделает - тогда просто скачаю. )))
28. acces969 309 20.03.17 08:57 Сейчас в теме
(23)
Спасибо, респект тебе за обработку и исходный код. Почитал как ты тут ловко отвечаешь на нападки, здорово. Обработка мне очень помогла, смотрел "прокачанные" версии - все не то. У тебя то что нужно. Сразу схоронил и часто ею пользуюсь. У меня на работе важна оперативность, поэтому такие обработки, которые скидываешь по тиму к клиенту, запускаешь на его машине и сразу видишь ответ - самое то! В общем еще раз спасибо тебе, надеюсь мысль о том что помог еще одному человеку тебе будет приятна. А вот насчет управляемых форм - что там, думаешь пробовать сделать? В своем же стиле, простом и удобном? Всетаки 4 года прошло.
29. q_i 549 22.03.17 16:13 Сейчас в теме
(28) Добрый день!
Рад, что эта обработка Вам пригодилась и большое Вам спасибо за добрый отзыв!
Про управляемые формы пока не думаю, т.к. бОльшая часть моих клиентов всё ещё сидит на БП2.0/ЗУП2.5/УПП1.3. Как следствие - объём отладки запросов в упр.формах у меня сейчас минимальный (обхожусь обычным копированием текста запроса и ручным заполнением параметров; хотя ломка, конечно, присутствует). А вот когда клиенты начнут переходить на конфигурации с упр.формами, вот тогда, возможно, соберусь с силами и что-нибудь попробую написать. Хотя не теряю надежд, что это кто-то сделаем за меня. :) Может быть Вы возьмётесь? ;)
30. acces969 309 03.05.17 08:58 Сейчас в теме
(29) Если бы время было. Я приспособился - в свойствах конфигурации выставил режим "Управляемое приложение и обычное приложение", "разрешить использование обычных форм в управляемом приложении", запускаю отладку в режиме "толстый клиент - обычное приложение" (управлямая конфигурация при этом работатет в старом интерфейса, несмотря на все управляемое в коде), а дальше как обычно использую вашу обработку в отладчике и вызываю обычную консоль 8.2. Кстати, ее пришлось немного допилить под нужды производства, может быть и вам пригодится моя версия https://yadi.sk/d/pXg9GG5f3HaRT3
32. q_i 549 04.05.17 00:55 Сейчас в теме
(30) Да, со временем сейчас туго. )) Консоль посмотрю, спасибо!
31. tormozit 6868 03.05.17 09:18 Сейчас в теме
(23) "Автомобиль" уже давно можно брать с собой в виде "Портативные инструменты разработчика" https://www.youtube.com/watch?v=hiw_aYVOvFc
33. q_i 549 04.05.17 00:57 Сейчас в теме
(31) Сергей, если в жизни это работает так же круто, как выглядит на видео, то снимаю шляпу!
21. Сисой 87 22.11.13 12:59 Сейчас в теме
Мне для анализа в общем-то не нужно, т.к. я со времен FoxPro гораздо быстрее понимаю запрос в виде текста, чем в окне конструктора, но у этой обработки может быть довольно толковое применение: быстрое внесение изменений в имеющийся запрос, проверка результата и если получилось, копирование текста запроса через буфер в Конфигуратор.

Пожалуй, включу ее в свою конфигурацию в глобальный модуль.
Автору зачот.
cleaner_it; +1 Ответить
24. q_i 549 24.11.13 17:28 Сейчас в теме
(22) tormozit, да кто ж спорит - если есть возможность вкрутить в конфигурацию подсистему ИР, то, конечно, она предоставляет несравнимо более широкие возможности. Это как самокат и автомобиль. Автомобиль и быстрее ездит, и уровень комфорта на порядки выше, но если нужно полететь куда-то далеко на самолёте, то самокат с собой ещё можно взять, а вот автомобиль сильно вряд ли.
25. Gureev 27.11.13 14:32 Сейчас в теме
Есть же запросник умеющий это и еще многое
http://infostart.ru/public/72969/
26. Bassgood 1355 27.11.13 16:40 Сейчас в теме
(0) Да, действительно все уже давно реализовано во многих "прокачанных" консолях запросов и рекомендую пользоваться именно ими, а не допиливать что-то свое к старой консоли с ИТС, которая уже морально устарела
27. q_i 549 27.11.13 17:35 Сейчас в теме
(26) Zigfridish,
рекомендую пользоваться именно ими, а не допиливать что-то свое к старой консоли с ИТС
спасибо, я учту. я всегда учитываю рекомендации людей, которые лучше меня знают что мне нужно. ))
34. q_i 549 20.06.17 11:56 Сейчас в теме
Только что случайно обнаружил интересный эффект.
Если поставить точку останова на строке с "Запрос.Выполнить()", а в табло добавить то самое:
ВнешниеОбработки.Создать("КаталогЭтойОбработки\ОткрывашкаКонсолиЗапросов.epf").ОткрытьКонсольЗапросов(Запрос, "КаталогКонсолиЗапросов\КонсольЗапросов.epf", Истина)
,
то после остановки на точке останова, открывашка автоматически откроет консоль запросов в режиме "предприятия".
Думаю, в некоторых случаях это может быть удобно (например, при отладке запросов, текст которых генерируется программным кодом).
Оставьте свое сообщение

См. также

Функции "слоупока": как заставить открываться "Все функции" в 97 раз быстрее!

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Наверное, каждый программист 1С (да и не только программист), открывая «Функции для технического специалиста» (ранее «Все функции») на массивных конфигурациях вроде ERP 2.4 и т.п., в своей жизни много раз задавался вопросом – почему же они так долго открываются?? Действительно, в зависимости от мощностей сервера «Все функции» могут открываться от 20 секунд до 2 минут! «Ну, слишком много объектов в конфигурации, огромное количество констант, справочников, документов, регистров… – Отвечали себе страдающие пользователи. – Пока программа обойдёт в цикле все метаданные, пока построит дерево… Тут ничего не поделаешь…». И все они были не правы! Я провёл собственное расследование, которое показало, что 97% времени построения дерева метаданных тратится на…

1 стартмани

09.03.2022    22482    92    XilDen    76    

240

Программное формирование существующих печатных форм

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Получение списка печатных форм, формирование выбранной печатной формы и сохранение ее в файл.

1 стартмани

17.12.2021    12428    32    RocKeR_13    5    

42

Универсальный редактор данных (УРД)

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Универсальный редактор данных (УРД) - это лучший инструмент в своем классе, который позволяет редактировать реквизиты и движения объектов

1 стартмани

27.08.2021    15778    206    Adeptus    57    

91

Подсистема "Показатели объектов"

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Если вашим пользователям нужно вывести в динамический список разные показатели, которые нельзя напрямую получить из таблиц ссылочных объектов, и вы не хотите изменять структуру справочников или документов - тогда эта подсистема для вас. С помощью нее вы сможете в пользовательском режиме создать свой показатель, который будет рассчитываться по формуле или с помощью запроса. Этот показатель вы сможете вывести в динамический список, как любую другую характеристику объекта. Также можно будет настроить отбор или условное оформление с использованием созданного показателя.

2 стартмани

06.03.2021    14349    8    pila86    17    

29

FormCodeGenerator Программная доработка форм. Часть 2 (Режим работы "Режим сравнения форм") на примере ERP 2.5

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Данная публикация является продолжением описания функционирования обработки "FormCodeGenerator " в режиме сравнения форм и генерирования кода на основании сравнения. Подходит для перевода уже доработанных форм с интерактивной доработки на программную. Данный режим работы обработки снизит издержки при дальнейших обновлениях конфигураций.

5 стартмани

21.12.2020    19451    32    huxuxuya    11    

36

А1Э - альтернативная стандартная библиотека для 1С

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Предлагаю широкой общественности расширение А1Э, используемое в нескольких продуктивных базах для выполнения широкого круга задач.

14.08.2020    22258    0    Enigma    47    

176

Проверка ведения учета (универсальная)

Инструментарий разработчика Анализ учета Платформа 1С v8.3 Запросы Абонемент ($m)

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

2 стартмани

11.08.2020    11432    59    vozhd    4    

19

Консоль кода для управляемых форм

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Консоль кода для управляемых форм с подсказками и подсветкой синтаксиса.

1 стартмани

17.07.2020    45383    602    salexdv    423    

328

Внешний регламент для 1С

Инструментарий разработчика Платформа 1С v8.3 Россия Абонемент ($m)

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

1 стартмани

05.03.2020    17212    14    moolex    13    

15

Консоль запросов 9000

Инструментарий разработчика Платформа 1С v8.3 Запросы Конфигурации 1cv8 Абонемент ($m)

Простая и удобная консоль запросов 1С для управляемых форм 8.3, работает на любой конфигурации без ее модификации. Возможность использования как внешней обработки или в составе расширения. С перехватом любых запросов и поддержкой всех типов данных во временных таблицах. Анализ плана запроса, запроса на уровне СУБД. Обработка результата кодом.

1 стартмани

24.02.2020    44861    689    kuza2000    167    

176

Конвейер проверки качества кода

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

3 стартмани

04.09.2019    52490    35    Stepa86    46    

220

Модель объекта

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

1 стартмани

30.06.2019    24664    3    vadim1980    5    

17

CFU & CFE - reader (версия 3.1).

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка для анализа файлов обновлений (.cfu) и расширений (.cfe) в режиме предприятия в любой конфигурации для 1С 8.3.+. Основана на разработке https://infostart.ru/public/97194/.

2 стартмани

21.06.2019    17276    48    vandalsvq    12    

28

Переводим рутину ручного тестирования 1C на рельсы Jenkins-а и ADD

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Вы все еще тестируете свои конфигурации 1С вручную? Да вы просто тратите жизнь впустую! В данном туториале попробуем скрестить ADD и jenkins для автоматического запуска тестов.

1 стартмани

03.06.2019    53821    12    ripreal1    92    

183

Универсальный HTTP-сервис на платформе 1С, аля HTTP-сервер с примером

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Практический кейс построения HTTP-сервиса, который работает по принципу HTTP-сервера, с разбором всех методов построения и разработки класса задач построения личных кабинетов и сопряжения их с центральной базой.

1 стартмани

13.05.2019    51983    201    Diversus    44    

278

Блин, мы забыли включить регламентные задания…

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Привет, Инфостарт! Сегодня расскажу, как я решил проблему с выключенными регламентными заданиями в рабочих базах. Желая исключить человеческий фактор и минимизировать количество ошибок, я написал небольшую конфигурацию.  В конфигурации два регламентных задания. Первое периодически подключается к кластеру и сохраняет текущие параметры: имя, Сервер БД, базу СУДБ, блокировки входа и регламентных заданий и т.д. Второе задание периодически проверяет эти параметры на ошибки.

1 стартмани

08.04.2019    34777    23    slozhenikin_com    37    

61

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019)

Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Инструментарий разработчика Платформа 1С v8.3 Мобильная платформа Бухгалтерский учет Управленческий учет Абонемент ($m)

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    77579    286    informa1555    246    

207

Легкое и гибкое управление списком доступных баз 1С у пользователей

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Когда в локальной сети много пользователей, а еще большое количество различных баз и при этом каждому нужны свои, то администрирование этого зоопарка превращается в АД! Этот комплекс позволяет централизованно управлять списком доступных баз в разрезе пользователей. За пару кликов можно добавить или убрать базу у всех пользователей.

7 стартмани

05.12.2018    30336    30    RomikR    11    

18

Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек.

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний. Wsf-скрипт, созданный на стандартном языке автоматизации Windows - "WSH JScript", очищает кэш 1С просто, быстро и безопасно. Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.

1 стартмани

04.11.2018    68151    643    Eugen-S    36    

50

Навигатор по конфигурации базы 1С 8.3

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

Универсальная внешняя обработка для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Платформа 8.3, управляемые формы. Версия 1.1.0.95 от 07.05.2023

3 стартмани

28.10.2018    59700    533    ROL32    72    

183

Консоль Внедренца v.3.6.2

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Идея данной обработки заключается в создании простого, функционального и универсального инструментария для внедренцев и программистов 1С, который будет работать как в толстом клиенте на обычных и на управляемых формах, так и в тонком клиенте. Интерфейс и логика работы максимально идентичны у обычных форм и управляемых. Инструментарий включает в себя: Консоль кода, Консоль запросов, Консоль отчетов (СКД), Универсальную обработку объектов, Средства для работы с таблицами базы данных 1С, Редактирование регистров сведений базы, Инструмент по работе с табличными документами - загрузка данных из табличного документа.

1 стартмани

27.08.2018    53802    525    evvakra    42    

182

HTTP Сервисы: Путь к своему сервису. Часть 3

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 2». В предыдущих частях мы использовали только Get, в этой части поговорим о других методах и длительных операциях.

1 стартмани

27.08.2018    78930    96    dsdred    17    

182

Управляемая консоль запросов, отчетов 3.8.9 (расширение, внешняя обработка)

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Абонемент ($m)

Работа с запросом и СКД, Полная поддержка пакетных запросов, временных таблиц, Сравнение результатов, текстов, Разбор структуры запроса в виде дерева, Анализ плана запроса, Групповая обработка

10 стартмани

14.08.2018    159091    3532    Evg-Lylyk    800    

624

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    46331    35    informa1555    30    

77

Консоль HTTP-запросов с генерацией кода

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Консоль HTTP-запросов, которая не только выполняет запросы и получает результат их выполнения, но и генерирует необходимый код. Использую на 8.3.11.2899.

1 стартмани

25.05.2018    45194    410    leongl    20    

199

Регистры правил [Расширение]

Инструментарий разработчика Платформа 1С v8.3 Управление правами 1С:Управление торговлей 11 Абонемент ($m)

Регистры правил - права доступа, запрет редактирования, автоподстановка реквизитов и т.д.

10 стартмани

15.03.2018    32299    33    33lab    5    

18

Заполняем по шаблону (по умолчанию)

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Простой в подключении, универсальный и достаточно удобный механизм заполнения реквизитов произвольных документов/справочников значениями по умолчанию. Реализован в расширении, но может быть и непосредственно включен практически в любую конфигурацию на управляемых формах простым копированием одной формы и двух команд. Весь код в статье.

1 стартмани

08.02.2018    44138    25    mvxyz    17    

79

Паузы при исполнении кода (Sleep для 1С)

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Решил проверить все найденные варианты паузы для 1С. В результате получилась обработка для тестирования и небольшая статья с итогом.

1 стартмани

28.11.2017    101208    24    swimdog    57    

183

Программное формирование форматированной строки в стиле html+inline CSS

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Если вам приходилось работать с форматированными строками программно, то вы знаете, какая это боль. Данное решение облегчает программное формирование таких строк.

1 стартмани

18.11.2017    58500    60    bonv    13    

74

Быстрое удаление неиспользуемых версий 1С:Предприятие 8, кэша метаданных и информационных баз

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

При обновлении платформы 1С:Предприятие 8 предыдущие версии не удаляются. Со временем количество неиспользуемых версий платформы растет. Они занимают место на диске. Для решения этой проблемы предназначена программа OneCleaner. Она позволяет быстро удалить неиспользуемые версии платформы, а также почистить кэш метаданных и удалить ненужные информационные базы данных.

1 стартмани

14.11.2017    38971    109    bonv    17    

48

DataReducer — R-консоль для «1С:Предприятия»

Инструментарий разработчика Платформа 1С v8.3 Анализ и прогнозирование Абонемент ($m)

Программа для обработки, анализа и визуализации данных информационных баз «1С:Предприятия» с использованием возможностей языка программирования R.

10 стартмани

10.07.2017    33312    3    DataReducer    13    

47

Трансформатор 1С - SQL

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Обработка для представления SQL запросов в терминах 1С, с возможностью захвата SQL запросов трассировкой.  Поддерживается также форматирование текста запроса через интернет сервис. Работает в управляемых и обычных формах, в том числе на веб-клиенте.

1 стартмани

28.06.2017    54844    450    Synoecium    54    

249

Набор подсистем "Умные таблицы"

Инструментарий разработчика Платформа 1С v8.3 Беларусь Россия Казахстан Абонемент ($m)

Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.

1 стартмани

22.05.2017    48688    119    Silenser    34    

75

ОСкрипты для деплоя и копирования базы данных

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Набор оскриптов для деплоя базы 1С через хранилище и копирование через sql-бекап одной базы в другую

1 стартмани

02.05.2017    36257    50    Stepa86    32    

148

Автокликер для 1С

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Внешняя обработка, запускаемая в обычном (неуправляемом) режиме для автоматизации действий пользователя (кликер). ActiveX компонента, используемая в обработке, получает события от клавиатуры и мыши по всей области экрана в любом приложении и транслирует их в 1С, получает информацию о процессах, текущем активном приложении, выбранном языке в текущем приложении, умеет сохранять снимки произвольной области экрана, активных окон, буфера обмена, а также, в режиме воспроизведения умеет активировать описанные выше события. Все методы и свойства компоненты доступны при непосредственной интеграции в 1С. Примеры обращения к компоненте представлены в открытом коде обработки.

1 стартмани

03.04.2017    47030    87    slava_1c    67    

74

Регулярные выражения – это просто. Построитель и отладчик регулярных выражений

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Предлагается к использованию построитель регулярных выражений. Выполненный в виде внешней обработки, он позволит строить сложно-структурированные выражения на основе параметрического описания, тестировать их, и в результате получить программный код 1С.

1 стартмани

13.03.2017    51802    138    romasna    54    

208

Сценарное тестирование в помощь программисту 1С

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Альтернативное решение для организации сценарного тестирования конфигураций, разработанных на управляемых формах

1 стартмани

11.11.2016    39491    62    grumagargler    62    

193

Несколько шаблонов для доработки типовых конфигураций

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Абонемент ($m)

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

1 стартмани

03.10.2016    52263    107    json    26    

196

Конструктор-тестер http запросов в 1С

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Данная обработка позволяет в несколько кликов конструировать http запросы на языке 1С и просматривать результаты их выполнения.

3 стартмани

19.08.2016    58358    344    hlopik    19    

227