Четверг, 09.05.2024, 23:05
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум » Основной » Прочее » Пожелание для консоли запросов
Пожелание для консоли запросов
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 - везде существуют, но на оракле протестировать не могу

 
Форум » Основной » Прочее » Пожелание для консоли запросов
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: