0. Evg-Lylyk 2629 24.05.18 11:27 Сейчас в теме

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

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

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

mixperm; AlexandrSmith; +2 Ответить
Вознаграждение за ответ
Показать полностью
Лучшие комментарии
182. nixel 30.05.19 11:05 Сейчас в теме
(181) а есть какой-то альтернативный канал получения обновлений? я качаю уже четвертую версию, мне не жалко SM, инструмент хороший, но сами SM потихоньку заканчиваются :)
Созинов; IvanGorbunov; DAAbramov; omskhawk; Andrefan; Evg-Lylyk; +6 Ответить
329. Поручик 4315 22.08.19 16:00 Сейчас в теме
Если что, я голосую за премию на Awardse
Созинов; NoRazum; Shmell; dhurricane; Evg-Lylyk; +5 Ответить
88. Kostt 13.02.19 13:23 Сейчас в теме
Скачал Вашу консоль, внешне мне больше нравится, чем консоль Кораблева и работает на порядок шустрее. Все в привычных мне местах и интуитивно понятно. Сразу могу работать с результатов запроса, не надо не нажимать ни каких кнопок, чтобы свернуть панели параметров и структуры запроса. за неделю работы устал от его консоли. За минимализм в интерфейсе огромный +.

Подскажите как мне как мне задать в параметре границу включая дату? Если ли возможность задать отбор по полю во временной таблице не меняя запрос?
Evg-Lylyk; +1 Ответить
154. u_n_k_n_o_w_n 09.04.19 10:05 Сейчас в теме
Отличная консоль. Особенно порадовали параметры с типом выражение.
Evg-Lylyk; +1 Ответить
220. jmi 26.06.19 10:34 Сейчас в теме
Отличная версия! Особенно при работе с большими данными. Удобно регулировать кол-во строк к результате + отличии от все остальных не подвисает на больших данных!!!
Evg-Lylyk; +1 Ответить
295. DIKS_EV 15.08.19 10:49 Сейчас в теме
Отличная консоль. Пока даже придраться не к чему). Не бросай..
Evg-Lylyk; +1 Ответить
311. Nuuq 69 16.08.19 10:26 Сейчас в теме
Офигенно сделано! Спасибо!!!
Evg-Lylyk; +1 Ответить
Остальные комментарии
Избранное Подписка Сортировка: Древо
299. Evg-Lylyk 2629 15.08.19 12:33 Сейчас в теме
(298) Данные - Файл - Открыть
Прикрепленные файлы:
300. leosoft 139 15.08.19 13:07 Сейчас в теме
(299) Спасибо, нашел. Возник еще вопросик - если у схемы компоновки уже заданы несколько вариантов - как их все подгрузить, чтобы в дереве они появились?
301. Evg-Lylyk 2629 15.08.19 14:28 Сейчас в теме
(300) К сожалению подобное не реализовано
302. tvm 15.08.19 14:33 Сейчас в теме
Нашлась проблема при открытии ранее сохраненного файла (версия консоли 3.5.1, при сохранении и восстановлении не менялась).
В запросе создал описание временной таблицы, добавил и указал типы колонок.
Текст запроса:
ВЫБРАТЬ
	ТЗ.Сотрудник КАК Сотрудник
ПОМЕСТИТЬ ВременнаяТаблица
ИЗ
	&ТЗ КАК ТЗ
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВременнаяТаблица.Сотрудник КАК Сотрудник
ИЗ
	ВременнаяТаблица КАК ВременнаяТаблица
ГДЕ
	ВременнаяТаблица.Сотрудник В (&Сотрудники)
Показать


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

