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

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

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

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

Комментарии
307. Юрий Рупышев (yuraskas) 173 05.02.18 09:00 Сейчас в теме
Большое спасибо, давно искал хорошую консоль на УФ!
308. Сергей Поляков (PolSerg) 05.02.18 17:31 Сейчас в теме
Здравствуйте, Александр!
Спасибо огромное за функциональную консоль запросов, но есть один недочет, который портит впечатление, а именно работа с файлами, если мы нажимаем открыть файл запросов, то выбор предлагается из файлов с произвольным расширением, но запись происходит в файл с расширением только .txt, но это пол беды, основная неприятность в том что после того как мы открыли файл запросов, консоль не запоминает наш выбор и кнопка "сохранить" либо не доступна, либо сохраняет в файл который был использован ранее при сохранении через кнопку "Сохранить как...", т.е. изменить рабочий файл можно только нажатием кнопки "Сохранить как", хотя логично было бы менять путь к рабочему файлу запросов после кнопки "Открыть".
309. Александр Кораблев (akor77) 732 06.02.18 00:21 Сейчас в теме
310. V1V Фамилия (V1V) 108 09.02.18 10:35 Сейчас в теме
Что ж вы версию платформы нигде не написали? "СтрНайти" и прочее. Ну нет этих функций в режимах совместимости. А время потеряно. Очень жаль.
316. Александр Кораблев (akor77) 732 04.03.18 19:40 Сейчас в теме
(310)Привет, жаль что это Вас расстроило. Думаю, Вам будет очень трудно работать программистом.
311. Anas Nazmutdinov (nasik90) 16.02.18 16:54 Сейчас в теме
Александр, каким образом можно скопировать значение поля из результат запроса в табличной части?
Горячая клавиша Ctrl+C не копирует.
317. Александр Кораблев (akor77) 732 04.03.18 19:41 Сейчас в теме
(311) Привет, надо включить режим редактирования. Смотри в описании.
312. john key (kadild) 17.02.18 01:24 Сейчас в теме
Платформа 8.3.10.2667 УФ

1. Загрузка из XML в параметры не работает. Выгрузил таблицу значений ОбщегоНазначения.ЗначениеВСтрокуXML(ТЗ), сохранил в файл. При попытки загрузить в параметры в консоле все виснет на долго и после вылетает.

Есть ли другие способы передать данные из эксель в параметры?

2. Не нашел как добавить параметры самому. Есть только автозаполнение из запроса, но свои варианты не могу добавить.

Может я не там смотрю?

Жаль нужные мне функции не работают, только ради них качал
318. Александр Кораблев (akor77) 732 04.03.18 19:46 Сейчас в теме
(312)Привет,
1. консоль не загружает в параметры XML с таблицей значений.
В консоли есть функционал выгрузки и загрузки объектов из одной базы в другую, с аналогичными структурами объектов.
Читайте внимательно описание, там всё описано.
2. а зачем тебе свои параметры если они не используются? Ну если тебе очень хочется добавить лишних строк, то добавь их в тексте запроса и они автоматом появятся в таблице параметров. Ответь,зачем они тебе?
320. john key (kadild) 06.03.18 01:02 Сейчас в теме
(318)
Читайте внимательно описание, там всё описано.

Серьезно? Как автор могли ответить более развернуто.
Все что там написано у вас про XML, что значение параметра ТЗ, одну колонку, можно выгрузить в файл, которая и то вызывает ошибку "Поле объекта не обнаружена (Ссылка)". Загрузки всего ТЗ нет. Зачем так урезать функционал, непонятно.
Я в любой типовой конфигурации с БСП могу в отладке поставить точку останова и одной строкой получить текст XML любого значения и целого запроса со всеми его параметрами (ЗначениеВСтрокуXML, ЗапросВСтрокуXML). Это все легко копипастится в консоль для продолжения работы, но у вас в отличие от типового консоля это все вырезано. Тоже не понятно почему.

В консоли есть функционал выгрузки и загрузки объектов из одной базы в другую, с аналогичными структурами объектов.
Наверное круто, но какое это отношение имеет к моему вопросу.

2. а зачем тебе свои параметры если они не используются? Ну если тебе очень хочется добавить лишних строк, то добавь их в тексте запроса и они автоматом появятся в таблице параметров. Ответь,зачем они тебе?

Отвечаю: затем, что при разработке как и у других людей у меня часто несколько вариантов одних и тех же параметров.
Объясняю, например, есть параметр ТЗ с данными и чтобы прогнать запрос с другим содержимым я должен заполнить его содержимое другими данными без возможности возврата старой версии? Менять названия параметра, чтобы наконец-то появился нужный параметр? Лишние телодвижения никогда не ускоряли работу. В таком комбайне как ваш запросник, было странным решением ограничить разработчика.
321. Александр Кораблев (akor77) 732 06.03.18 16:15 Сейчас в теме
(320)1. Вы поняли что-то своё, а не то, что написано на картинке в описании: "Добавлена возможность выгрузки объектов в XML, ссылки которых находятся в одной из колонок таблицы." Подчёркиваю: Выгрузка ОБЪЕКТОВ (Документы, справочники, т.е. объекты с ссылкой). Это было сделано для копирования элементов справочников, счетов БУ и т.п. из одной БД в другую.
Это не сохранение и получение таблиц значений при помощи XML, это Выгрузка/Загрузка ссылочных ОБЪЕКТОВ.
2. Тебе всё-равно придётся менять название параметра в тексте запроса, таким образом, появится новый параметр. Это не решит проблему, или я что-то не понимаю?
324. john key (kadild) 06.03.18 21:03 Сейчас в теме
(321)
1. Вы поняли что-то своё
Похоже да.
2. Тебе всё-равно придётся менять название параметра в тексте запроса, таким образом, появится новый параметр. Это не решит проблему, или я что-то не понимаю?
Не решит проблему, создаст новую. Добавлять параметры через код - дико.
Что касается загрузки ТЗ из XML, то это хорошая идея, реализую.
Будет круто. Так же прикрутить возможность, как в типовой, загрузки всего запроса с текстом и его параметрами из отладчика в консоль
"ЗначениеВФайл(<ИмяФайла>, <Значение>)"
Тоже не удобно использовать для этого отдельный файл и бегать туда за содержимым, когда можно в отладчике сразу получить значение XML. Может есть функция получения результата напрямую?

Ну как говорится, хозяин барин, если тебе не нужно - ну и хрен сними.
325. Александр Кораблев (akor77) 732 06.03.18 22:41 Сейчас в теме
(324)Дружище, сделай хорошо и поделись решением.
329. john key (kadild) 08.03.18 13:40 Сейчас в теме
(325)
Дружище, сделай хорошо и поделись решением.

Понял. Странно, я даю фитбэк, чтобы продукт развивался, а вместо этого ощущение, что просто хотят заткнуть. Смысла нет что-то тут писать.
322. Александр Кораблев (akor77) 732 06.03.18 16:24 Сейчас в теме
(320)Что касается загрузки ТЗ из XML, то это хорошая идея, реализую.
323. Александр Кораблев (akor77) 732 06.03.18 17:02 Сейчас в теме
(320)Используй для сохранения таблицы вместо "ОбщегоНазначения.ЗначениеВСтрокуXML(ТЗ)" функцию платформы "ЗначениеВФайл(<ИмяФайла>, <Значение>)".
Потом этот файл загружай кнопкой "Загрузить таблицу из файла" (на форме вверху слева первая).
313. Константин Лебедев (klebedev) 21.02.18 16:16 Сейчас в теме
IMHO заполнение результата запроса для нулевых значений значениями <0> лучше сделать настраиваемым - пусто или новый механизм
315. Александр Кораблев (akor77) 732 04.03.18 19:34 Сейчас в теме
(313)привет, если четно, то мне тоже не нравится знак "<0>", он как бельмо, пока не придумал чем его заменить.
314. kubiky (kubiky) 123 01.03.18 15:08 Сейчас в теме
Александр, спасибо за консоль.
Недостаток: не совсем понятна настройка связей таблиц (невозможно вручную сопоставить связи)
319. Александр Кораблев (akor77) 732 04.03.18 19:54 Сейчас в теме
(314)Привет, это к разработчикам платформы 1С
326. Николай Копышков (akim2040) 07.03.18 09:01 Сейчас в теме
Вопрос. Так и задумано что нельзя скопировать полученное значение в результате выполнения запроса?
и второй вопрос, автоподбор ширины колонок отключается? не всегда это удобно
327. Александр Кораблев (akor77) 732 07.03.18 10:26 Сейчас в теме
(326)Привет, Что касается копирования результата запроса, то эта проблема решена начиная с версии 8.3.2.25. Эта версия в тестовой обкатке, скоро выложу.Что делать сейчас - нажать над табличным документом кнопку редактирования, тогда копирование будет доступно.
Что касается ширины колонок, то пока ещё не рассматривал этот вопрос, возьму на заметку.
328. Николай Копышков (akim2040) 07.03.18 11:20 Сейчас в теме
(327) Благодарю. По ширине колонок реально бывает непомерно расширяет колонку из-за пары значений, хотя колонка сама по себе миниатюрная должна быть.
330. Georg Georg (Georg_QQ) 10.03.18 13:35 Сейчас в теме
Есть предложение разбор запроса на пакеты выполнять не ручным анализом текста с удалением комментариев и т.д. а через конструкцию схемы запроса.
Функция СоздатьТаблицуВТ(Знач ТекстДляРазбора) Экспорт
	
	ВТ = Новый ТаблицаЗначений;
	ВТ.Колонки.Добавить("ИмяПакета", Новый ОписаниеТипов("Строка"));
	ВТ.Колонки.Добавить("ЭтоВТ", Новый ОписаниеТипов("Булево"));
	ВТ.Колонки.Добавить("УничтожениеВТ", Новый ОписаниеТипов("Булево"));
	ВТ.Колонки.Добавить("ТекстПакета", Новый ОписаниеТипов("Строка"));
	
	Сч = 0;
	
	СхемаЗапроса = Новый СхемаЗапроса();
	СхемаЗапроса.УстановитьТекстЗапроса(ТекстДляРазбора);
	
	Для Каждого ЗапросПакета Из СхемаЗапроса.ПакетЗапросов Цикл
		
		СтрокаПакета = ВТ.Добавить();
		
		Если ТипЗнч(ЗапросПакета) = Тип("ЗапросУничтоженияТаблицыСхемыЗапроса") Тогда
			
			СтрокаПакета.ИмяПакета	= "Уничтожение " + ЗапросПакета.ИмяТаблицы;
			СтрокаПакета.ТекстПакета= "УНИЧТОЖИТЬ " + ЗапросПакета.ИмяТаблицы;
			СтрокаПакета.УничтожениеВТ = Истина;
			
		ИначеЕсли ТипЗнч(ЗапросПакета) = Тип("ЗапросВыбораСхемыЗапроса") Тогда
			
			Если НЕ ПустаяСтрока(ЗапросПакета.ТаблицаДляПомещения) Тогда
				СтрокаПакета.ИмяПакета	= ЗапросПакета.ТаблицаДляПомещения;
				СтрокаПакета.ЭтоВТ = Истина;
			Иначе
				Сч = Сч + 1;
				СтрокаПакета.ИмяПакета = "Результат" + Формат(Сч, "ЧГ=0");
				
			КонецЕсли;
			СтрокаПакета.ТекстПакета= ЗапросПакета.ПолучитьТекстЗапроса();
				
		КонецЕсли;
		
		
	КонецЦикла;
	
	Возврат ВТ;
	
КонецФункции
Показать


Метод получается более короткий и надежный. тот же принцип можно использовать при проверке на ошибки. При наличии ошибок исключение даст эта строка
СхемаЗапроса.УстановитьТекстЗапроса(ТекстДляРазбора);
.

Плюс метода не нужно избавляться от комментариев и любых других незначащих строк текста запроса. По времени выполнения сказать ничего не могу, не замерял. но чисто визуально в данном плане на тестовом запросе из 100+ пакетов ничего не изменилось.

Еще маленькая хотелка. Было бы неплохо иметь возможность выбора вывода в табличный документ (как сейчас) или в Список таблиц значений с их одновременным отображением на вкладках вместо таб.документа, т.к. как при необходимости проверки результатов открытие окна ТЗ блокирует форму обработки. Если дадите разрешение могу заняться подобной плюшкой, но чуть позже.
331. Александр Кораблев (akor77) 732 10.03.18 14:02 Сейчас в теме
(330)Привет, в планах имеется использование "Схемы запроса", но есть проблема совместимости с версиями платформы ниже 8.3.5. По этому, если схема запроса будет использоваться, то для других целей и не на всех платформах.

Что касается одновременного анализа двух таблиц, то выводи всё в табличный документ и открывай "редактор табличного документа", там удаляй, добавляй всё что нужно из табличного документа обработки в табличный документ редактора. Даже кнопка для выделения текущей таблицы (таблица, в которой выделена ячейка) создана, выделяй, копируй, вставляй, сравнивай, анализируй!
332. Georg Georg (Georg_QQ) 10.03.18 14:48 Сейчас в теме
(331) Идея хорошая. но при большом количестве строк в клиент серверном варианте табличный документ реагирует на простое выделение ячейки почти минуту (8.3.2.25) Как бы это не есть хорошо. в 24 версии такого не было.

Поправка, при небольшом количестве строк задержка все равно есть +-10 сек. очень неудобно.

Проблема в функции СуммироватьЗначения не указан контекст исполнения. Происходит постоянный вызов сервера. при использовании &НаКлиентеНаСервереБезКонтекста все становится хорошо.
333. Александр Кораблев (akor77) 732 10.03.18 15:04 Сейчас в теме
(332) У меня сейчас нет под рукой базы с большими данными, по этому проверить не могу. Предполагаю, что это из-за пересчёта сумм в ячейках.
334. Georg Georg (Georg_QQ) 10.03.18 15:07 Сейчас в теме
(333) да, только дело было не в размере выборки данных, а просто при каждой активизации ячейки неявный контекстный вызов сервера. Файловая база не заметит, а клиент-серверная вешалась. Где проблема. см. (332)
335. Александр Кораблев (akor77) 732 10.03.18 15:33 Сейчас в теме
(334)Есть ошибка, не указал инструкцию препроцессору для процедуры "СуммироватьЗначения" (в основной форме обработки и в форме редактора табличного документа).

правка: На рисунке указано "НаКлиенте", надо "НаКлиентеНаСервереБезКонтекста".
Прикрепленные файлы:
336. Georg Georg (Georg_QQ) 12.03.18 06:53 Сейчас в теме
Нашел еще пару ошибок. в версии 8.3.2.25, но для 8.3.2.26 полагаю тоже актуально.


1. путь к файлу в заголовке почему-то иногда отображается так как на картинке
2. При комментировании части кода, если 1 строка комментируемого выделения находится на более дальней позиции от начала строки, чем последующие символы "//" вставляются некорректно
Прикрепленные файлы:
337. Александр Кораблев (akor77) 732 12.03.18 07:37 Сейчас в теме
(336)Спасибо, буду исправлять.
338. Georg Georg (Georg_QQ) 12.03.18 11:53 Сейчас в теме
При исполнении запроса есть проверка на пакет уничтожения таблицы, которая выполняется после получения результата данного пакета
Если Лев(СтрокаПакета.ТекстПакета, 10) = "УНИЧТОЖИТЬ" ИЛИ Лев(СтрокаПакета.ТекстПакета, 4) = "DROP" Тогда

не проще проверить таким образом?
Если РезультатЗапроса = Неопределено Тогда

Основываюсь на информации из синтаксис-помощника
Запрос (Query)
Выполнить (Execute)
Синтаксис:

Выполнить()
Возвращаемое значение:

Тип: РезультатЗапроса; Неопределено.
Результатом исполнения запроса на уничтожение временной таблицы является значение Неопределено.


Так же если убрать галочку "показать" с пакета уничтожения таблицы. получим ошибку, как раз из-за значения "неопределено" в переменной "РезультатЗапроса":

{ВнешняяОбработка.КонсольЗапросовУФ.МодульОбъекта(140)}: Значение не является значением объектного типа (Выбрать)
Выборка = РезультатЗапроса.Выбрать();

Корректнее будет
Если РезультатЗапроса = Неопределено Тогда
			
	Если СтрокаПакета.Показать Тогда
		ОблЗаголовка.Текст = СтрокаПакета.ТекстПакета + " (" + ВремяВыполнения + " мс.)";
		ОблЗаголовка.Шрифт = Новый Шрифт( , , 14, Истина);
		ОблЗаголовка.ЦветТекста = WebЦвета.Красный;
	КонецЕсли;
				
	Продолжить;
						
КонецЕсли;
Показать
339. Александр Кораблев (akor77) 732 12.03.18 16:39 Сейчас в теме
340. Georg Georg (Georg_QQ) 29.03.18 09:33 Сейчас в теме
Небольшой недочет выравнивания значений табличного документа результатов.
Прикрепленные файлы:
341. Александр Кораблев (akor77) 732 29.03.18 11:16 Сейчас в теме
(340)Действительно! Честно говоря, я даже не замечал этого. )
Заявка принята.
342. Олег Зубрицкий (user607480_elsystem2000) 2 29.03.18 18:28 Сейчас в теме
На первый взгляд - это консоль запросов из мечты. Спасибо, буду играться.
dj_serega; +1 Ответить
343. Александр Кораблев (akor77) 732 29.03.18 18:53 Сейчас в теме
344. Сергей Маслаков (user790109) 02.04.18 12:51 Сейчас в теме
Постоянно выпадает ошибка. С 10 попытки может и не вылезет ошибка. платформа 8.3.10.2580
Прикрепленные файлы:
345. Александр Кораблев (akor77) 732 02.04.18 13:37 Сейчас в теме
(344)похоже на ошибку текста запроса, добавь в самом начале запроса выражение "ВЫБРАТЬ". )
346. Сергей Маслаков (user790109) 02.04.18 14:48 Сейчас в теме
(345)Это когда я нажимаю конструктор запроса и просто выбираю документ.. На этапе выбора документа вылезает эта ошибка
347. Александр Кораблев (akor77) 732 02.04.18 16:29 Сейчас в теме
(346)Попробуй почистить кэш. Конструктор запроса - это объект платформы.
349. Дмитрий Иванов (Waxy) 01.05.18 21:01 Сейчас в теме
Консоль очень интересная, спасибо за ваш труд.
Правильно ли я понял из описания, что для захвата запроса с параметрами из кода необходимо редактировать сам код и иметь доступ к дисковому пространству, доступному с сервера?
Не планируется ли когда-нибудь добавить возможность вызова консоли с заполненным запросом и параметрами прямо из режима отладки?
Как например в https://infostart.ru/public/15306/ или https://infostart.ru/public/236904/
350. Александр Кораблев (akor77) 732 02.05.18 13:40 Сейчас в теме
(349)Привет! Вызвать консоль можно без редактирования текста. для этого её можно вызвать в отладчике через форму "Вычислить выражение".
Папка должна быть доступна. но там есть нюанс, если консоль открыта с клиента, а база серверная и сервер 1С на другом сервере (железе), то надо прописать полный путь к сохраняемому файлу как на сервере. Во всех случаях, папка должна быть расшарена для 1С.
351. Александр Кораблев (akor77) 732 02.05.18 14:03 Сейчас в теме
(349)для вызова консоли используй код "ВнешниеОбработки.Создать("C:\КонсольЗапросовУФ.epf", Ложь).ОбработатьВнешнийЗапрос(Запрос, "РезультатыЗапроса")", где параметры:
- "Запрос" + сохраняемый запрос.
- ВМЕСТО "РезультатыЗапроса" - укажи полный путь файла БЕЗ расширения. (на данный момент, подстановка пути по умолчанию (равной каталогу вызова консоли) не работает.
352. Алекс Ю (AlexO) 124 05.05.18 12:57 Сейчас в теме
Не может открыть обыкновенный файл с деревом запросов.
В функции "ОткрытьДеревоЗапросовЗавершение" проверяется почему-то только на тип "Структура", хотя возвращается "ДеревоЗначений", да и в функции "ПолучитьФайлНаСервере" вроде как сохраняется в хранилище также тип "ДеревоЗначений".
А на выходе - уже получаем тип Структура.
Ну и далее ошибка и выход с "Загружаемый файл не является файлом дерева запросов!".
Вот честно, вроде навороченный запросник, а с разгону - даже не может открыть файл SEL с запросами.
Что, никто не проверял даже?)
353. Александр Кораблев (akor77) 732 05.05.18 17:16 Сейчас в теме
(352)всем понятно, что у данной консоли свой формат сохранения запросов. Вы первый, кто этого не понял и пытается открыть файл созданный в другой консоли.
354. Александр Кораблев (akor77) 732 05.05.18 17:18 Сейчас в теме
(352)я тебя вспомнил, ты меня уже тролит и обесценивал мою консоль.
355. Алекс Ю (AlexO) 124 05.05.18 18:01 Сейчас в теме
(354) ну ты сам посуди - консоль не открывает ТИПОВЫЕ файлы запросов, имея какие-то "свои" форматы сохранения.
И в описании об этом речи нет потому - что это тоже троллинг твоей консоли?
Тогда у Вас что-то не так с восприятием вашей разработки.
(353)
и пытается открыть файл созданный в другой консоли.
Не какая-то "растакая другая" консоль, а есть стандартный формат хранения файлов запросов 1С в текстовом виде.
У Вас он не поддерживается (по причине - чего? Вы сами можете это объяснить?), хотя консоль разработана для использования в 1С, для правки запросов в 1С.
Ничего же не мешало открывать типовой запрос, и сохранять его в вашем любимом формате (ну разве что предупредить об этом при сохранении).
Т.е. у Вас сделано вроде как много всего - но нет даже связи с форматами 1С?
Вы понимаете, что это, по меньшей мере, странно)
357. Александр Кораблев (akor77) 732 06.05.18 00:14 Сейчас в теме
(355)про подавляющих личностей (как ты) написано в книге Рут Миншулл "Спады и подъемы". Это для тех, кто читает нашу переписку и находится под подавлением.
358. Georg Georg (Georg_QQ) 14.05.18 08:51 Сейчас в теме
(355)
а есть стандартный формат хранения файлов запросов 1С в текстовом виде.


SEL не есть стандартный формат хранения запроса в файле. он морально устарел вместе с 8.1 и уже очень много времени стандартный формат сохранения запросов q1c. И он не текстовый, а xml. именно его использует 1С (смотри итс). так что то что используете вы именно "растакая другая" консоль к 1с никакого отношения не имеющая. и никак иначе.

То что большинство продолжает использовать устаревший механизм, не значит что его должны использовать все. это раз. Два: т.к. большинство использует, не тот формат что рекомендован для данных целей разработчиками платформы, то ваша претензия не имеет под собой никаких оснований. Три: Нигде не сказано "все консоли запросов обязаны поддерживать стандартный формат 1с (q1c) и все устаревшие форматы (включая SEL) для обратной совместимости". Разработчик сам вправе решать что ему использовать.
359. EvgeniuXP EvgeniuXP (EvgeniuXP) 16.05.18 22:10 Сейчас в теме
Сразу получил два недочета: платформа 8.3.11.2700. Посмотрите, что можно сделать... Первая - сразу как открываю просто форму, вторая картинка - когда нажал кнопку "Сортировать таблицу".
Прикрепленные файлы:
360. Александр Кораблев (akor77) 732 16.05.18 22:57 Сейчас в теме
(359)Привет, похоже, что консоль запросов открыта как внутренняя обработка.
Это мой косяк.
Как исправить:
Открой в конфигураторе модуль формы "ФормаРедакторТабличногоДокумента" и замени там строку:
ОткрытьФорму("ВнешняяОбработка.КонсольЗапросовУФ.Форма.ФормаНастройкаСортировкиТаблицыЗначений", ПараметрыФормы, ЭтаФорма, ЭтаФорма, , , Оповещение, );

На
ОткрытьФорму(ПолучитьИмяОбработки() + ".Форма.ФормаНастройкаСортировкиТаблицыЗначений", ПараметрыФормы, ЭтаФорма, ЭтаФорма, , , Оповещение, );
361. Александр Кораблев (akor77) 732 16.05.18 22:59 Сейчас в теме
(359)А что касается первой картинки, то даже не знаю что сказать. Похоже на косяк платформы.
EvgeniuXP; +1 Ответить
362. Александр Кораблев (akor77) 732 16.05.18 23:33 Сейчас в теме
(359)
платформа 8.3.11.2700

её нет на сайте обновлений, походу, кривой релиз. Обнови платформу.
EvgeniuXP; +1 Ответить
363. EvgeniuXP EvgeniuXP (EvgeniuXP) 17.05.18 18:20 Сейчас в теме
(362)
её нет на сайте обновлений, походу, кривой релиз. Обнови платформу.
версия 8.3.12.1469 - тоже самое
364. Александр Кораблев (akor77) 732 17.05.18 18:23 Сейчас в теме
(363)
версия 8.3.12.1469 - тоже самое

Этот релиз тоже кривой, его нет на сайте обновлений
EvgeniuXP; +1 Ответить
365. EvgeniuXP EvgeniuXP (EvgeniuXP) 17.05.18 18:26 Сейчас в теме
(364)
Этот релиз тоже кривой, его нет на сайте обновлений

убрал режим совместимости с 8.3.3 - вроде помогло :) Спасибо, за оперативность :)
366. EvgeniuXP EvgeniuXP (EvgeniuXP) 17.05.18 18:33 Сейчас в теме
(365) а это так и должно быть? что там писать нужно?

P.S. Там ничего и писать нельзя... не понимаю смысла...
Прикрепленные файлы:
367. Александр Кораблев (akor77) 732 17.05.18 18:39 Сейчас в теме
(366)
там у колонки надо установить флаг выбора из списка, я в очередном релизе поправил, пока не выкладывал.
368. Александр Кораблев (akor77) 732 17.05.18 18:43 Сейчас в теме
(366) Установит флаг "РежимВыбораИзСписка"
369. EvgeniuXP EvgeniuXP (EvgeniuXP) 24.05.18 21:51 Сейчас в теме
а можно еще сделать, чтобы в табличную часть отображать гуиды? иногда нужно, не всегда, обмен ведем по гуидам, можно было быстро находить. В других консолях это есть, а в этой вроде нет, не нашел... а другую консоль как-то и ставить не хочется, эта больно нравится :)
371. Александр Кораблев (akor77) 732 25.05.18 00:08 Сейчас в теме
(369)Привет, есть один вариант получения гуидов. Надо выполнить запрос с выгрузкой в табличную часть, а потом воспользоваться готовым шаблоном, который добавит колонку уида в таблице и сгенерирует код для получения гуидов. Это описано в версии "ВЕРСИЯ 8.3.2.17" пункт 3 пп. а.

Я так получал таблицы одинаковых справочников из разных баз, а потом запросом эти две таблицы сравнивал.
370. EvgeniuXP EvgeniuXP (EvgeniuXP) 24.05.18 22:33 Сейчас в теме
Вот, еще ошибку нашел, если открыть редактор табличного документа, выделить всё содержимое (CTRL+A) и нажать на панели инструментов "Выделить текущую область" или "текущую строку" или "текущую колонку" получим ошибку. Понимаю, это дурак выделяет всё, а потом еще команду дает выделить область, строку или колонку :) мелкие придирки, на усмотрение автора.
Прикрепленные файлы:
372. Александр Кораблев (akor77) 732 25.05.18 00:09 Сейчас в теме
373. Vasilii Markin (UUUU4) 30.05.18 21:53 Сейчас в теме
1С:Предприятие 8.3 (8.3.11.2924) для ЗУП 2.5 на толстом клиенте не открывается сообщение об ошибке не выводит
374. Александр Кораблев (akor77) 732 30.05.18 22:56 Сейчас в теме
(373)Привет, а как воспроизвести ошибку?
375. Vasilii Markin (UUUU4) 30.05.18 23:21 Сейчас в теме
(374)
1С:Предприятие 8.3 (8.3.11.2924) для ЗУП 2.5 на толстом клиенте

просто попробовать открыть обработку, появляется у курсора мыши символ ожидания и затем не чего не происходит нет ни каких уведомлений. Обычная консоль запросов от ИТС под 82 работает, но мне нужен GUID в запросе
376. Александр Кораблев (akor77) 732 30.05.18 23:32 Сейчас в теме
(375)"Консоль запросов для Управляемых форм", а ЗУП 2.5 на простых формах.
377. Александр Кораблев (akor77) 732 30.05.18 23:40 Сейчас в теме
(375)Не знаю, получится ли, в конфигураторе настроить как конфигурацию на управляемых формах и попробовать посмотреть консолью. Завтра ам попробую на копии ЗУПа 2.5.
378. Дмитрий Фроловичев (Froloid) 65 06.06.18 13:12 Сейчас в теме
Подскажите пожалуйста по порядку распространения обновлений. Получается что 5 стармани нужно за каждую новую версию платить?
379. Александр Кораблев (akor77) 732 06.06.18 14:15 Сейчас в теме
(378) Добрый день! Да. Дело в том, что на некоторые доработки я трачу по несколько дней, по этому в рамках поддержки - это не такие большие расходы.
Сколько стоит час Вашей работы?
380. Дмитрий Фроловичев (Froloid) 65 06.06.18 18:34 Сейчас в теме
(379)
Сколько стоит час Вашей работы?

Вопрос не публичный, но достаточно много...

Суть я понимаю и согласен. Просто схема получается не очень - тут наверное даже не к Вам вопрос.

Получается что сама обработка - достаточно комплексная и полезная. И почему она стоит 5 см, а не 1 как большинство - понятно. Но видно - что она очень живая и поэтому часто обновляется. И сколько бы не стоил час и сколько бы их не было затрачено, сама схема при которой активный пользователь обработки если хочет иметь свежую версию за 3 месяца купит её 5 раз (а см - это я как понимаю те же деньги) - это как-то не справедливо. Разовая стоимость обновления комплексного инструмента, не должна равняться его стоимости (по крайней мере если это не новая редакция, а просто новый релиз в понятиях типовых конфигураций 1С).

С учётом скорости с которой ведутся изменения, логично было бы уже сделать её платной и поддержку (бесплатные обновления) на 12 месяцев.
381. Александр Кораблев (akor77) 732 06.06.18 19:05 Сейчас в теме
(380)Всё верно, вопрос про зарплату, это больше ответ чем вопрос.
И курьёз ситуации мне понятен.
На данный момент, мне пока не виден способ решения ситуации.
Мне надо разобраться, как правильно организовать продажу и обновление.
Пока у меня нет понимания как это организовать.
382. Дмитрий Фроловичев (Froloid) 65 06.06.18 23:22 Сейчас в теме
(381) Если решите продавать за денежку сравнимую с подобными вещами здесь, то рассмотрю со всей серьёзностью. А пока скачал очередную версию.

Чтобы от нашей переписки мог выйти какой-нибудь толк накидаю чего бы мне хотелось бы ещё от данной (и так мега-полезной) обработки:
1) Редактор табличного документа:
а) Запоминать использованные для таблицы настройки сортировки (иногда отсортируешь по 5 полям, затем понимаешь что нужно последовательность полей поменять, а приходится всю сортировку заново настраивать);
в) Добавить возможность фильтрации таблицы (наподобии сортировки);
г) Добавить возможность открытия произвольного mxl/xlsx документа в редакторе (удобная штука для работы и с другими таблицами, плюс иногда документ полученный и из консоли хочется сохранить как эталон и потом когда-нибудь с ним сравнить; здесь возможно и сравнение двух таб доков пригодилось бы)
2) Вывод результатов запроса/пакетов: большие выборки сильно тормозят при выводе. Сейчас есть лимит при превышении которого ни чего не выводится. Лучше было бы в данной ситуации что-то из (или по выбору):
а) Выводить первые в рамках лимита;
б) Выводить в простом виде без форматирования (в старой типовой консоли на обычных формах даже многомилионные таблицы выводятся без особых проблем);
в) Выводить в разбивке на страницы (например, как в DataCommander'е);
3) Выполнение запросов:
а) На выполнение ветки желательно сделать комбинацию клавиш (например, Ctrl+5);
б) При выполнении ветки, если текущая строка это "лист", то выполнять стоит родительскую ветвь;
г) Разбиение запросов на более простые:
1. Желательно иметь возможность разбить запрос, на вложенные запросы по каждому пакету отдельно, назначив им с родительским один МВТ. Тогда можно будет отлаживать конкретные пакеты больших (тяжёлых) запросов выполняя непосредственно только нужный пакет и используя при этом ранее сформированные таблицы;
2. В идеале ещё уметь разбивать на отдельные подзапросы/пакеты вложенные запросы (преобразовать вложенный запрос в 2 пакета);
3. Ещё в идеале уметь разбивать запрос содержащий несколько объединений на отдельные запросы (что бы понять откуда взялись данные в результате). При этом не просто разбить текст на несколько, а в каждом последующем запросе перетащить псевдонимы из первого, чтобы везде колонки именовались как в родительском;
д) При выполнении запроса, если для него определён МВТ, то сначала уничтожать эти ВТ.

Если что сумбурно изложил - готов пояснить. По 3-му пункту многие вещи самому очень хочется. Поэтому если чего сделаю (не дождавшись :0), то готов буду поделиться.
383. Дмитрий Фроловичев (Froloid) 65 06.06.18 23:24 Сейчас в теме
(382) Делал отступы упорно перед каждым пунктом - а они все слетели :0( Хоть кодом в виде комментариев оформляй прямо :0)
384. Александр Кораблев (akor77) 732 06.06.18 23:49 Сейчас в теме
(382) Спасибо, за хороший отзыв!
Хорошие пожелания, благодарю. Буду выполнять.
г) Разбиение запросов на более простые

За подобное я брался 3 года назад. Там вложенные запросы полностью разбирались на временные таблицы. Надо поискать обработку и как-нибудь продолжить.
У меня есть в планах ещё пара отличных идей, но они пока пусть останутся в тайне.

Пункт
При выполнении запроса, если для него определён МВТ, то сначала уничтожать эти ВТ
не совсем понятен.
385. Дмитрий Фроловичев (Froloid) 65 07.06.18 00:04 Сейчас в теме
(384)
Пункт
При выполнении запроса, если для него определён МВТ, то сначала уничтожать эти ВТ
не совсем понятен.


Пример подобной необходимости в текущей реализации обработки (если реализовать пожелание с разбиением на подзапрос для каждого пакета с единым МВТ, то там ни куда от этого):

' Выполнил я один запрос и хочу посмотреть, что будет, если его немного изменить. Я его копирую, вношу изменения и пытаюсь выполнить ветку (верхнюю, для этого мне нужно кликнуть по ней мышкой - там было такое пожелание чтобы выполнялась верхняя если текущий уровень лист), чтобы посмотреть сразу оба результата и сравнить изменения. При этом я получаю ошибку, что ВТ такая же уже существует (если они ВТ в запросе используются естественно).
386. Александр Кораблев (akor77) 732 07.06.18 00:40 Сейчас в теме
387. Тарас Пачуашвили (manuel) 196 07.06.18 13:36 Сейчас в теме
(382)
г) Разбиение запросов на более простые:
1. Желательно иметь возможность разбить запрос, на вложенные запросы по каждому пакету отдельно, назначив им с родительским один МВТ. Тогда можно будет отлаживать конкретные пакеты больших (тяжёлых) запросов выполняя непосредственно только нужный пакет и используя при этом ранее сформированные таблицы;
2. В идеале ещё уметь разбивать на отдельные подзапросы/пакеты вложенные запросы (преобразовать вложенный запрос в 2 пакета);
3. Ещё в идеале уметь разбивать запрос содержащий несколько объединений на отдельные запросы (что бы понять откуда взялись данные в результате). При этом не просто разбить текст на несколько, а в каждом последующем запросе перетащить псевдонимы из первого, чтобы везде колонки именовались как в родительском;

Все это есть в Анализаторе сложных запросов. Единственно псевдонимы не перетаскиваются. А так весь запрос полностью раскладывается на составляющие. И выполнить можно по отдельности хоть вложенный запрос, хоть часть объединения.
390. Дмитрий Фроловичев (Froloid) 65 07.06.18 22:00 Сейчас в теме
(387) О, прикольная вещичка. Надо попбовать.
388. Vitaly . (sonGodv) 38 07.06.18 15:44 Сейчас в теме
Жаль, что нет раскраски кода в окне текста запроса
389. Александр Кораблев (akor77) 732 07.06.18 18:16 Сейчас в теме
(388)Привет, обещать ничего не буду, но как-нибудь рассмотрю возможность такой реализации.
391. Дмитрий Фроловичев (Froloid) 65 07.06.18 22:04 Сейчас в теме
(389) Вот очень хочется мне сделать что-то типа встроенного объекта (ole и activex) в утром текст запроса можно редактировать в sublime или npp с установленными приборами для 1с... Прям очень очень...
392. Дмитрий Фроловичев (Froloid) 65 13.06.18 19:31 Сейчас в теме
Вызов консоли в отладчике - таблицы МВТ.

Я сначала обрадовался такой здоровской функции, а потом сник - оказывается таблицы существующие в МВТ запроса не сериализуются. А без этого отлаживать "сложные запросы типовых" не получится. Там это сплошь и радом. Нужно срочно добавлять этот функционал :0)

Я так полагаю у автора уже есть эта фича - нужно только релизнуть ;0)
393. Александр Кораблев (akor77) 732 13.06.18 20:17 Сейчас в теме
(392)Это была моя заготовка для сюрприза!
394. Дмитрий Фроловичев (Froloid) 65 14.06.18 00:37 Сейчас в теме
(393) Мил человек, релизни пожалуйста. Я её 3 раза ради такой фичи скачаю:0)
395. Александр Кораблев (akor77) 732 14.06.18 00:38 Сейчас в теме
(394)Хорошо, на выходных сделаю.
396. Дмитрий Фроловичев (Froloid) 65 14.06.18 00:56 Сейчас в теме
401. Александр Кораблев (akor77) 732 18.06.18 18:49 Сейчас в теме
(396)Дмитрий, я про ""Тип не может быть выбран в запросе"" (из личной переписки), это ложь.

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

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

ПРОФ вариант корректно захватывает содержимое МВТ.

По этому, это не с консолью запросов что-то не так, а с передаваемой в параметр ТЗ - нетипизированые колонки.
397. Олег Молочников (milkers) 1921 15.06.18 14:47 Сейчас в теме
(0) Очень хотелось бы иметь механизм рекомпозиции запроса

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

Это приходится делать на каждом уровне вложенности.

Если бы можно было сделать это одной кнопкой!!!
398. Александр Кораблев (akor77) 732 15.06.18 14:59 Сейчас в теме
(397)Привет, в планах это есть, но не на первом месте. На данный момент, работаю над подобием "буфера обмена" для таблиц значений используемых в параметрах, выгрузках запросов. Чтобы эти таблицы можно было легко назначать в качестве параметров запросов не прибегая к внешним файлам (сохранению и загрузке). Кроме того, этот механизм сделает удобной работу с внешними источниками данных.
Что касается рекомпозиции запроса, то займусь ею в порядке очереди, после того, что описал в начале.
399. Олег Молочников (milkers) 1921 15.06.18 15:35 Сейчас в теме
400. Александр Кораблев (akor77) 732 15.06.18 15:41 Сейчас в теме
(399)Про "буфер таблиц значений" сам, про "внешние источники данных" тоже. Что касается парсинга запроса, то им я начинал заниматься года три назад, но так и не смог тогда продолжить, сделал только переводчик запроса "рус - eng" и обратно. Ещё, где-то лежит обработка, которая вложенные запросы "вытаскивает" во временные таблицы - с точностью до наоборот того о чём ты говорил. )
Оставьте свое сообщение