Пожелание для консоли запросов
|
|
mrd | Дата: Пятница, 28.09.2012, 13:56 | Сообщение # 1 |
Рядовой
Группа: Пользователи
Сообщений: 1
Репутация: 0
Статус: Оффлайн
| Предлагаю на закладке "Параметры" добавить кнопку, по которой можно было бы сформировать текст кода установки параметров на основе имеющихся параметров и их установленных значений, при этом для агрегатных типов данных, у которых есть код (элемент справочника, счет плана счетов, значение характеристики плана видов характеристик и т.д.), можно инициализировать значение параметра по коду, соответственно текст кода установки мог бы выглядеть "Запрос.УстановитьПараметр("Счет25",ПланыСчетов.Хозрасчетный.НайтиПоКоду("25"));" Это могло бы упростить процедуру установки параметров отлаженного запроса в обработках
|
|
| |
decdmb | Дата: Среда, 19.06.2013, 13:08 | Сообщение # 2 |
Рядовой
Группа: Проверенные
Сообщений: 1
Репутация: 0
Статус: Оффлайн
| Предлагаю добавить возможность обработки массива результатов пакетного запроса.
|
|
| |
AnyBody | Дата: Четверг, 20.06.2013, 11:40 | Сообщение # 3 |
Рядовой
Группа: Проверенные
Сообщений: 17
Репутация: 3
Статус: Оффлайн
| 1. Предлагаю добавить возможность управлять "ДеревомЗапросов". Дерево растет "и в ширь и в глубь". Хотелось бы иметь возможность сворачивать/разворачивать его на определенном уровне. Сейчас приходиться "нудно" опускаться по дереву до нужного места и по дороге сворачивать/разворачивать нужные ветки.
2. Предлагаю разработать API для работы с "наработанным" и сохраненным деревом запросов. Сейчас приходиться в консоле в реальной БД отрабатывать запросы, а затем переносить его в "программный код".
3. Сохранять/Восстанавливать настройки отображения результатов выполнения запроса. Хорошо если бы эти настройки сохранялись в привязке к конкретному запросу, а не всего дерева.
Сообщение отредактировал AnyBody - Четверг, 20.06.2013, 14:09 |
|
| |
also | Дата: Вторник, 25.06.2013, 16:53 | Сообщение # 4 |
Сержант
Группа: Проверенные
Сообщений: 31
Репутация: 0
Статус: Оффлайн
| Предлагаю на вкладке параметры сделать механизм copy-paste параметров из одного запроса дерева в другую.
|
|
| |
tormozit | Дата: Понедельник, 12.08.2013, 02:55 | Сообщение # 5 |
Генералиссимус
Группа: Администраторы
Сообщений: 6195
Репутация: 159
Статус: Оффлайн
| Цитата (also) Предлагаю на вкладке параметры сделать механизм copy-paste параметров из одного запроса дерева в другую. В 2.88 реализована возможность копирования параметров между запросами путем перетаскивания
|
|
| |
also | Дата: Четверг, 12.09.2013, 16:04 | Сообщение # 6 |
Сержант
Группа: Проверенные
Сообщений: 31
Репутация: 0
Статус: Оффлайн
| Отлично, спасибо!
|
|
| |
SirStefan | Дата: Вторник, 26.11.2013, 06:08 | Сообщение # 7 |
Сержант
Группа: Проверенные
Сообщений: 27
Репутация: 0
Статус: Оффлайн
| А может кнопке "Удалить переносы строк" добавить функционала еще и на замену в тексте запроса "" на " ?
|
|
| |
tormozit | Дата: Вторник, 26.11.2013, 09:53 | Сообщение # 8 |
Генералиссимус
Группа: Администраторы
Сообщений: 6195
Репутация: 159
Статус: Оффлайн
| Цитата SirStefan ( ) А может кнопке "Удалить переносы строк" добавить функционала еще и на замену в тексте запроса "" на " ? Развивать эту кнопку не планируется.
|
|
| |
Release | Дата: Четверг, 30.01.2014, 14:45 | Сообщение # 9 |
Рядовой
Группа: Проверенные
Сообщений: 8
Репутация: 0
Статус: Оффлайн
| Большая просьба сделать состояние кнопок ПоказыватьИтоги и СверткаСвойства запоминающими состояние. Надоедает их клацать каждый раз при открытии формы обработки.
З.Ы. И добавить проверку на РезультатКоллекция <> Неопределено в НастроитьКолонкиРезультата(). Иначе вылетает с ошибкой при нажатии кнопки ПоказыватьИтоги и не инициализированной таблице РезультатКоллекция.
Сообщение отредактировал Release - Четверг, 30.01.2014, 14:48 |
|
| |
K_A_O | Дата: Среда, 05.02.2014, 16:08 | Сообщение # 10 |
Рядовой
Группа: Проверенные
Сообщений: 12
Репутация: 0
Статус: Оффлайн
| Функция ирКлсПолеТекстовогоДокументаСКонтекстнойПодсказкой.ЗаполнитьДоступныеТаблицыADO() получает только таблицы, нельзя ли добавить настройки, чтобы можно было получать так же и представления.
|
|
| |
tormozit | Дата: Среда, 05.02.2014, 21:29 | Сообщение # 11 |
Генералиссимус
Группа: Администраторы
Сообщений: 6195
Репутация: 159
Статус: Оффлайн
| По получению представлений (view) из метаданных базы через ADO боюсь что это придется делать тебе самому и выложить кусок доработанного кода. Думаю там несложно. Но обкатать будет сподручнее тому, у кого есть подходящая реальная база под рукой.
|
|
| |
tormozit | Дата: Среда, 05.02.2014, 21:34 | Сообщение # 12 |
Генералиссимус
Группа: Администраторы
Сообщений: 6195
Репутация: 159
Статус: Оффлайн
| Release, проблемные ситуации (ошибки) рекомендую размещать в отдельных темах в соответствующем разделе форума. Иначе ценная информация об обнаруженных проблемах здесь может затеряться, особенно в широких темах типа этой.
|
|
| |
K_A_O | Дата: Четверг, 06.02.2014, 21:18 | Сообщение # 13 |
Рядовой
Группа: Проверенные
Сообщений: 12
Репутация: 0
Статус: Оффлайн
| Цитата По получению представлений (view) из метаданных базы через ADO боюсь что это придется делать тебе самому и выложить кусок доработанного кода. Если необходимо видеть и таблицы, и представления, это как раз просто. Достаточно убрать наложенный отбор.
Версия подсистемы 3.03, модуль обработки ирКлсПолеТекстовогоДокументаСКонтекстнойПодсказкой, строки 1540-1546
Код Фильтры = Новый Массив(); Фильтры.Добавить(); // TABLE_CATALOG Фильтры.Добавить(); // TABLE_SCHEMA Фильтры.Добавить(); // TABLE_NAME Фильтры.Добавить("TABLE"); // TABLE_TYPE Фильтры = Новый COMSafeArray(Фильтры, "VT_VARIANT"); ОписаниеТаблицRecordSet = Конфигурация.OpenSchema(20, Фильтры); //adSchemaTables // Может выполняться долго (oracle) Достаточно заменить на строку без фильтров
Код ОписаниеТаблицRecordSet = Конфигурация.OpenSchema(20);
Иное, если кому-то потребуется видеть только таблицы, или только представления. Тогда нужно выносить на форму настроек ADO список выбора и его анализировать. Хотя с моей точки зрения, ограничения типов не нужно.
|
|
| |
tormozit | Дата: Четверг, 06.02.2014, 21:32 | Сообщение # 14 |
Генералиссимус
Группа: Администраторы
Сообщений: 6195
Репутация: 159
Статус: Оффлайн
| K_A_O, На каких СУБД ты проверял? Уверен, что кроме таблиц и представлений туда ничего лишнего не попадает для всех СУБД, если убрать фильтр? Кажется в нашей базе oracle без этого фильтра выдавалось раз в 5 больше элементов, большинство из которых мне были непонятны.
|
|
| |
K_A_O | Дата: Четверг, 06.02.2014, 22:04 | Сообщение # 15 |
Рядовой
Группа: Проверенные
Сообщений: 12
Репутация: 0
Статус: Оффлайн
| tormozit, Да, системные таблицы точно не нужны. Но наверно типов TABLE и VIEW должно хватить.
Код ОписаниеТаблицRecordSet = Конфигурация.OpenSchema(20); ADOUtils = мПлатформа.ПолучитьADOUtils(); Если ADOUtils <> Неопределено Тогда ОписаниеТаблицТЗ = ADOUtils.ADORecordsetToValueTable(ОписаниеТаблицRecordSet); Для Каждого СтрокаТЗ Из ОписаниеТаблицТЗ Цикл ТипТаблицы = СтрокаТЗ.TABLE_TYPE; Если ВРЕГ(ТипТаблицы)<>"TABLE" И ВРЕГ(ТипТаблицы)<>"VIEW" тогда продолжить; КонецЕсли; СтрокаТаблицы = ДоступныеТаблицы.Добавить(); СтрокаТаблицы.Имя = СтрокаТЗ.TABLE_NAME; СтрокаТаблицы.Схема = СтрокаТЗ.TABLE_SCHEMA; СтрокаТаблицы.Тип = ТипТаблицы; СтрокаТаблицы.Описание = СтрокаТЗ.DESCRIPTION; ПолноИмя = СтрокаТаблицы.Имя; Если ЗначениеЗаполнено(СтрокаТаблицы.Схема) Тогда ПолноИмя = СтрокаТаблицы.Схема + "." + ПолноИмя; КонецЕсли; СтрокаТаблицы.ПолноеИмя = ПолноИмя; СтрокаТаблицы.НПолноеИмя = НРег(СтрокаТаблицы.ПолноеИмя); КонецЦикла; Добавлено (06.02.2014, 22:02) ---------------------------------------------
Код Иначе Индикатор = ирОбщий.ПолучитьИндикаторПроцессаЛкс(ОписаниеТаблицRecordSet.RecordCount, "Получаем метаданные"); Пока Не ОписаниеТаблицRecordSet.EOF() Цикл ирОбщий.ОбработатьИндикаторЛкс(Индикатор); ТипТаблицы = ОписаниеТаблицRecordSet.Fields("TABLE_TYPE").Value; Если ВРЕГ(ТипТаблицы)<>"TABLE" И ВРЕГ(ТипТаблицы)<>"VIEW" тогда продолжить; КонецЕсли; СтрокаТаблицы = ДоступныеТаблицы.Добавить(); СтрокаТаблицы.Имя = ОписаниеТаблицRecordSet.Fields("TABLE_NAME").Value; СтрокаТаблицы.Схема = ОписаниеТаблицRecordSet.Fields("TABLE_SCHEMA").Value; СтрокаТаблицы.Тип = ТипТаблицы; СтрокаТаблицы.Описание = ОписаниеТаблицRecordSet.Fields("DESCRIPTION").Value; ПолноИмя = СтрокаТаблицы.Имя; Если ЗначениеЗаполнено(СтрокаТаблицы.Схема) Тогда ПолноИмя = СтрокаТаблицы.Схема + "." + ПолноИмя; КонецЕсли; СтрокаТаблицы.ПолноеИмя = ПолноИмя; СтрокаТаблицы.НПолноеИмя = НРег(СтрокаТаблицы.ПолноеИмя); ОписаниеТаблицRecordSet.MoveNext(); КонецЦикла; ирОбщий.ОсвободитьИндикаторПроцессаЛкс(); КонецЕсли; Добавлено (06.02.2014, 22:04) --------------------------------------------- вроде TABLE и VIEW - везде существуют, но на оракле протестировать не могу
|
|
| |