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

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

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

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

Комментарии
96. Александр Кораблев (akor77) 724 28.03.15 09:16 Сейчас в теме
99. Андрей К (h00k) 36 28.03.15 23:26 Сейчас в теме
(96) В версии 8.3.2.5 Ошибка в имени функции "ПолучитьФайл()", нельзя давать локальным функциям имена предопределенных, странно что у тебя синтаксис контроль такое пропустил.
заменил имя на "ПолучитьФайлНаСервере()".

минут через 15 отправлю тебе в лс ссылку на 8.3.2.5 с измененным блоком генерации текста для модуля переименованной функцией ПолучитьФайл() и встроенным шаблоном авторегистрации обработки. Посмотри, может что-то "прикрутишь" к консоли.
100. Сергей Галюк (dj_serega) 357 30.03.15 10:24 Сейчас в теме
1.
в 8.3.2.6 появилась ошибка с выполнением запроса.
Меняю "ручками" запрос. Нажимаю F5 (выполнение запроса). Запрос выполнился без изменений. Нажимаю Проверить запрос. Проверка прошла успешно. Нажимаю Выполнить запрос. Запрос выполняется с учетом правок.
Получается что где-то текст запроса закешировался. И для обновления нужно выполнять проверку.

2.
Расширение файла запросов лучше изменить с txt. Допустим на sel.
105. Александр Кораблев (akor77) 724 30.03.15 18:35 Сейчас в теме
101. Глеб Зломанов (Glebis) 10 30.03.15 15:55 Сейчас в теме
Понимаю что может не к месту, но не могли бы вы, товарищи, добавить дополнительную форму для обычного приложения (неуправляемого интерфейса). Очень хочется мне использовать единую (одну) консоль для всех конфигураций.
Если хотите могу попытаться переделать консоль с отказом от модальных окон.
102. Сергей Галюк (dj_serega) 357 30.03.15 16:12 Сейчас в теме
(101) Glebis,
Если хотите могу попытаться переделать консоль с отказом от модальных окон.

Имхо, лучше это дело переложить на плечи Уважаемого текущего разработчика. У него тут всё схвачено + могут идеи появиться.
106. Александр Кораблев (akor77) 724 30.03.15 18:41 Сейчас в теме
(101) Glebis, В планах есть намерение сделать подобную консоль для обычного приложения.
261. Вячеслав Павелко (slawanix) 11 13.01.17 17:06 Сейчас в теме
(106), планы состоялись? Очень не хватает этой консольки под обычное приложение. А на управляемых формах пользуюсь теперь только этой, спасибо за работу!
109. Андрей К (h00k) 36 31.03.15 14:28 Сейчас в теме
(101)Glebis Для режима обычное приложение используйте инструменты разработчика. Все что вам когда-нибудь может понадобиться от консоли, tormozit скорее всего, уже реализовал.

А вот для управляемого режима лучшая реализация консоли у Александра.
110. Алекс Ю (AlexO) 124 31.03.15 15:40 Сейчас в теме
(109) h00k,
А вот для управляемого режима лучшая реализация консоли
так что в ней лучшего? За неимением и отсуствием возможности в УФ разработки нормального инструмента (вообще какого-либо, не только консоли) - идем в сторону "напихаем чего-нибудь, а там видно будет"?
111. Andrey Kolesnikov (Boneman) 169 31.03.15 16:18 Сейчас в теме
как бы сказать ))) ну неплохой такой инструмент получился.
Хорошая работа !
h00k; artbear; dj_serega; +3 Ответить
112. Алекс Ю (AlexO) 124 31.03.15 16:37 Сейчас в теме
(111) Boneman,
ну неплохой такой инструмент получился.
Например, у меня есть своя библиотека - там в 100 раз больше подобного: ТЗ, ТП, ЭУ; в ОФ и УФ и т.д.
Вот у меня - неплохой инструмент?
113. Андрей К (h00k) 36 31.03.15 19:51 Сейчас в теме
(112)AlexO
Вот у меня - неплохой инструмент?

Хотите меряться своим инструментом?! Создайте ветку, может и желающие подтянутся... А здесь мы обсуждаем конкретную публикацию.
115. Алекс Ю (AlexO) 124 01.04.15 00:24 Сейчас в теме
artbear, уже минусы некому ставить?
116. Макс Зеленский (mzelensky) 53 01.04.15 10:22 Сейчас в теме
Крутая штуковина. Однозначно респект, уважуха и котик!
117. Алекс Ю (AlexO) 124 01.04.15 14:25 Сейчас в теме
(116) mzelensky, просто семерошники не в курсе, чего действительно не хватает в восьмерке. А, тем более, в УФ ))
Я тоже семерошник, и, подчас, старая-старая семерка дает возможности, которые в восьмерке и не снились.
118. Тактик 1С (Taktic) 46 06.04.15 16:11 Сейчас в теме
Спасибо за обработку. Классная штука.

Есть пожелание для доработки - сейчас нужно отладить запрос с большим количеством временных таблиц.
Было бы чудесно если бы их структуру (хотя бы название колонок) можно было бы получить автоматически из запроса, а не просто то что параметр это таблица значений.

В идеале - вот если бы можно было получать данные из табличного документа (xls или mxl).
119. Александр Кораблев (akor77) 724 06.04.15 19:42 Сейчас в теме
(118) Taktic, Спасибо за хороший отзыв. А на счёт пожелания, то может достаточно в 'форме редактирования ТЗ' получить текст запроса к этой ТЗ нажав на кнопку 'Создать текст запроса к ТЧ'? Или требуется вывод пустых ТЧ с колонками? Не совсем понял. Каким образом должен выглядеть результат?
120. Глеб Зломанов (Glebis) 10 15.04.15 10:58 Сейчас в теме
Пожелания:
1) У групп элементов "Дерево запросов", "Параметры", "Временные таблицы", "Текст запроса", "Результат" выставить свойства "Поведение" = "Свертываемая", "Отображение управления" = "Картинка", что бы можно было скрывать группы при необходимости. Я это уже сделал.
2) При добавлении нового запроса в дерево переносить (подключить обработчик ожидания) созданный подчинённый элемент на уровень выше. Это я тоже уже сделал, могу кодом поделиться.
3) При описании колонок параметра типа ТЗ: выбор типа колонки крайне не удобен. Хотелось бы видеть дерево значений типов. Пока не понял почему, но в моей самописной конфе не отображался один из справочников при выборе типа столбца. разберусь - отпишусь.
4) Вместо пособничества преступлению нарушению стандартов разработки в виде поддержки "рваных" запросов лучше сделать конвертацию текста запроса в объектную модель схемы запроса и обратно аля Дерево объектной модели схемы запроса. Вообщебы цены не было.
5) Лично для меня привычнее было бы видеть ошибки запроса не под текстом запроса, а справа в области сообщений.
6) Думаю лучше все-же куда-нибудь подоткнуть кнопку "изменить форму".
121. Сергей Галюк (dj_serega) 357 21.04.15 18:27 Сейчас в теме
(120) Glebis,
5) Лично для меня привычнее было бы видеть ошибки запроса не под текстом запроса, а справа в области сообщений.

у меня Такси. Поэтому привычней снизу видеть :)

upd: если сообщение выводится как сейчас, тогда можно на него нажать и в тексте запроса выделится строка с ошибкой. что есть Очень удобно. Так что переделывать не нужно, а если и переделать то опционально.
122. Сергей Галюк (dj_serega) 357 19.05.15 10:31 Сейчас в теме
Привет привет. Продолжение стоит ожидать? :)
123. Андрей К (h00k) 36 19.05.15 10:48 Сейчас в теме
(122) dj_serega, Ну, с одной стороны в консоли уже все необходимое есть, ну кроме плана запроса. А с другой, по субъективным ощущениям, необходимо провести оптимизацию интерфейса и скорости работы.
Сейчас за финансовый год отчитаемся, появится больше свободного времени и прикручу план запросов, а может и оптимизацией получится заняться.
124. Сергей Галюк (dj_serega) 357 19.05.15 11:05 Сейчас в теме
(123) h00k, Я бы начал с оптимизации :( А то уж больно долго иногда.
+ не получилось красиво с сверткой групп.

Не хочется себе допиливать промежуточный вариант, что бы потом играться с сравнением-объединением :)

то что точно оставляю пока это:
&НаКлиенте
Процедура РезультатВыбор(Элемент, Область, СтандартнаяОбработка)

	Если Область.Примечание.Текст = "" Тогда
		
		// SG, вставка 19/05/15 >>>
		// Сообщение об открытии элемента
		Если ЗначениеЗаполнено(Область.Расшифровка) Тогда
			Состояние("Выполняется открытие элемента.",, "" + Область.Расшифровка);
		КонецЕсли;
		// SG, вставка 19/05/15 <<<
		
		Возврат;
	КонецЕсли; 
Показать
128. Александр Кораблев (akor77) 724 01.06.15 20:49 Сейчас в теме
(124) dj_serega, (125) StepByStep, к концу месяца возьмусь за оптимизацию. Так же, готовлю новый функционал - 'дерево вложенных запросов' с возможностью перемещения вложенных запросов во временные таблицы и наоборот.
dj_serega; +1 Ответить
140. Сергей Галюк (dj_serega) 357 23.07.15 12:09 Сейчас в теме
125. Андрей М. (StepByStep) 2901 19.05.15 20:49 Сейчас в теме
Автору с наилучшими пожеланиями мой плюс.
А также парочка предложений:
Прикрепленные файлы:
КонсольЗапросовУФ_8.3.2.7_Предложения.txt
126. Александр Кораблев (akor77) 724 20.05.15 17:51 Сейчас в теме
Всем привет! За консоль возьмусь примерно в конце июня.
127. Андрей М. (StepByStep) 2901 26.05.15 22:15 Сейчас в теме
Версия обработки 8.3.2.7
Платформа 8.3.6.2014.
{Форма.ФормаТаблицаЗначений.Форма(251,9)}: Процедура или функция с указанным именем уже определена (ПолучитьФайл)
Решение:
Переименовать ПолучитьФайл(), например в ПолучитьФайл_() в этой стоке 251 и в строке 232 (Адрес = ПолучитьФайл_();).
129. Сергей Меняйлов (skteks) 04.06.15 17:31 Сейчас в теме
При нажатии кнопки "Выполнить" вылезает след. ошибка (конфа стандартная УТ 11 (демо)):

Платформа: 1С:Предприятие 8.3 (8.3.6.1977)
Конфигурация: Управление торговлей, редакция 11.1 (11.1.10.138) (http://v8.1c.ru/trade/)
Copyright © ООО "1C", 2003-2015. Все права защищены
(http://www.1c.ru)
Режим: Файловый (без сжатия)
Приложение: Тонкий клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
Вариант интерфейса: Версия 8.2

Ошибки:
--------------------------------------------------------------------------------
04.06.2015 17:29:00
Ошибка преобразования данных XDTO:
Запись значения свойства 'd':
форма: Элемент
имя: {http://v8.1c.ru/8.2/mngsrv/ws}d
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'РезультатЗапроса'
--------------------------------------------------------------------------------
04.06.2015 17:04:03
Ошибка загрузки документа.
по причине:
Ошибка подключения внешних метаданных
Внешние метаданные не могут быть прочитаны текущей версией программы
130. Сергей Галюк (dj_serega) 357 05.06.15 15:35 Сейчас в теме
1.
+ к ошибке (129). У меня более точные данные :)

{Обработка.КонсольЗапросовУФ.Форма.Форма.Форма(621)}: Ошибка при вызове метода контекста (ПроверитьТекстЗапроса_ПолучитьПараметры_ОбновитьДанные)
ПроверитьТекстЗапроса_ПолучитьПараметры_ОбновитьДанные();
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'v':
форма: Элемент
имя: {http://v8.1c.ru/8.2/uobjects}v
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства:
форма: Элемент
имя: {http://v8.1c.ru/8.2/data/spreadsheet}d
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'РезультатЗапроса'
Показать


еще детальней:
	Если СтруктураДанных = Неопределено Тогда
		пХранилище = ПолучитьИзВременногоХранилища(ЭтотОбъект.ПутьКХранилищу);
	Иначе
		пХранилище = СтруктураДанных;
	КонецЕсли;
	
	пТабПараметров = пХранилище.ТабПараметров;

В данном случае пХранилище = Неопределено. Возможно нужно какую-то проверку добавить.


2. Найдена еще одна ошибка:
Обработка.КонсольЗапросовУФ.МодульОбъекта Возможно ошибочное свойство: "ИспользуемоеИмяФайла"
Строка кода в модуле объекта:
	ФайлОбработки = Новый Файл(ЭтотОбъект.ИспользуемоеИмяФайла);
131. Дмитрий Ященко (sommid) 11.06.15 11:08 Сейчас в теме
в запросах использую конструкции
ВЫБОР
			КОГДА &Склад = НЕОПРЕДЕЛЕНО
				ТОГДА ИСТИНА
			ИНАЧЕ Док.Склад В (&Склад)
		КОНЕЦ

Никак не удается задать параметру Склад значение Неопределено. Через кнопочку изменить тип выбираю Неопределено, но ,видимо, при выполнении запроса тип сбрасывается на пустую ссылку
132. Дмитрий Ященко (sommid) 16.06.15 11:35 Сейчас в теме
а еще: так задумано, что нельзя скопировать значение из результирующего табличного документа пока не нажмешь "Редактирование таблицы"? это не очень удобно..
133. Дмитрий Ященко (sommid) 08.07.15 09:07 Сейчас в теме
1. Если изменить текст запроса, то в параметрах остаются старые параметры, если их удаляешь и выполняешь запрос или нажимаешь проверить или открываешь конструктором и нажимаешь ок, то старые параметры восстанавливаются (
2. если удалить корневой запрос (т.е. в дереве запросов - ни одной строки), то падает 1С
134. Сергей Галюк (dj_serega) 357 09.07.15 21:32 Сейчас в теме
(133) sommid, Не замечал. Регулярно удаляю корень. 8.3.5.1248.
135. Дмитрий Ященко (sommid) 10.07.15 09:13 Сейчас в теме
(134) хм, решил попробовать сейчас и отладчиком посмотреть, чтобы понять, где падает - так теперь не падает ничего ). А тогда два или три раза повторилось... если словлю, то напишу подробнее.
136. Дмитрий Ященко (sommid) 10.07.15 10:04 Сейчас в теме
(134) вроде бы споймал. Делаю такую картинку в консоли: один запрос - делал к справочнику валют. Сначала был параметр &Ссылка (выполнил запрос), потом его в запросе изменил на &Валюта (выполнил запрос) -> получилось, что в таблице параметров первая строка с выключенным параметром &Ссылка и включенным параметром &Валюта.
Удаляю строку из списка запросов - текст запроса очищается, таблица с параметрами отображается как и ранее. Кликаю по табличному полю параметров - падает 1С.
Судя по коду - зацикливание: срабатывает обработчик ПараметрыТЗПриАктивизацииСтроки(), далее в ПолучитьограничениеТипаЭлементаНаСервере() доходит до строки
ТекПараметр = пХранилище.ТабПараметров.НайтиСтроки(Отбор)[0];
и сразу же оказывается в обработчике ПараметрыТЗПриАктивизацииСтроки().
Не знаю зависит ли это от данных, но пХранилище.ТабПараметров не содержит параметра "Валюта", по которому идет Отбор, т.е. пХранилище.ТабПараметров.НайтиСтроки(Отбор) - возвращает пустой массив.

У меня недавно была похожая ситуация с зацикливанием: при активизации строки вызывается серверная процедура, заполняет другую таблицу и после этого платформа еще раз вызывает обработчик при активизации строки. Нагуглил, что народ делал принудительно проверку в этом обработчике: текущая строка <> предыдущей текущей строке. Мне помогло.
Если ПредТекСтрока = Элементы.ПараметрыТЗ.ТекущаяСтрока Тогда
		Возврат;
	КонецЕсли;
	ПредТекСтрока = Элементы.ПараметрыТЗ.ТекущаяСтрока;

теперь законно ругается на индекс за границами массива, но хотя бы 1С не падает )
137. Дмитрий Ященко (sommid) 10.07.15 10:05 Сейчас в теме
(136) 1С:Предприятие 8.3 (8.3.5.1383)
138. Сергей Галюк (dj_serega) 357 10.07.15 12:19 Сейчас в теме
(136) sommid,
на индекс за границами массива

Я себе это поправил. Вот коды:
Модуль объекта:
Процедура ПолучитьПараметрыЗапроса(Знач ТекстДляРазбора, ИД, СтруктураДанных = Неопределено) Экспорт
	
...
....
....	
	// SG, вставка 05/06/15 >>>
	// пХранилище может быть неопределено
	Если	Не ЭтоАдресВременногоХранилища(пХранилище)
		И	Не ТипЗнч(пХранилище) = Тип("Структура") Тогда
		Возврат;
	КонецЕсли;
	// SG, вставка 05/06/15 <<<
Показать

Модуль форм:
	// SG, вставка 18/06/15 >>>
	Элементы.ВТВремяВыполнения.ТекстПодвала = ВТ.Итог("ВремяВыполнения");
	// SG, вставка 18/06/15 <<<
	
КонецПроцедуры // ВывестиРезультат()

&НаКлиенте
Процедура РезультатВыбор(Элемент, Область, СтандартнаяОбработка)

	Если Область.Примечание.Текст = "" Тогда
		
		// SG, вставка 19/05/15 >>>
		// Сообщение об открытии элемента
		Если ЗначениеЗаполнено(Область.Расшифровка) Тогда
			Состояние("Выполняется открытие элемента.",, "" + Область.Расшифровка);
		КонецЕсли;
		// SG, вставка 19/05/15 <<<
		
		Возврат;
	КонецЕсли; 
Показать

&НаСервере
Процедура ПриИзмененииФлагаВ_ВТСервер()
	
...
...
...

	// SG, вставка 05/06/15 >>>
	// пХранилище может быть неопределено
	Если	Не ЭтоАдресВременногоХранилища(пХранилище)
		И	Не ТипЗнч(пХранилище) = Тип("Структура") Тогда
		Возврат;
	КонецЕсли;
	// SG, вставка 05/06/15 <<<
Показать
139. Валерий Калинин (klinval) 253 16.07.15 13:17 Сейчас в теме
Если удалить неиспользуемый параметр через Del, то он "возвращается" после изменения запроса. Удаление через кнопку работает корректно.
141. Дмитрий Ященко (sommid) 23.07.15 16:25 Сейчас в теме
если после выполнения запроса вручную (не конструктором) редактируешь запрос и используешь "ctrl+v" для вставки, то текст "съезжает" так, что редактируемая строка оказывается внизу видимой области, когда продолжаешь набор текста (например, нажишаешь пробел), то редактируемая строка возвращается в исходную позицию - такое дергание мешает, если можно, то поправьте
142. Михаил Эртель (artms) 132 25.08.15 16:33 Сейчас в теме
Серверная ERP вылетает при нажатии в конструкторе "+" в таблице "База данных.документы". Нет времени локализовать ошибку.
143. Сергей Галюк (dj_serega) 357 27.08.15 10:59 Сейчас в теме
Поставили 8.3.6.2237. Теперь консолька ЛЕТАЕТ. Отладка запускается за несколько секунд. Никаких тормозов при открытии консольки. Теперь и оптимизировать нечего =))))
144. Сергей Растатурин (tristarr1) 36 06.09.15 21:07 Сейчас в теме
А как насчет использования в качестве параметра произвольного кода?
145. Александр Кораблев (akor77) 724 07.09.15 04:58 Сейчас в теме
(144) tristarr1, Пока об этом не думал, а на сколько это необходимо?
146. Сергей Растатурин (tristarr1) 36 07.09.15 08:29 Сейчас в теме
(145) У всех по разному) Просто столкнулся на днях что в качестве параметра устанавливается иерархическая выборка по справочнику с некоторым отбором и каким-то условием в обходе выборки и было лень вникать и переделывать это в таблицу или в запрос. Решил что проще будет сделать вычисляемый параметр и сделал, на базе вашей консоли.
И еще вопрос. У вас вывод производится в цикле. Я конечно не занимался замерами производительности но такое ощущение что СКД выводит быстрее чем, выборка в цикле. Посему посетила идея. А что если по итогам выборки создавать СКД с полями и помещать в нее в качестве объекта выборки полученную таблицу. Понятно что решение не оптимальное так как надо будет еще раз обращаться к таблице средствами СКД, но вдруг в этом есть смысл?
147. Сергей Галюк (dj_serega) 357 07.09.15 10:01 Сейчас в теме
(146) tristarr1, тут сразу увидел возможную сложность. Если нужно вывести в ТабДок несколько ВТ то не получится. Только если нужен итоговая таблица.
148. Сергей Растатурин (tristarr1) 36 07.09.15 13:00 Сейчас в теме
(147) dj_serega, Почему же не получится? выполнить несколько компоновок и присоединить табличные документы. Правда непонятно что будет с форматированием...
149. Александр Кораблев (akor77) 724 07.09.15 17:51 Сейчас в теме
(146) tristarr1, Привет, что касается СКД, действительно, слетит форматирование. А что касается вычисляемого параметра, кидай мне свой вариант консоли, я гляну. Если это легко реализовать и это отлажено, то почему бы и нет.
150. Сергей Растатурин (tristarr1) 36 08.09.15 08:54 Сейчас в теме
153. Александр Кораблев (akor77) 724 08.09.15 21:14 Сейчас в теме
154. Сергей Растатурин (tristarr1) 36 09.09.15 08:22 Сейчас в теме
(153) Отлично!) Теперь и я причастен к "прекрасному") А что за скачивание каждый раз СМ снимают, или я чего-то не знаю?
155. Валерий Калинин (klinval) 253 09.09.15 09:20 Сейчас в теме
(154) tristarr1, Политика партии, однако. В офф описании нигде об этом ни слова, но тут (прямая ссылка на сообщение почему-то не работает, поэтому ссылка не тему, а в ней см. 375 сообщение) support пишет:
В течение 7 дней можно скачивать повторно. Сделано данное ограничение в целях борьбы с пиратами. Так как большинство обработок кто-нибудь скачивал, и считает, что ими надо поделиться без разрешения автора. Если автор хочет раздавать бесплатно, то для этого есть dropbox, yandex drive, mail disk, google drive, еще куча сервисов, которые предлагают раздавать файлы.

Тут кстати типичный пример когда это правило не совсем корректно: ты дал автору разработки готовый код, он его внедрил и чтобы тебе этим пользоваться надо ещё заплатить 1СМ (причём автору пойдёт 0,8, а инфостарту 0,2). Т.е. заплатил за то что сам же и придумал...
(146) tristarr1, (153) КРУТО! Вот такое развитие консоли не может не радовать))
157. Александр Кораблев (akor77) 724 09.09.15 18:43 Сейчас в теме
158. Валерий Калинин (klinval) 253 10.09.15 09:28 Сейчас в теме
(157) неправильно меня понял: ты тут ни при чём, это правила инфостарта такие... Какие могут к тебе претензии: ты сделал отличную консоль, берёшь за неё минимальную цену, постоянно её развиваешь!))
156. Сергей Растатурин (tristarr1) 36 09.09.15 11:08 Сейчас в теме
(153) Скачал, потестил. Версия 8.3.2.9 тип значения параметра - граница. вид границы включая. Выполняю запрос, значение сбрасывается на пустую дату.
162. Александр Кораблев (akor77) 724 15.09.15 20:53 Сейчас в теме
(156) tristarr1, (160) dj_serega, Исправил.
151. Сергей Галюк (dj_serega) 357 08.09.15 15:50 Сейчас в теме
(146) tristarr1, Если я правильно понял то это можно будет в параметр ТЗ подставить свою выборку из (к примеру) тч документа?
152. Сергей Растатурин (tristarr1) 36 08.09.15 16:38 Сейчас в теме
(151) dj_serega, в параметр можно будет подставить любое значение получаемое произвольным исполняемым кодом.
159. Глеб Зломанов (Glebis) 10 11.09.15 15:44 Сейчас в теме
предлагаю:
повторно 1) Сделать у групп элементов 2го уровня:
ГруппаДереваЗапросов
ГруппаПараметры
ВременныеТаблицы
Шапка
ГрупаРезультат
Свойства: Поведение = Свертываемое, Отображение управления = Картинка, Отображение = СлабоеВыделение, чтобы можно было сворачивать неиспользуемые группы на форме, вместо кнопок "свренуть/развернуть" текст запроса и результата.
2) В заголовке выводить путь до файла с текстом запроса, вместо номера версии обработки.

Скрин предложения прикрепил.
Прикрепленные файлы:
164. Александр Кораблев (akor77) 724 15.09.15 21:00 Сейчас в теме
(159) Glebis, попытка была, тогда появились новые ошибки, тов такси одно не подходило, то в управляемой другое. И дерево нельзя без поля текста запроса сворачивать. Уже точно не помню на что тогда напоролся. Если есть рабочий вариант, то скинь мне, я посмотрю.
161. Константин Седорчук (snikers44) 12 15.09.15 11:32 Сейчас в теме
Вот на такую беду наткнулся:
{Форма.Форма.Форма(1112)}: Ошибка при вызове метода контекста (ВыполнитьЗапросСервер)
	ВыполнитьЗапросСервер();
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'v':
	форма: Элемент
	имя: {http://v8.1c.ru/8.2/uobjects}v
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства:
	форма: Элемент
	имя: {http://v8.1c.ru/8.2/data/spreadsheet}d
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'РезультатЗапроса'
Показать


Такое происходит при выполнении запроса с выборкой табличной части документа.
163. Александр Кораблев (akor77) 724 15.09.15 20:56 Сейчас в теме
(161) snikers44, а можно конкретный пример, у меня запросы к табличным частям нормально отрабатывают.
165. Константин Седорчук (snikers44) 12 16.09.15 10:10 Сейчас в теме
(163) доброго дня.
Еще раз скажу спасибо вам за проделанную работу =)
а по поводу ошибки:
пример запроса к документу некой конфы wiseadvice "Финансист" на платформе 1С:Предприятие 8.3 (8.3.6.2152) после которой крашится платформа (запрос составлен конструктором):
ВЫБРАТЬ
	удсЗаявкаНаРасходДС.РасшифровкаПлатежа.(
		Ссылка,
		СтатьяОборотов
	)
ИЗ
	Документ.удсЗаявкаНаРасходДС КАК удсЗаявкаНаРасходДС
ГДЕ
	удсЗаявкаНаРасходДС.Ссылка = &Ссылка
Показать


Такая жеж штука и на УПП. Данные о совместимости в картинке.
Прикрепленные файлы:
168. Александр Кораблев (akor77) 724 16.09.15 17:49 Сейчас в теме
(165) snikers44, Теперь понял. В ячейку табличного документа помещается значение с типом выборки запроса, а на клиенте этот тип не поддерживается. Подумаю как обыграть этот момент.
183. Константин Седорчук (snikers44) 12 22.09.15 09:24 Сейчас в теме
(168) Спасибо вам еще раз за проделанную работу.
191. Александр Кораблев (akor77) 724 22.09.15 17:17 Сейчас в теме
171. Сергей Галюк (dj_serega) 357 17.09.15 16:43 Сейчас в теме
(165) snikers44, Уже решено в текущем релизе 11. Очень красиво получилось ;)
166. Кутиков Евгений (wokituk) 17 16.09.15 11:20 Сейчас в теме
Судя по описанию - ГЕНИАЛЬНО!

Не увидел в описании возможность загрузки значений параметров из файла.

Часто использую такой механизм: в отладчике в табло пишу "ЗначениеВФайл(<Имяфайла>,Запрос.Параметры)" (потом, если ЗначениеИзФайла(<Имяфайла>) - получается структура). И потом поднимаю набор значений параметров из этого файла (текст запроса отдельно в анализатор переношу). Такой механизм позволяет избежать муторного набора нужных значений параметров при отладке запроса.
dj_serega; +1 Ответить
169. Александр Кораблев (akor77) 724 16.09.15 17:49 Сейчас в теме
(166) wokituk, Хорошая идея, прикручу.
174. Александр Кораблев (akor77) 724 17.09.15 18:51 Сейчас в теме
(166) wokituk, а что мешает использовать вот этот механизм:
ВнешниеОбработки.Создать("C:\КонсольЗапросовУФ.epf", Ложь).ОбработатьВнешнийЗапрос(Запрос, "ИмяФайла");
Там не только параметры, там даже текст запроса сразу захватит, т.е. запрос со всеми потрохами.
178. Валерий Калинин (klinval) 253 18.09.15 09:39 Сейчас в теме
(174) правильно я понял: можно находясь в отладке выгрузить весь запрос с параметрами в файл?
И ещё: а временные таблицы выгрузятся (например в виде ТЗ)?
179. Александр Кораблев (akor77) 724 18.09.15 18:36 Сейчас в теме
(178) klinval, Пример захвата смотри в описании версии 8.3.2.1
Захватывается текст запроса и все параметры.
Содержимое временных таблиц и результирующих пакетов не захватывается.
167. Кутиков Евгений (wokituk) 17 16.09.15 12:00 Сейчас в теме
ВнешниеОбработки.Создать("C:\КонсольЗапросовУФ.epf", Ложь).ОбработатьВнешнийЗапрос(Запрос, "ИмяФайла");

Хотя это делает. Но тут придется сделать пару лишних телодвижений в случае сервера (типа прокидки обработки на сервер). Ну, наверное, и фиг с ним
170. Александр Кораблев (akor77) 724 16.09.15 17:50 Сейчас в теме
(167) wokituk, ))) главное, чтобы путь был виден с сервера приложения.
172. Дмитрий Фролов (DmitryKSL) 153 17.09.15 18:12 Сейчас в теме
Почему я не могу открыть свои старые запросы с расширением .sel ? Ругается - Загружаемый файл не является файлом дерева запросов!
173. Александр Кораблев (akor77) 724 17.09.15 18:41 Сейчас в теме
(172) DmitryKSL, Значит в другой консоли созданы эти файлы и формат другой.
175. Сергей Галюк (dj_serega) 357 17.09.15 19:28 Сейчас в теме
(172) DmitryKSL, было такое. Я когда писал текст запроса (часто руками правлю) нажимал ctrl+s. Указывал файл и сохранял. В итоге сохранился текст запроса.

Но как уже ответили: эта консоль имеет свой формат файла настроек. Поэтому файлы из других консолей не прочитаются.
176. Александр П. (tiniji) 149 18.09.15 05:31 Сейчас в теме
В общем модуле строка 300
		ПрисутствиеВТ = Найти(ВРег(ТекстПакета), "ПОМЕСТИТЬ");
		Если ПрисутствиеВТ > 0 Тогда
		    Оператор_Поместить_INTO = СтрДлина("ПОМЕСТИТЬ");
		КонецЕсли; 
		
		Если ПрисутствиеВТ = 0 Тогда
			ПрисутствиеВТ = Найти(ВРег(ТекстПакета), "INTO");
		КонецЕсли; 
		Если ПрисутствиеВТ > 0 Тогда
		    Оператор_Поместить_INTO = СтрДлина("INTO");
		КонецЕсли; 

		ИмяВТ = "";

		Если ПрисутствиеВТ <> 0 Тогда // "ПОМЕСТИТЬ" найдено.
			СлСимвол = ПрисутствиеВТ + СтрДлина(Оператор_Поместить_INTO);
Показать

Заменить на
ПрисутствиеВТ = Найти(ВРег(ТекстПакета), "ПОМЕСТИТЬ");
		Если ПрисутствиеВТ > 0 Тогда
		    Оператор_Поместить_INTO = СтрДлина("ПОМЕСТИТЬ");
		КонецЕсли; 
		
		Если ПрисутствиеВТ = 0 Тогда
			ПрисутствиеВТ = Найти(ВРег(ТекстПакета), "INTO");
			Если ПрисутствиеВТ > 0 Тогда
			    Оператор_Поместить_INTO = СтрДлина("INTO");
			КонецЕсли; 
		КонецЕсли; 

		ИмяВТ = "";

		Если ПрисутствиеВТ <> 0 Тогда // "ПОМЕСТИТЬ" найдено.
			СлСимвол = ПрисутствиеВТ + Оператор_Поместить_INTO;
Показать
177. Александр Кораблев (akor77) 724 18.09.15 06:17 Сейчас в теме
(176) tiniji, Привет! Да, недоглядел. Файл исправил и перезалил. По задумке должно быть так:
		
		ПрисутствиеВТ = Найти(ВРег(ТекстПакета), "ПОМЕСТИТЬ");
		Если ПрисутствиеВТ > 0 Тогда
		    Оператор_Поместить_INTO = "ПОМЕСТИТЬ";
		КонецЕсли; 
		
		Если ПрисутствиеВТ = 0 Тогда
			ПрисутствиеВТ = Найти(ВРег(ТекстПакета), "INTO");
			Если ПрисутствиеВТ > 0 Тогда
			    Оператор_Поместить_INTO = "INTO";
			КонецЕсли; 
		КонецЕсли; 

		ИмяВТ = "";

		Если ПрисутствиеВТ <> 0 Тогда // "ПОМЕСТИТЬ" найдено.
			СлСимвол = ПрисутствиеВТ + СтрДлина(Оператор_Поместить_INTO);
Показать

И твой и мой варианты исправления рабочие.
180. Сергей Галюк (dj_serega) 357 21.09.15 22:22 Сейчас в теме
А можно пример что бы работала на встроенную обработку? (я о захвате запроса с конфигуратора).
181. Александр Кораблев (akor77) 724 21.09.15 22:27 Сейчас в теме
(180) dj_serega, "Встроенную обработку" - это из справочника внешних обработок? Если да, то консоль не рассчитана на это.
Пример захвата смотри в описании версии 8.3.2.1
182. Сергей Галюк (dj_serega) 357 21.09.15 22:45 Сейчас в теме
(181) Спасибо. Пример я посмотрел. Я думал можно реализовать встроив не во внешние обработки, а в конфу.
184. Key-Zed Key-Zed (Key-Zed) 102 22.09.15 15:08 Сейчас в теме
Есть предложение. Для получения ТЗ или Списка значений в качестве параметра добавить возможность использовать выгруженную таблицу значений.
dj_serega; +1 Ответить
185. Сергей Галюк (dj_serega) 357 22.09.15 15:40 Сейчас в теме
(184) Key-Zed, Выгруженную из другого запроса?
188. Key-Zed Key-Zed (Key-Zed) 102 22.09.15 16:47 Сейчас в теме
196. Александр Кораблев (akor77) 724 22.09.15 19:25 Сейчас в теме
(184) Key-Zed, ну, ты уже сам разобрался, что можно выгрузить таблицу в файл и потом её загрузить в параметр запроса.
Получилось?
186. Key-Zed Key-Zed (Key-Zed) 102 22.09.15 16:22 Сейчас в теме
Ошибка модуля объекта строка 49
Было
Параметр = Неопределено;
Выполнить(Элемент.Значение);
Запрос.УстановитьПараметр(Элемент.Название,Параметр);

Стало
Параметр = Неопределено;
Если Тип("Строка")=ТипЗнч(Элемент.Значение) Тогда
Выполнить(Элемент.Значение);
Запрос.УстановитьПараметр(Элемент.Название,Параметр);
Иначе
Запрос.УстановитьПараметр(Элемент.Название,Элемент.Значение);
КонецЕсли;
190. Александр Кораблев (akor77) 724 22.09.15 17:17 Сейчас в теме
(186) Key-Zed, а это в какой версии консоли? Что за запрос, что за действия были сделаны? Мне не удалось воссоздать ошибку в этом месте.
192. Александр Кораблев (akor77) 724 22.09.15 17:22 Сейчас в теме
(186) Key-Zed, там в принципе нельзя допускать нестроковое значение. и если туда попала "не строка", тогда должна быть вызвана ошибка. Так и должно быть.
194. Key-Zed Key-Zed (Key-Zed) 102 22.09.15 18:50 Сейчас в теме
(192) Когда в качестве параметра выбрана ТЗ и загружена из файла.
187. Key-Zed Key-Zed (Key-Zed) 102 22.09.15 16:33 Сейчас в теме
Еще строка 86

Было
Запрос.Текст = СтрокаПакета.ТекстПакета;

Начало = ТекущаяУниверсальнаяДатаВМиллисекундах();
РезультатЗапроса = Запрос.Выполнить();
Конец = ТекущаяУниверсальнаяДатаВМиллисекундах();
Стало

Запрос.Текст = СтрокаПакета.ТекстПакета;

Начало = ТекущаяУниверсальнаяДатаВМиллисекундах();
Если Запрос.МенеджерВременныхТаблиц=Неопределено Тогда
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
КонецЕсли;
РезультатЗапроса = Запрос.Выполнить();
Конец = ТекущаяУниверсальнаяДатаВМиллисекундах();
189. Александр Кораблев (akor77) 724 22.09.15 17:13 Сейчас в теме
(187) Key-Zed, Зачем? Ведь есть строки 30-34:
	Если МВТ = Неопределено Тогда
		Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	Иначе
		Запрос.МенеджерВременныхТаблиц = МВТ;
	КонецЕсли;
193. Key-Zed Key-Zed (Key-Zed) 102 22.09.15 18:48 Сейчас в теме
(189) Это происходит когда в качестве параметра передаешь тз и помещаешь ее в пакет а потом пакет соединяешь с другой таблицей. А когда идет перебор пакетов в цикле возникает ошибка МенеджераВременныхТаблиц
195. Александр Кораблев (akor77) 724 22.09.15 19:09 Сейчас в теме
(193) Key-Zed, Проверил, Создал запрос к справочнику Ссылка", "Код", "Наимкнование". Выгрузил с помощью встроенного редактора "Работа с таблицей значений" в файл, там же воспользовался функцией создания запроса к этой таблице нажав на кнопку "Создать текст запроса к ТЧ".
Создаю новую ветку запроса, вставляю туда текст запроса, в списке параметров появляется строка параметра,нажимаю кнопку выбора, открывается редактор ТЗ и там загружаю выгруженную ТЗ. Проверяю запрос, выполняю, всё ОК.
Таблицу значений из параметра можно поместить только во временную таблицу и только потом можно объединять временную таблицу с другими, кроме того у таблицы значений (в параметре) обязательно должны быть указаны типы значений полей!
Потом вызываю конструктор и объединяю временную таблицу (куда выгружена ТЗ из параметра) с другой таблицей и всё работает!
197. Key-Zed Key-Zed (Key-Zed) 102 22.09.15 21:22 Сейчас в теме
(195)

Текст запроса примерно такой

ВЫБРАТЬ
	СписокКонтрагентов.Контрагент
ПОМЕСТИТЬ ТЗ
ИЗ
	&СписокКонтрагентов КАК СписокКонтрагентов
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ТЗ.Контрагент,
	Контрагенты.Наименование,
	Контрагенты.Код,
	Контрагенты.ИНН,
	Контрагенты.КПП
ИЗ
	ТЗ КАК ТЗ
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
		ПО ТЗ.Контрагент = Контрагенты.Ссылка
Показать


в качестве источника тз передавал вычисляемый параметр= Таблица значений с колонкой контрагент или готовую тз из файла точно не помню
198. Александр Кораблев (akor77) 724 22.09.15 21:28 Сейчас в теме
(197) Key-Zed, если ты передавал таблицу значений в параметр как результат вычисления, то ты уверен, что колонкам этой ТЗ задан тип? Если тип не задан, то и обычный запрос не отработает.
Какой текст кода генерировал ТЗ для вычисляемого параметра? Покажи.
199. Александр Кораблев (akor77) 724 22.09.15 21:32 Сейчас в теме
(197) Key-Zed, Если выгружал выгрузку из запроса через встроенный редактор ТЗ, то ошибок быть не должно, т.к. там автоматически задан тип значения колонок.
200. Александр Кораблев (akor77) 724 22.09.15 22:08 Сейчас в теме
(197) Key-Zed, ты прав, если ты в качестве параметра использовал код для вычисления. Там сейчас нельзя использовать переменную "Запрос", т.к. в процедуре выполняющей этот код уже используется эта переменная.
Получается что-то вроде:
Запрос = Новый Запрос;
	Если МВТ = Неопределено Тогда
		Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
	Иначе
		Запрос.МенеджерВременныхТаблиц = МВТ;
	КонецЕсли;
...
// И потом в параметре получаем:
Выполнить("Запрос = Новый Запрос;");
// Вот здесь и затирается "Запрос" и Менеджер временных таблиц затёрт...
Показать


Попробуй вместо "Запрос" использовать что-то вроде "Запрос1". В следующей версии я исключу подобную ошибку и добавлю проверку на наличие уже занятых переменных в процедуре делающей вычисление.
201. Key-Zed Key-Zed (Key-Zed) 102 23.09.15 07:27 Сейчас в теме
(200) Да, верно, так и есть, но я глубже не стал кoпать, Зато ты теперь знаешь где ошибка.

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

203. Александр Кораблев (akor77) 724 23.09.15 18:24 Сейчас в теме
(201) Key-Zed, (202) Key-Zed, принял, буду разбираться.
Оставьте свое сообщение