Еще заметил что при повтроном открытии конструктора запросов теряется описание временной таблицы
304. Evg-Lylyk 2629 15.08.19 14:55 Сейчас в теме
(302) ок, смотрю
(303) Уточните что имеется в виду... Чтобы в конструкторе запросов она была прописана?
305. tvm 15.08.19 15:02 Сейчас в теме
(304) не создавать руками описание временной таблицы
Прикрепленные файлы:
306. Evg-Lylyk 2629 15.08.19 15:44 Сейчас в теме
(305) Это в конструкторе Конструктор это объект платформы у него нет возможности передать описания перед запуском.
Только модифицировать конструктор, а это сложный путь т.к. он зависит от версии платформы, и у него код на английском. Такая идея давно была.
307. tvm 15.08.19 16:01 Сейчас в теме
(306) ну я подозревал что это навряд ли реализуемо. Спросил на всякий
308. dhurricane 15.08.19 16:04 Сейчас в теме
(306) (307) Можно попробовать "подсунуть" ему уже готовый запрос с выборкой всех полей и помещением во временную таблицу. Либо не хитрить, а предусмотреть какую-нибудь кнопку в интерфейсе Вашей консоли для генерации и вставки такого запроса.
309. tvm 15.08.19 16:07 Сейчас в теме
(308) Так тоже пробовал. Но типы полей не цеплялись
310. Evg-Lylyk 2629 15.08.19 16:41 Сейчас в теме
(302) Не могу воспроизвести, ошибку более подробно укажи может пойму где может быть проблема
303. tvm 15.08.19 14:46 Сейчас в теме
и еще в догонку вопрос- возможно сделать так чтобы при загрузке ТЗ ее структура подцеплялась к созданной временной таблице?
311. Nuuq 69 16.08.19 10:26 Сейчас в теме
Офигенно сделано! Спасибо!!!
Evg-Lylyk; +1 Ответить
312. sashocq 191 20.08.19 13:54 Сейчас в теме
Консоль очень функциональная. Помогает отлаживать сложные запросы с кучей временных таблиц из конфигурации.
Сегодня наткнулся на то, что после сохранения запроса в файл из отладки не получается его открыть в консоли. Ругается на типы колонок некоторых временных таблиц: PointOfTime и AccumulationMovementType
В функции УКО_ЧтениеMCR.ЧтениеЗначенияОписанияТипов() добавил замену:
СписокТипов = СтрЗаменить(СписокТипов, "AccumulationMovementType", "AccumulationRecordType");
СписокТипов = СтрЗаменить(СписокТипов, "PointOfTime", "PointInTime");

и всё заработало.
Платформа 8.3.14.1854, при сохранении пользовался ей же.
Evg-Lylyk; +1 Ответить
313. Evg-Lylyk 2629 20.08.19 13:56 Сейчас в теме
317. Evg-Lylyk 2629 20.08.19 16:36 Сейчас в теме
(312) Исправлено в версии 3.5.2
314. sashocq 191 20.08.19 14:10 Сейчас в теме
И с некоторыми типами колонок падает с ошибкой на строчке
НоваяКолонка.КартинкаШапки = УКО_ОбщегоНазначенияКлиентСервер.КартинкаОписанияТипов(ТипЗначения);

в процедуре УКО_Формы.ДобавитьКолонкуВТаблицуЗначений()
Для некоторых типов (например, ВидДвиженияНакопления) получается Неопределено и операция присваивания падает с ошибкой "Несоответствие типов" (тоже сам поправил для себя).
Evg-Lylyk; +1 Ответить
315. Evg-Lylyk 2629 20.08.19 14:13 Сейчас в теме
316. Evg-Lylyk 2629 20.08.19 16:35 Сейчас в теме
3.5.2 от 20.08.2019
Исправлены ошибки
319. sashocq 191 21.08.19 13:36 Сейчас в теме
И вот ещё до кучи: по поводу того, что иногда при сохранении в колонках временных таблиц не указан тип. В моём случае таких было достаточно много. Фактически во всех строках этих колонок записано Неопределено, но платформе нужен тип в таблице значений. Я добавил вот такую процедуру:
Процедура ЗаполнитьПустыеТипыКолонок(ТаблицаЗначений, ИмяТаблицы)
	// Обработаем колонки без типов
	Для Индекс = 0 по ТаблицаЗначений.Колонки.Количество()-1 цикл
		Кол = ТаблицаЗначений.Колонки[Индекс];
		Если Кол.ТипЗначения.Типы().Количество() = 0 тогда
			// Нашли колонку без типа
			// Убедимся, что значений нет
			Для каждого Стр из ТаблицаЗначений цикл
				Если Стр[Кол.Имя] <> Неопределено тогда
					ВызватьИсключение "В таблице """ + ИмяТаблицы + """ в колонке """ + Кол.Имя + """ есть значения, но нет типа";
				КонецЕсли;
			КонецЦикла;
			// Теперь удалим эту колонку и добавим новую с типом Неопределено
			ИмяКолонки = Кол.Имя;
			ЗаголовокКолонки = Кол.Заголовок;
			ШиринаКолонки = Кол.Ширина;
			ТипКолонки = Новый ОписаниеТипов("Булево,Дата"); // нужно Неопределено, но для этого нужно 2 любых типа :-(
			ТаблицаЗначений.Колонки.Удалить(Индекс);
			ТаблицаЗначений.Колонки.Вставить(Индекс, ИмяКолонки, ТипКолонки, ЗаголовокКолонки, ШиринаКолонки);
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры
Показать

И вставил её запуск при выгрузке таблицы в файл (функция УКО_ОтложеннаяОтладка.ДанныеЗапросаИзОбъекта, там где идёт загрузка временных таблиц). Хотя лучше, наверное, при чтении из файла это добавить.
После этого всё заработало отлично.
Evg-Lylyk; +1 Ответить
320. Evg-Lylyk 2629 21.08.19 13:53 Сейчас в теме
(319) Не понимаю почему так при использовании ВТ обязательно должен стоять тип откуда такие. Тип(неопределено) это все типы почему Булево, Дата
Пока не понимаю что за код и зачем вроде как не нужен
322. sashocq 191 21.08.19 14:02 Сейчас в теме
(320) Изначально после сохранения запроса из отладки (с временными таблицами) потом при открытии и выполнении выходила ошибка:
{УправляемаяКонсольОтчетов ОбщийМодуль.УКО_Запрос.Модуль(943)}: Ошибка при вызове метода контекста (Выполнить)
		Запрос.Выполнить();
по причине:
{(27, 1)}: Тип не может быть выбран в запросе
<<?>>ДокументРеализации,

потому что были колонки во временных таблицах без типа (см. скрин).

Обход этого я написал.

UPD: Во всех строках в таких таблицах было Неопределено, так что фактически какие типы подставить — не важно. Но типа должно быть хотя бы 2, чтобы возможно было записать Неопределено. Я выбрал 2 самых простых: Дата и Булево :-)
Прикрепленные файлы:
321. sashocq 191 21.08.19 13:54 Сейчас в теме
И ещё вопрос: вот я в отладке насохранял запросов в файлы. Могу я их как-нибудь в один файл засунуть? Чтобы проще было переключаться
323. Evg-Lylyk 2629 21.08.19 14:10 Сейчас в теме
(321) Было уже такое пожелание, постараюсь учесть в будущих версиях, но пока ничего конкретного. Вариант реализации добавить пункты "Данные - Файл - Добавить ...", а для настроек галка в диалоге + в функцию отладки добавить флаг "добавлять". Не хочется перегружать интерфейс.
(322) Понимаю, но как так вроде же нельзя использовать ВТ в запросе без указания типа, видимо они не используются?
324. sashocq 191 21.08.19 14:35 Сейчас в теме
(323) В коде были заранее подготовлены временные таблицы. Каким образом — не знаю. Некоторые из них вообще, может, пустые. При выгрузке их данных в файл в таблице там где идёт код:
Для Каждого ВременнаяТаблица Из Объект.МенеджерВременныхТаблиц.Таблицы Цикл
    ТаблицаЗначений = ВременнаяТаблица.ПолучитьДанные().Выгрузить();

В таблице значений есть колонки, у которых описание типа пустое. Фактически, думаю, платформа просто динамически его определяет и подставляет Неопределено, если в ней только неопределённые значения. Но если добавить в таблицу колонку
Таблица.Колонки.Добавить("Новая", Новый ОписаниеТипов("Неопределено"))

то у этой таблице описание типов будет пустое и при загрузке данных в запросе из параметра во временную таблицу возникнет описанная ошибка. Тут, понятно, небольшой косяк платформы. Но он легко обходится
325. Evg-Lylyk 2629 21.08.19 15:41 Сейчас в теме
(324) Да понял спасибо, решу вопрос
337. Evg-Lylyk 2629 04.09.19 16:51 Сейчас в теме
(324) Ваши пожелания учтены в 3.6
326. sashocq 191 21.08.19 16:34 Сейчас в теме
Опять попался непредвиденный случай :-)
В типовой КА2 в модуле документа РеализацияТоваровУслуг есть функция ВременныеТаблицыДокумента(). Так вот в ней в параметры запроса помещают табличную часть документа!
При сохранении такого запроса для отладки где-то в УКО_ЗаписьMCR.ЗаписатьПараметрЗапросаВXML() выходила ошибка.
Добавил там это:
ИначеЕсли ТипВсеТабЧасти().СодержитТип(ТипЗнч(Значение)) Тогда
    ЗаписатьПолеВXML(ЗаписьXML, "Type", "Table");
    ЗаписатьТаблицуЗначенийВXML(ЗаписьXML, Значение.Выгрузить());
    ...

Функция ТипВсеТабЧасти()
	Типы = Новый Массив();
	Для каждого МД из Метаданные.Справочники цикл
		Для каждого ТЧ из МД.ТабличныеЧасти цикл
			Типы.Добавить(Тип("СправочникТабличнаяЧасть." + МД.Имя + "." + ТЧ.Имя));
		КонецЦикла;
	КонецЦикла;
	Для каждого МД из Метаданные.Документы цикл
		Для каждого ТЧ из МД.ТабличныеЧасти цикл
			Типы.Добавить(Тип("ДокументТабличнаяЧасть." + МД.Имя + "." + ТЧ.Имя));
		КонецЦикла;
	КонецЦикла;
	Возврат Новый ОписаниеТипов(Типы);
КонецФункции
Показать
Evg-Lylyk; +1 Ответить
327. Evg-Lylyk 2629 21.08.19 16:36 Сейчас в теме
328. Evg-Lylyk 2629 21.08.19 16:51 Сейчас в теме
Разработка номинирована на премию "Лучшая разработка" Infostart Awards Event 2019
bgazobeton; dhurricane; +2 Ответить
329. Поручик 4315 22.08.19 16:00 Сейчас в теме
Если что, я голосую за премию на Awardse
Созинов; NoRazum; Shmell; dhurricane; Evg-Lylyk; +5 Ответить
330. IvanGorbunov 14 29.08.19 10:00 Сейчас в теме
Небольшая необработанная ошибка:

1) есть запрос с временными таблицам (слева дерево временных таблиц развернуто),
2) пользователь вносит вручную изменения в текст запроса и в самом тексте допускает ошибку, но кнопку "Проверить" не нажимает,
3) нажимает на строку временной таблицы (слева, в дереве временных таблиц запроса),
4) видит ошибку:
"{ВнешняяОбработка.УКО_УправляемаяКонсольОтчетов.Форма.Основная.Форма(468)}: Значение не является значением объектного типа (Страница)
Если ЗначениеЗаполнено(ТекущиеДанные.Страница) Тогда
".

P.S хотя у меня версия 3.5.1 - может сейчас это и исправлено
331. Evg-Lylyk 2629 29.08.19 10:01 Сейчас в теме
(330) в 3.5.2 не исправлена, проблема небольшая исправлю в 3.6
Спасибо за информацию
332. triviumfan 10 29.08.19 16:32 Сейчас в теме
А есть версия с совместимостью 8.3.8? Или мне достаточно закомментировать "УстановитьОтключениеБезопасногоРежима(Истина)"?
Хорошо бы программно определять совместимость и либо включать расширенный функционал либо нет. А то открываешь и на тебе - ошибка. Неприятно(
333. Evg-Lylyk 2629 29.08.19 16:36 Сейчас в теме
(332) Сожалею, но версии ниже 8.3.10 не планирую поддерживать разработка нацелена на будущее и без того много сложностей.
Пробуйте работать и по мере возникновения проблем поправляйте серьезных сложностей не должно возникнуть.
334. redtram 6 02.09.19 14:54 Сейчас в теме
Бонжур, мсье. Хотелось бы автоматического сохранения дерева запросов во временный файл наподобие инструментов разработчика tormozit (ОФ)
335. Evg-Lylyk 2629 02.09.19 14:56 Сейчас в теме
(334) Приветствую. Это в планах... будет ориентировочно через пару месяцев
336. Evg-Lylyk 2629 04.09.19 16:50 Сейчас в теме
Новая версия 3.6.0 от 04.09.2019
Улучшена форма выбора типа
* Добавлен поиск
* Использование при задании типа значения колонки
* Оптимизировано время открытия
Добавлена возможность настраивать вывод временных таблиц (Выводить, не выводить, свернуто)
Запуск по Alt + C (только для расширения)
Улучшение пользовательского интерфейса
Исправлены ошибки
Прикрепленные файлы:
339. tvm 04.09.19 17:08 Сейчас в теме
Спасибо!
Только похоже поломалось
ВЫБРАТЬ*
ПОМЕСТИТЬ ВТ
ИЗ
&ТЗ КАК ТЗ

после проверки кода в параметрах не появляется ТЗ
340. Evg-Lylyk 2629 04.09.19 17:19 Сейчас в теме
(339) Спасибо, новая версия ) буду разбираться
341. Evg-Lylyk 2629 04.09.19 17:31 Сейчас в теме
(339) Оказывается Метод НайтиПараметры объекта СхемыЗапроса не находит такие параметры
Чуть позже выложу исправление может будут еще ошибки
344. Evg-Lylyk 2629 09.09.19 11:18 Сейчас в теме
342. BigClock 06.09.19 12:45 Сейчас в теме
Есть проблемы с отображением описания на этой странице.
В разделе "Часто задаваемые вопросы" блоки
"Конструктор запроса какой-то не такой..." и
"При запуске сообщает...".
Нажимаешь на плюсик около этих блоков, а они исчезают.
С другими блоками все нормально, исправьте, пожалуйста.

Плюс хотелось бы в описании видеть ссылку на план по выходу
версий: http://www.hostedredmine.com/projects/mcr_1c/roadmap
Можно еще и блог: https://mcr83.blogspot.com/
Evg-Lylyk; +1 Ответить
345. Evg-Lylyk 2629 09.09.19 11:20 Сейчас в теме
(342) Спасибо, учту... В блоге пишу очень редко. Много мест неудобно, сейчас блог в телеграм
349. BigClock 11.09.19 13:40 Сейчас в теме
(345)
Теперь с блоком "Конструктор запроса какой-то не такой..." все нормально, но исчезают блоки
"Чем ваш вариант консоли лучше ..." и "При запуске сообщает...".
Возможно, есть смысл вообще отказаться от вложенных блоков и оставить только внешний
блок "Часто задаваемые вопросы", где прописать все вопросы/ответы.
350. Evg-Lylyk 2629 11.09.19 13:45 Сейчас в теме
(349) Да дичь какая то с этими блоками
343. Evg-Lylyk 2629 09.09.19 11:17 Сейчас в теме
3.6.1 от 09.09.2019
Исправлены ошибки
346. Aftee 09.09.19 11:22 Сейчас в теме
(343) после 3.6.0 скачивать заново?
348. Evg-Lylyk 2629 09.09.19 12:13 Сейчас в теме
(346) Если качали менее месяца назад должно качаться без снятия SM. А так да, цена минимальная.
347. Evg-Lylyk 2629 09.09.19 11:36 Сейчас в теме
Если качали менее месяца назад должно качаться без снятия SM. А так да, цена минимальная.
351. FreeArcher 85 13.09.19 11:50 Сейчас в теме
Отличная обработка! Перешел на неё несколько месяцев назад.

Есть 2 маленьких пожелания по юзабилити:
1. Вынести на панель кнопку Открыть, разместить можно рядом с кнопкой Сохранить. Т.к. действие открыть сохраненные запросы очень частое, а в меню лесть 2 лишних клика (горячие клавиши - отрываться от мышки ещё дольше).
2. Кнопку Проверить сдвинуть влево перед сообщением об ошибки. Середина экрана больше на глазах (особенно при больших мониторах).
Evg-Lylyk; +1 Ответить
352. Evg-Lylyk 2629 13.09.19 12:12 Сейчас в теме
(351) Спасибо, постараюсь учесть. Все это вы можете сделать через Все действия - Изменить форму ..
353. FreeArcher 85 13.09.19 12:53 Сейчас в теме
(352) не мы же программисты так не делаем, только правка исходников )))
Серьезно даже не подумал, что так просто это можно решить. Деформация уже сознания.
354. Asmody 13.09.19 17:29 Сейчас в теме
Надо бы требования к платформе поправить в описании. На 8.3.10.2650 выскочило
{ВнешняяОбработка.УКО_УправляемаяКонсольОтчетов.МодульОбъекта(7201)}: Поле объекта не обнаружено (ГоризонтальнаяВсегда)
ГруппаСумма.Группировка = ГруппировкаПодчиненныхЭлементовФормы.ГоризонтальнаяВсегда;
355. Evg-Lylyk 2629 13.09.19 21:10 Сейчас в теме
356. Evg-Lylyk 2629 15.09.19 17:24 Сейчас в теме
(354)
3.6.2 от 15.09.2019
Исправлены ошибки
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

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


Программисты 1С УТ / БУЗ/ЗУП / БИТ ФИНАНС
Москва
зарплата от 100 000 руб. до 180 000 руб.
Полный день

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

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству