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





























Реализован программный вызов консоли для захвата «рваного» запроса, МВТ и параметров.
В консоли реализована полная поддержка работы с таблицами значений.
Выборочный просмотр пакетов и временных таблиц.
Возможность выборочной выгрузки пакета запроса в ТЗ, с последующим её редактированием, сохранением на диск.
Использование сохранённой ТЗ в качестве параметра для других запросов.
Возможность обхода ТЗ в цикле с выполнением кода.
Отсутствуют ошибки при наличии уничтожения временных таблиц.
Замер времени выполнения каждого пакета запроса.
Приличное окно настройки типа (только для параметров запроса), лёгкое преобразование в список значений и обратно.
Поддержка дополнительных типов: ТЗ, Граница, Момент времени, Вид счёта, Вид движения и т.д.
Форматирование типа значения при выводе запроса (NULL, пустая ссылка, пустая строка и т.п.).
Наверное, самый лучший подбор ширины колонок.
Возможность добавлять листы для вывода результатов запросов.
Генерируется текст для конфигуратора с учётом количества результирующих пакетов, для каждого пакета можно настроить выборку или выгрузку и пересоздать текст….

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

Окно настройки типа значения.
Установив флаг "Список значений" параметр примет соответствующий тип с учётом ограничения типа указанном в дереве. Например, список из документов двух типов РТиУ и ПТиУ.

Окно вызывается кнопкой "Т" расположенной на командной панели над параметрами запроса.

 

Установив флаг "Дополнительные типы" откроется таблица, где можно выбрать дополнительно предложенные типы.

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

Для этого установите флаг "Выгрузить" в соответствующей строке пакета запроса.

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

В результате откроется окно с выгруженной таблицей значений.

 

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

 

Редактирование колонок возможно после нажатия на кнопку "Редактировать колонки".
Откроется табличная часть, где можно изменить имя и тип колонки, добавить новые или удалить ненужные колонки.

ВНИМАНИЕ! Если вы указали в параметре таблицу значений, а таблица пуста, то при открытии формы будет пустое место. Нажмите кнопку "Редактировать колонки" и начинайте создавать новые колонке. В результате появится поле новой таблицы. Или загрузите из файла раннее выгруженную ТЗ.

 

Данные таблицы значений можно выгрузить в табличную часть справочника, документа, обработки или внешней обработки. Для этого нажмите кнопку "Выгрузить в объект" и в открывшемся окне укажите объект, имя и таблицу. Если будет выбрана внешняя обработка, то путь к файлу внешней обработки указывается в поле "Имя объекта".
В нижней табличной части формы будут выведены колонки "таблицы-приёмника".
Первые две колонки (Колонка таблицы приёмника, Тип колонки приёмника) описывают имя и тип колонок приёмника. В колонке "Колонка источник" необходимо указать из какой колонки-источника выгружать данные. При нажатии на строки приёмника и источника, в противоположной таблице будут выделяться строки жирным шрифтом с совпадающими типами значений.

Кнопка "Заполнить автоматически колонки источника" попытается автоматически подобрать соответствующие поля приёмника и источника.
Теперь можно будет нажать "ОК" и перед вами откроется форма заполненного объекта.

Если редактируемая таблица планируется использоваться в качестве параметра для запроса, то можно получить запрос, который будет обращаться к данной таблице. Для этого достаточно нажать на кнопку "Создать текст запроса к ТЧ". В последствии надо будет сохранить ТЗ в файл на диск. Скопировать созданный текст запроса в буфер обмена. Вернуться в главное окно консоли запросов. Создать новую ветку в дереве запросов. Вставить текст запроса и выйти из текстового поля. Консоль автоматически определит параметр и установит тип значения для параметра "Таблица значений". Нажмите на кнопку выбора значения. В результате откроется пустое окно редактора ТЗ. Загрузите, раннее сохранённую ТЗ из файла и нажмите "ОК".

 

Результат выгрузки можно обойти в цикле. Примитивные заготовки текста добавляются в текстовое поле "Модуль" при нажатии на кнопки "Цикл" или "Проведение".

Таблица значений будет помещена в переменную "Результат".

На рисунке изображён другой код, он подправлен вручную для добавления комментария элементам справочника. Здесь можно изменить значения в самой ТЗ. Например, можно с помощью редактора колонок создать колонку "Выполнено" с типом "булево" и в "тексте модуля" в теле цикла добавить "Строка.Выполнено = Истина;" (Этот пример на картинке не изображён).

Нажатие на кнопку "Выполнить" вызовет выполнение кода.

Вывод текста запроса для конфигуратора. Если в запросе используются временные таблицы, то будет создана строка с менеджером временных таблиц. Можно задать значение для отображения переменной запроса. Так же можно указать, каким образом вывести результат запроса, выборкой или выгрузкой. Конструктор текста для конфигуратора автоматически определит количество результирующих пакетов и применит выполнение обычного запроса или пакета запросов. Так же будет сформирован обход в цикле каждого результата запроса с выводом полей пакета запроса.

 

P.S.: Надеюсь, идеи, реализованные в этой консоли, будут полезны. На данном этапе работы над данной консолью стоит задача протестировать и отладить то, что имеется. В ближайших планах, данная консоль будет модернизироваться. Она изначально задумывалась как консоль-функция для управляемых приложений. Те, кто успел поработать с запросами в бухгалтерии 3.0 и столкнулся с кучей временных таблиц, "рваных запросов" и жонглированием с менеджерами временных таблиц поймут, что для анализа подобного "безобразия" необходим специализированный инструмент. Так вот эта консоль как раз и будет вызываться из кода, собирать переданные в неё параметры запроса, тексты запроса, менеджеры временных таблиц из всех кусков рваного запроса и показывать все данные как на блюдце.

Ваша моральная поддержка ускорит этот процесс!

Версия 2.0

Отдельная благодарность h00k за предоставленный универсальный код для платформ 8.2 и 8.3.
Мне очень понравилась идея предложенная пользователем h00k  — создать на панели кнопку проверки текста запроса, это оказалось очень удобно.

Для табличного документа добавлены команды отображения/скрытия заголовков строк и колонок (удобно выделять строку/колонку целиком).
Добавлена кнопка фиксации заголовков и строк таблицы для прокрутки.

Добавлены некоторые типы значений в форме выбора типов.

Поле редактирования запроса заменил на поле текстового документа.
Доработал процедуры комментирования текста.

Часть ошибок запроса выводится не типовым сообщением, а в специальном поле под текстом запроса.

Доработана форма выгрузки в объект.
Форма выбора границы.

В форме для редактирования таблицы значений добавлена кнопка "Уникальный идентификатор" которая выводит текст получения соответствующего значения.

Пока на этом всё. Делитесь впечатлениями и пожеланиями.

 

Версия 8.3.2.1

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

Исправлены ошибки при загрузке файла.
Исправлены ошибки при отказе от загрузки файла.
Исправлено отображение ошибки в запросе при нажатии на гиперссылку с описанием ошибки.
Исправлена ошибка при удалении ветки дерева без родителя и др.

Пример программного вызова консоли для захвата "рваного" запроса и параметров.

Сначала создаётся объект обработки:

ВнешниеОбработки.Создать("C:КонсольЗапросовУФ.epf", Ложь)

Потом вызывается экспортная процедура, в которую передаётся запрос и имя файла.

.ОбработатьВнешнийЗапрос(Запрос, "ИмяФайла");

Новый файл будет сохранён в ту же папку, из которой вызвана консоль.

По умолчанию имя файла = "РезультатыЗапроса".

Файл накапливает результаты вызовов при каждом вызове в новую ветку.

После чего, можно открыть файл в консоли и выполнить эти запросы собранные в одну ветку с использованием общего МВТ.

!!! ЕСЛИ БАЗА ДАННЫХ НАХОДИТСЯ НА СЕРВЕРЕ, ТО УКАЗЫВАЙТЕ ПУТЬ ДОСТУПНЫЙ С СЕРВЕРА !!!

Функция  НашаПроцедура1()

Запрос = Новый Запрос();
МВТ = Новый МенеджерВременныхТаблиц;
Запрос.МенеджерВременныхТаблиц = МВТ;

Запрос.Текст = ПолучетьТекстЗапроса1();
Запрос.УстановитьПараметр("Ххх", "ххх");

Запрос.Выполнить();
ВнешниеОбработки.Создать("C:КонсольЗапросовУФ.epf", Ложь).ОбработатьВнешнийЗапрос(Запрос, "ИмяФайла");

НашаПроцедура2(МВТ);

Запрос.Текст = ПолучетьТекстЗапроса3();

Запрос.Выполнить();
ВнешниеОбработки.Создать("C:КонсольЗапросовУФ.epf", Ложь).ОбработатьВнешнийЗапрос(Запрос, "ИмяФайла");

Возврат НашаФункция(Запрос);

КонецФункции

Процедура НашаПроцедура2(МВТ)

Запрос = Новый Запрос();
Запрос.МенеджерВременныхТаблиц = МВТ;

Запрос.Текст = ПолучетьТекстЗапроса2();
Запрос.УстановитьПараметр("Yyy", "yyy");

Запрос.Выполнить();
ВнешниеОбработки.Создать("C:КонсольЗапросовУФ.epf", Ложь).ОбработатьВнешнийЗапрос(Запрос, "ИмяФайла");

КонецПроцедуры

Функция НашаФункция(Запрос)

Запрос.Текст = ПолучетьТекстЗапроса4();
Запрос.УстановитьПараметр("Zzz", "zzz");

ВнешниеОбработки.Создать("C:КонсольЗапросовУФ.epf", Ложь).ОбработатьВнешнийЗапрос(Запрос, "ИмяФайла");
Возврат Запрос.Выполнить();

КонецФункции.
 

Версия 8.3.2.2

Сохраняются тексты модулей.
Добавлена кнопка выполнения кода модуля из командной панели таблицы пакетов.
Отображение количества строк в таблице пакетов и в заголовке пакета табличного документа.
В табличный документ не выводится заголовки пакетов для которых не установлен флаг "Показать результат".
Добавлены кнопки на форму для управления видимостью элементов.
Задаётся вопрос перед закрытием формы.

 

Версия 8.3.2.3

Добавлено дерево функций языка запросов. Поддерживается перетаскивание мышью.
Закомментировать — Ctrl+Num /
Убрать комментарий — Ctrl+Shift+Num /
Запрос проверяется не всегда, а только по кнопке или вызовом по грячим клавишам, смене ветки запроса.

Решена проблема сохранением дерева запросов и их параметров. (по крайней мере на моих тестовых базах).
Исправлена ошибка после нажатия "Вывод текста запроса".

 

 

Версия 8.3.2.4

Не выкладывал, т.к. обнаружил кучу ошибок.

Версия 8.3.2.5

Добавлена команда для открытия 'файла дерева запроса' указав путь c 'сервера приложения'.
Поиск текста в табличном документе.
Команда для просмотра предопределённых значений. Она удобна для просмотра бухгалтерских счетов, узнать номер. Требуется редко, но "дорога ложка к обеду".
Свернуть/развернуть результат - Ctrl + R
Свернуть/развернуть текст запроса - Ctrl + T
Кнопки для свернуть/развернуть ТД и ТЧ перенёс на командную панель ДЗ.
Пока убрал видимость кнопки 'Свернуть/развернуть параметры'.
Исправление ошибок
Открытие 'Дерева запросов' и сохранение реализовано через хранилище.
Загрузка 'Таблиц значений' и сохранение реализовано через хранилище.
Исправлена ошибка в 8.2 возникающая при окрашивании ячеек/текста/границ




 

Версия 8.3.2.6

 
В окне выбора файла на 'сервере приложения' добавлено 'дерево каталогов'.

Доработки сделанные пользователем h00k:
В окне генерации текста модуля добавлена опция "Проверить результат запроса".
В окне генерации текста модуля в ТЧ добавлена колонка "Итератор" для обозначения переменной итератора при обходе выгрузки.
Добавлена функция авторегистрации внешней обработки.

Отдельное спасибо пользователю dj_serega за тестирование и подсказки.

Версия 8.3.2.7

 
 
 

В окне функций добавлены новые заготовки.
Добавлена форма для получения предопределенных значений или имён объектов:
— Справочники,
— Документы,
— Перечисления,
— Планы видов характеристик,
— Планы счетов,
— Планы видов расчёта,
— Бизнес-процессы
— Задачи.

1. Выделить замещаемый текст,
2. Нажать на кнопку "Получить предопределённое значение",
3. Заполнить поля открывшегося диалогового окна.
4. Нажать "ОК".

Исправлена ошибка:
Перед выполнением запроса применяются изменения сделанные вручную.

В 

ВЕРСИЯ 8.3.2.8

Добавлены кнопки:

  • — Сохранение в Excel,
  • — Удаление страницы (первая страница не удаляется!).

Исправлены ошибки:

  • — 138. dj_serega. Внёс все предложенные исправления.
  • — 142. StepByStep. {Форма.ФормаТаблицаЗначений.Форма(251,9)} Переименовал ПолучитьФайл(), в ПолучитьФайл_()
  • — 139. klinval. Если удалить неиспользуемый параметр через Del, то он "возвращается" после изменения запроса. Удаление через кнопку работает корректно.
  • — 133. sommid . Доработана очистка параметров запроса, теперь система не падает.
  • — Очистка параметров при удалении ветки в дереве запросов.
  • — И некоторые другие ошибки.

 

 

ВЕРСИЯ 8.3.2.9

 

Релиз содержит обновление от tristarr1:

  • В параметр можно подставить любое значение получаемое произвольным исполняемым кодом. Значение присваивается пременной "Параметр".

 

ВЕРСИЯ 8.3.2.10

Исправлены ошибки:

  • 156. tristarr1 Значение Параметра с типом "Граница" не преобразуется в пустую дату при выполнении запроса.
  • 160. dj_serega Корректно работает табличное поле "Временные таблицы" при попытке просмотреть выгруженную таблицу.

ВЕРСИЯ 8.3.2.11

 

Вывод вложеных результатов запроса из табличного документа.

Модификация от dj_serega: В форме выбора предопределённых элементов добавлен флаг "ЗНАЧЕНИЕ(<…>).

Исправление ошибок:

  • 165 snikers44 Устранена ошибка при выводе в табличный документ результата запроса.
  • dj_serega исправил ошибку — "дата без времени в параметрах".

ВЕРСИЯ 8.3.2.12

Модификации:

  • Поддержка английского синтаксиса.
  • Перевод Ру-En и En-Ру. Коструктор запроса всегда возвращает синтасис на русском.

 

ВЕРСИЯ 8.3.2.13

 

Модификация от tristarr1: оптимизоравно открытие формы выбора типа.

Исправлен ряд ошибок связанных с формой выбора типа.

 

ВЕРСИЯ 8.3.2.14

 

Изменена форма выбора типа.

При выборе "Выражение параметра" текстовое поле заполняется шаблоном текста.

Добавлена простая панель редактирования.

 

Исправлены некоторые ошибки связанные с изменением типа параметра при выполнении/проверке запроса.

 

ВЕРСИЯ 8.3.2.15

 

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

 

ВЕРСИЯ 8.3.2.16

 

Исправление ошибок при изменении ‘типа значения’ параметров плавно перерасло в принципиальную переделку самого механизма.

Добавлена примитивная проверка в тексте ‘выражения параметра’, проверка смотрит, есть ли в ‘выражении парамера’ имена испоьзуемых переменных.

 

 

 

ВЕРСИЯ 8.3.2.17

 

Доработки:
1. При нулевом значении вместо пустой ячейки отображается: "<0>".

 

2. Новая команда "Создать код установки значений переменным параметров".
В 

Откроется окно с таким текстом:

 

3. Добавлены два шаблона кода для обработки в цикле результатов выгрузки в таблицу:
    

а. "Создать текст получения уникального идентификатора + добавить колонку в ТЗ".
   

 

б. "Создать текст обработки движений регистра бухгалтерии".
В 

Исправлены ошибки:
1. При создании текста запроса удалены лишние кавычки.
2. Сохраняется текст модуля в форме "Работа с таблицей значений".

 

ВЕРСИЯ 8.3.2.18

 

 Исправлена ошибка возникающая при режиме совместимости конфигурации не равном значению "Не использовать". При некоторых режимах совместимости не работает функция СтрНайти(,).

 

ВЕРСИЯ 8.3.2.19

 

 Исправлена ошибка при открытии формы генерации текста для модуля.

 

 

ВЕРСИЯ 8.3.2.20

 

 Добавлена возможность выгружать/загружать данные через XML.

 Значение сериализуется процедурой —

 ЗаписатьXML(<ЗаписьXML>, <Значение>, <НазначениеТипа>)

 

 

ВЕРСИЯ 8.3.2.21

1. Исправлена ошибка при закрытии консоли в WEB-клиенте (dj_serega).
2. Если в тексте запроса были одни временные таблицы без пакетов с результатами, то при нажатии на кнопку "Вывод текста запроса" не открывалась форма "Текст для модуля".
3. В командную панель дерева запросов добавлена кнопка "Открыть редактор таблиц значений", иногда требуется поработать с выгруженной ТЗ на прямую.
4. Исправлено форматирование типа Булево при выводе результата запроса в табличный документ. Значение ложь отображалось как "<0>", теперь "Нет".

ВЕРСИЯ 8.3.2.22

1. Добавлена кнопка "Сохранить файл запросов как…".

Теперь при нажатии на кнопку "Сохранить файл запросов" консоль не спрашивает каждый раз путь к файлу.

Путь к файлу отображается в заголовке формы. Предложил пользователь unk2.

ВЕРСИЯ 8.3.2.23

Исправлены ошибки:

  1. 1. При закрытии консоли запросов очищались значения параметров запроса, теперь сохраняются.
  2. 2. Устранена ошибка при закрытии программы при открытой консоли запросов.

ВЕРСИЯ 8.3.2.24

Добавлено ограничение на вывод таблиц в табличный документ.

ВЕРСИЯ 8.3.2.25

Исправлены ошибки (СтрНайти, при закрытии и пр.), оптимизация.

Доработки:

1. Значение 0 (Число ноль) отображается как ‘0’ вместо ‘<0>’.


 

2. Если выделить в тексте запроса ‘предопределенный элемент’ и нажать на кнопку "Получить предопределенное значение", то откроется форма "Выбор предопределенных элементов" с заполненными полями.


 

3. Добавлена кнопка "выделить текущую область".

В результате будет выделена текущая таблица, можно сразу копировать в буфер обмена.

4. При выделении области табличного документа отображается сумма, количество и среднее значение по выделенным ячейкам.

при нажатии на лупу 

появится сообщение с показателями по выделенной области:

5. Можно сразу копировать данные результата запроса не нажимая на кнопку редактирования.

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

Форма редактора табличного документа:

В редакторе есть поля:

  • Поле отражающее сумму выделенных ячеек
  • Поле, хранящее сумму в памяти

Добавлены кнопки, которые выполняют операции над суммой в памяти:

  • Увеличение суммы в памяти на сумму ячеек
  • Уменьшение суммы в памяти на сумму ячеек
  • Умножение суммы в памяти на сумму ячеек
  • Деление  суммы в памяти на сумму ячеек

При нажатии на лупу в поле суммы ячейки откроется форма с показателями по выделенным ячейкам:

ВЕРСИЯ 8.3.2.26

Исправлена ошибка, приводящая к торможению при выделении области ячеек табличного документа.

ВЕРСИЯ 8.3.2.27

Исправление ошибок (обнаружил Georg Georg (Georg_QQ)):

  • Исправлено комментирование текста, слеши "//" вставали не всегда корректно.
  • Убрано задвоение буквы диска в пути к файлу в заголовке основной формы консоли.
  • Исправлена ошибка при сброшенном флаге вывода у пакетов уничтожающих временный запрос (автор исправления Georg Georg (Georg_QQ)).

Для табличных документов добавлены кнопки:

  • Выделение текущих строк текущей таблицы.
  • Выделение текущих колонок текущей таблицы.
  • Немного доработана (приведена в порядок) форма редактора табличного документа.

ВЕРСИЯ 8.3.2.28

Новый функционал:

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

  • Добавлена команда "Добавить итоговую строку таблицы".

В результате, под таблицей будет строка с итоговыми суммами по колонкам таблицы:

  • Добавлена команда "Свернуть таблицу".

После нажатия на кнопку, появится окно настройки свёртки:

Далее, нажимается "Ок". В результате, выводится свёрнутая таблица:

  • Доработка (обнаружил и исправил Georg Georg (Georg_QQ)):

ВЕРСИЯ 8.3.2.29

Исправление ошибок (Тестирование и исправления от Georg Georg (Georg_QQ)):

В следующих условиях:

  • Консоль 8.3.2.28, 
  • Платформа 8.3 (8.3.10.2505) ,
  • Использование модальности "с предупреждением", 
  • синхронные вызовы — использовать, 
  • Клиент серверный вариант, тонкий клиент.

1. Исправлены ошибки:

  • В обработчике ДеревоЗапросовПриАктивизацииСтроки используется вызов контекстного серверного метода 
  • В обработчике ПараметрыТЗПриАктивизацииСтроки используется вызов контекстного серверного метода формы

2. В коде процедуры "ДеревоЗапросовПриАктивизацииСтроки" вызов процедуры "ПроверитьТекстЗапроса_ПолучитьПараметры_ОбновитьДанные " осуществлён через обработчик ожидания.
3. Исправлена ошибка, возникающая при совпадении имени поля запроса с именем временной таблицы.
4. Если консоль запросов включена в состав конфигурации, то возникает ошибка при открытии формы редактора табличного документа.

ВЕРСИЯ 8.3.3.0

NEW! Новое в редакторе табличного документа:

  • Произвольная настраиваемая сортировка таблицы по нескольким колонкам. 

Выделить ячейку в таблице и нажать на кнопку сортировки как на рисунке:

В открывшемся окне настроить сортировку и нажать ОК:

В результате, таблица будет отсортирована:

  • Быстрая сортировка по одной колонке таблицы.

Выделить ячейку колонки, которую необходимо отсортировать, нажать кнопку с необходимым направлением сортировки (по возрастанию или убыванию):

Доработки:

  • Для просмотра выгруженной таблицы значений, теперь достаточно дважды кликнуть по ячейке клонки "Пакет" (дополнительно нажимать на "Лупу" не придётся).
  • Команды "Добавить итоговую строку таблицы" и "Свернуть таблицу" на командной панели представлены значками:

Устранение ошибок (обнаружил Georg_QQ Georg Georg):

  • Исправлен автоподбор ширины колонок с числами.

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

ВЕРСИЯ 8.3.4.3

NEW! Новое в консоли:

  • Мастер создания строки кода для вызова консоли запросов в режиме отладчика для захвата запроса с параметрами и сохранения в файл.

Не забудьте отключить защиту от опасных действий, если таковая имеется.

  • Оптимизирована ширина колонок.

  • Восстановлено отображение "невидимых" типов значений (<Неопределено>, <Null>, <Пустая строка> и т.п.).
  • В редакторе табличного документа добавлен функционал поиска.

ВЕРСИЯ 8.3.4.7

ВАЖНО! Перед запуском новой версии консоли — сохраните запросы в файл, т.к. при открытии релиза 8.3.4.7, все параметры слетят. Если в новой консоли параметры "слетели", то откройте предыдущую версию консоли, которой вы пользовались, возможно, что там остались настройки параметров, сохраните дерево запросов в файл и откройте его в новом релизе!

NEW! Новое в консоли:

  • Форма выбора стандартного периода для параметров запроса с типом "Дата".

Создана форма для установки в параметрах периода времени. Кнопка вызова формы настройки находится на командной панели таблицы параметров.

Необходимо открыть форму, сопоставить параметры с показателями периода (флаги "С" и "По").

Выбрать необходимый год и период.

Потом, можно сразу нажать на кнопку "Выполнить", в результате, будут присвоены значения параметрам и будет выполнен запрос.

Поле календаря становится доступным при выборе месяца.

В поле календаря можно выбрать произвольный период в рамках месяца.

Примечание: Поле календаря очень сильно тормозит, по этому, по умолчанию оно невидимо.

Устранение ошибок.

  • Установлен режим выбора из списка колонки выбора направления сортировки в форме настройки сортировки таблиц редактора табличного документа.
  • Исправления в коде.

    ВЕРСИЯ 8.3.4.10

    ВАЖНО! Перед запуском новой версии консоли — сохраните запросы в файл, т.к. при открытии релиза 8.3.4.7, все параметры слетят. Если в новой консоли параметры "слетели", то откройте предыдущую версию консоли, которой вы пользовались, возможно, что там остались настройки параметров, сохраните дерево запросов в файл и откройте его в новом релизе!

    NEW! Новое в консоли:

  • Усовершенствован поиск в форме редактора табличного документа. В контекстном меню ячейки добавлена кнопка "Начать поиск".

В результате, поле "Строка поиска" заполнится значением выделенной ячейки и будет выполнен поиск значения.

  • Добавлены параметры поиска:
    • В выделенном
    • Целиком
    • По строкам

  • Добавлены кнопки заливки фона найденных ячеек.

Устранение ошибок.

  • При копировании стандартными кнопками не копируются значения (Это касается особенностей конкретного редактора).
  • Стандартные кнопки можно использовать для копирование во внешние программы (Excel) или вставки из вне (внешние данные не будут сортироваться и сворачиваться).
  • Если появится необходимость копировать и вставить данные табличного документа в рамках этого табличного документа, то необходимо использовать дополнительные кнопки.

  • Исправлена ошибка, возникающая, если результат итога по колонке (или в строках свёрнутой таблицы) больше, чем позволяет тип числа по колонке.

Например, если колонка имеет тип "Число" с Длинной: 1 и Точностью: 0, то максимальное значение с таким типом может быть не больше числа "9". Теперь это контролируется и тип значения колонки корректируется автоматически.

 

 

НОВОЕ! 

  • Добавление (открытие) новых файлов запроса не удаляя открытое дерево запросов.

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

  • Отрицательные числа выделяются красным цветом.

ВЕРСИЯ 8.3.5.2

Исправлена ошибка отображение значения Тип("Неопределено") в составном типе.

УСОВЕРШЕНСТВОВАНИЕ: 

  • Запоминание активной ветки при закрытии формы и активизация той ветви при открытии формы.
  • Исправлено поведение дерева запросов при удалении и перемещении веток.
  • Для выполнение запросов ветки установлена комбинация клавиш "Ctrl+5". 
  • Флажки в дереве запросов сделаы только 2-х значений вместо 3-х.
  • При выполнении ветки, если текущая строка это "лист" (строка не имеющая в себе строк), то выполняются запросы родительской ветки. (Напоминание: Выполняются запросы, которые помечены флажком. Используется один МВТ для запросов всей ветки). 
  • Доработка формы выбора периода. При выборе даты "по" устанавливается время на конец дня, при необходимости, время корректируется вручную. Выяснилось, что поле календаря жутко тормозит, если режим выделения — интервал. Удалять не стал. Поставил режим — Одиночный, так удобней выбирать день. Календарь становится доступным при выборе месяца.
  • Редактор таблицы значений выдаёт сообщение когда в редактор выгружается ТЗ с колонкой имеющей тип "момент времени". Тип заменяется строкой, т.к. в данных формы (на клиенте) не может отображаться данный тип.
  • При нажатии на кнопку "Создать код установки значений переменным параметров" выводится текст неиспользуемых параметров, иногда это требуется.

ВЕРСИЯ 8.3.6.1

Новое в версии:

   1. Захват запроса с данными Менеджера временных таблиц в режиме отладки.

   2. Сохранение и получение захваченных данных запроса через хранилище конфигурации.

 

   3. Вложение пакета запроса.

 

   4. Типизация колонок таблиц значений на лету переданных в запрос в качестве параметра.

Исправление ошибок:

  1. Исправлена ошибка при открытии формы "Текст для модуля". Иногда, вылетала ошибка, иногда не все поля выводились в цикле выборки.

ВЕРСИЯ 8.3.6.2

Исправление ошибок:

  1. Исправлена ошибка при открытии в режиме совместимости на функцию СтрНайти.

    ВЕРСИЯ 8.3.6.3

 

Новое в версии:

  1. Захват запроса из отладчика без проблем! Изменена логика создания кода для захвата запроса в отладке. Вам не надо искать папки видимые сервером приложения. При открытии формы, если консоль открыта из внешней обработки, то её экземпляр автоматически помещается во временный каталог на компьютере с сервером приложения и этот путь подставляется в строку вызова.

Вам достаточно:

  • Открыть форму "Ещё => Сервис => Вызов консоли в отладчике",
  • Нажать кнопку копирования текста в буфер обмена, ВСЁ!

 

Далее показано, в каком виде будут представлены таблицы захваченные из МВТ:

 

ВЕРСИЯ 8.3.7.1

 

Новое в версии:

  • Выполнение запроса в фоновом задании с использованием БСП. Реализована возможность сбросить не только всё задание, но и вывод текущего пакета и переход к выводу следующего.

Так будет представлен заголовок пакета, который был сброшен во время вывода:

  • Разворот текстового редактора запроса (скрытие области вывода результата запроса) и разворот результата запроса (скрытие области с текстом запроса).

Исправлены ошибки:

  • Изменение типа параметра при изменении запроса. Если Запрос1 содержал параметр &Ссылка с типом СправочникСсылка.Валюты, а потом изменили запрос, где параметр &Ссылка с типом СправочникСсылка.Договора, то в поле выбора значения параметра будет приведено значение к новому типу.
  • Ошибка при выводе типа Тип("Неопределено").

 

ВЕРСИЯ 8.3.7.2

Версия без обфускации кода. 
Приношу свои извинения за предоставленные неудобства связанные с обфускацией кода.

Всем, кто приобрёл версию 8.3.7.1 написать мне в личку свой адрес электронной почты, вышлю версию 8.3.7.2.

 

ВЕРСИЯ 8.3.7.3

Версия без обфускации кода модуля формы. 
Код модуля объекта закрыт.

Исправлено удаление списка значений в значении параметра запроса. 
Добавлена проверка, которая выдаёт предупреждение и не даёт консоли выполнять запрос в фоне если включен "режим защиты от опасных действий".
 

________________________________________________________________________________________________________________________________________________
P.S.: Просьба. При обнаружении ошибок указывать релиз консоли, версию платформы, режимы модальности и синхронных вызовов,
т.к. не получается воспроизвести некоторые из указанных ошибок.

98 Comments

  1. jobkostya1c8

    Маленький вопрос по первоисточникам, наработками этой консоли. Что взято за основу? Я всегда честно указываю источники. Даже уже не с целью авторства, а с целью функционала — какой она наследует функционал, а, главное, глюки?

    Консолей то миллион. Мне даже для себя эти приходится дорабатывать. Особенно чтоб поля <NULL> и <Неопределено>, <ПустаяХарактеристика> и прочее в той же опере где лучше 1 раз увидеть.

    Reply
  2. akor77

    (1) kostyaomsk, за основу взята моя прежняя разработка: http://infostart.ru/public/175229/

    Заимствования со стороны:

    1. Раскраску кода заимствовал из одной консоли, она раскрашивала строки таблицы значений при выводе сроки.

    2. Идею обхода выгруженной табличной части в цикле подсказал коллега.

    Reply
  3. akor77

    (1) kostyaomsk, Про глюки. Данная консоль унаследовала лишь часть функционала от «предшественницы». Консоль писалась заново с использовоанием части раннее созданных форм, алгоритмов. так называемое «ядро» переписано заново с учётом накопленного опыта прежних ошибок. Воя я уже сам нашёл недочёт — не все типы значений в ФормаВыбораТипа. В обработчик «ПриСозданииНаСервере» надо добавить строки:

    ВывестиКоллекцию(Дерево, «ПланыСчетов» , «ПланСчетов»);

    ВывестиКоллекцию(Дерево, «ПланыВидовРасчета» , «ПланВидовРасчета»);

    ВывестиКоллекцию(Дерево, «БизнесПроцессы» , «БизнесПроцесс»);

    ВывестиКоллекцию(Дерево, «Задачи» , «Задача»);

    Reply
  4. molodoi1sneg

    Спасибо за консоль!

    Reply
  5. alex_4x

    Радует подробная инструкция. Прям красотищща 🙂

    Reply
  6. Vadim75

    Спасибо за консоль! Плюс однозначно.

    Reply
  7. h00k
    Reply
  8. HitGroove

    Удобная консолька!

    Reply
  9. h00k

    (3)akor77 Из того чего явно не хватает в этой консоли — получение плана запроса, ну и возможно вывода GUID для ссылочных данных.

    Reply
  10. dj_serega

    Не смог Не скачать. Очень удобно (с виду).

    Надеюсь запросник 8.3 уйдет в прошлое 🙂

    Поспешил. Не работает в тонком клиенте 🙁 Допиливать себе или ждать релиза 2.0?

    Reply
  11. akor77

    (7) h00k, Обязательно учту пожелания. А тобой предложенный код используется в конфигурациях где нет поддержки модальных окон в Такси. В тонком клиенте на 8.2 он не будет работать.

    Reply
  12. akor77

    (10) dj_serega,

    В тонком клиенте конструктор запроса работает только на платформе с версии 8.3.5 и выше.

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

    Для Такси (без поддержки модальных окон) буду делать отдельную версию.

    но она не будет работать в 8.2 ни в толстом ни в тонком клиентах.

    Reply
  13. dj_serega

    (12)

    В тонком клиенте конструктор запроса работает только на платформе с версии 8.3.5 и выше.

    У меня: 8.3.5. Тонкий клиент. Такси. Модальность — Использовать.

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

    Так вот и предлагаю реализовать конструктор для тонкого. Там же пара строчек кода 😉

    Для Такси (без поддержки модальных окон) буду делать отдельную версию.

    но она не будет работать в 8.2 ни в толстом ни в тонком клиентах.

    8.3 не только под такси может работать. У нас половина пользователей на обычных управляемых, другая половина на такси.

    Reply
  14. h00k

    (10)dj_serega

    Поспешил. Не работает в тонком клиенте

    Для 8.3.5 решение в сообщении (7), чуть ниже добавлю универсальное решение.

    (11)akor77

    В тонком клиенте на 8.2 он не будет работать.

    Знаю, в свое время делал пример консоли на управляемых формах, в которой можно было запускать конструктор запросов.

    (12)akor77

    Для Такси (без поддержки модальных окон) буду делать отдельную версию.

    но она не будет работать в 8.2 ни в толстом ни в тонком клиентах.

    Зачем?! Лучше сделать одну универсальную, чем 10 под разные платформы…

    Reply
  15. h00k
    Reply
  16. dj_serega

    (14) h00k,

    Для 8.3.5 решение в сообщении (7), чуть ниже добавлю универсальное решение.

    Так я ж говорю: для себя писать или ждать релиза 🙂

    Reply
  17. h00k

    (12)akor77

    Для Такси (без поддержки модальных окон) буду делать отдельную версию.

    Кстати, я понимаю там конструктор запросов, а для остальных то окон зачем было делать модальный вызов? Обычная команда

    ОткрытьФорму

    вполне себе неплохо работает.

    Reply
  18. h00k

    (16) dj_serega, можно и не писать. Мою переделку из (15) скопипасть и будет то что нужно.

    Правда еще стоит пройтись по модулям и заменить ОткрытьФормуМодально на ОткрытьФорму ну и настроить контекстное меню в табличных полях, но это уже дело вкуса.

    Reply
  19. akor77

    (18) h00k, Ок, на выходных сделаю.

    Reply
  20. akor77

    Файл для скачивания обновлён.

    Reply
  21. dj_serega

    (20) Спасибо! Теперь попробуем применить на практике.

    Reply
  22. akor77

    (21) dj_serega, Это хорошо! Жду результатов теста. Одну ошибку в версии 2.0 я уже нашёл. Но она мелкая и её легко устранить. Жду отзывов. К стати. Я уже сделал первый вариант для вызова консоли из файла на диске при отладке и собирать данные о «рваных» запросах, которве в БП и ЗУПе на УФ. На неделе буду тестировать. Надеюсь, что к выходным будет новая версия.

    Reply
  23. pt_olga

    скачала, вещь полезная

    только не разобралась пока, как результирующюю таблицу сохранить в эксель

    подскажете?

    Reply
  24. akor77

    (23) pt_olga, Пока только «копи-пастом». В следующем релизе «прикручу» кнопку.

    Reply
  25. dj_serega

    (22)

    1. Сделать вопрос перед закрытием консольки (естественно учитывая модальность).

    2. Опционально выводить или не выводить результат вычисления временных таблиц:

    Сейчас в результате:

    втСвернуто (0,019 мс.)

    втПолный (0,151 мс.)

    Результат1 (0,004 мс.)

    Предлагаю так изменить ТЧ ВременыеТаблицы:

    Пакет, Показать, Выгрузить, ОтобразитьВремяВыполнения, ОтобразитьКоличествоСтрок.

    3. Добавить кнопки на форму для:

    а) Управление видимостью левой панели (Дерево запросов, Параметры, Временные таблицы)

    б) Управление видимостью Текста запроса

    в) Управление видимостью результатов

    4. Как-то не логичное наличие кнопок «скопировать в буфер» и «вставить из буфера» если после нажатия пишет «на сервере не доступно». Может как-то можно управлять их видимостью?

    5. Не сохраняет и не загружает запросы 🙁

    {Форма.Форма.Форма(1334)}: Ошибка при вызове метода контекста (НайтиПоИдентификатору)

    ТекущаяСтрока = ДеревоЗапросов.НайтиПоИдентификатору(Элементы.ДеревоЗапросов.ТекущаяСтрока);

    по причине:

    Несоответствие типов (параметр номер ‘1’)

    Я бы проверку так написал:

     ТекущаяСтрокаДереваЗапросов = Элементы.ДеревоЗапросов.ТекущаяСтрока;
    Если ТекущаяСтрокаДереваЗапросов = Неопределено Тогда
    Возврат;
    КонецЕсли;
    
    ТекущаяСтрока = ДеревоЗапросов.НайтиПоИдентификатору(ТекущаяСтрокаДереваЗапросов);
    

    Может еще где встречается не смотрел. Но лучше «понатыкивать» таких проверок везде 🙂

    6. Кнопочка «Добавить» страницу результата есть, а удалить нет 😐

    Пока всё 🙂

    upd: А так консолько порадовало. Спасибо огромное. Буду писать тут о найденных «фичах» и пожелалках.

    Reply
  26. akor77

    (25) dj_serega, Отлично, спасибо огромное. Буду править. У меня ещё появилась парочка новых идей. Так что интересное ещё впереди!

    Reply
  27. Hitcher

    (20)

    А можно навести порядок в версиях? Чтобы не просто слова «Файл для скачивания обновлён. «, а какая теперь стала версия.

    Желательно с описанием.

    И чтобы скачивающий видел не просто надпись «Консоль запросов для УФ 8.2, 8.3» а какая это версия. И мог сравнить со своей версией. И принять решение.

    Описания версий можно взять из системы стандартов 1с

    Нумерация редакций и версий

    1. Номер очередной редакции конфигурации, начинается со следующего целого номера относительно предыдущей редакции. Для обозначения редакции обычно номер редакции объединяют через точку с номером подредакции, например: редакция 1.5, редакция 1.6 и т. д. Для новых конфигураций нумерация начинается с 1.0.

    2. Все версии одной подредакции (включая альфа, ознакомительные, бета и финальные версии) нумеруются подряд. Нумерация версий начинается с 1.

    3. Информация о номере редакции, номере подредакции и номере версии объединяются в полный номер версии конфигурации. Он указывается в свойстве Версия конфигурации и представляет собой строку символов следующего вида:

    {Р|РР}.{П|ПП}.{З|ЗЗ}.{С|СС}

    где:

    Р — номер редакции (минимум 1 цифра, может занимать и больше разрядов);

    П — номер подредакции (минимум 1 цифра, может занимать и больше разрядов);

    З — номер версии (минимум 1 цифра, может занимать и больше разрядов);

    С — номер сборки (минимум 1 цифра, может занимать и больше разрядов).

    Пример:

    1.6.4.7 – 7-я сборка, 4-ой версии, редакции 1.6

    Reply
  28. petrov_al

    Все хорошо, но боюсь не буду использовать и половины всех возможностей или очень редко…

    Reply
  29. dj_serega

    (26) 1. Нет возможности работать с временными таблицами. Пример можно взять с «Запросник 1.0 (оф) и 2.0 (на уф)».

    Reply
  30. asved.ru

    Выглядит замечательно. Шикарно, если запрос будет выполняться по F5.

    Reply
  31. aves

    Не сохраняются тексты обработки модулей для выгруженных таблиц. Очень надо.

    Хотя сами таблицы сохраняются. Не уверен зачем, но иногда пригодиться может. Тут хотелось бы опцию — чтобы не перегружать сохраняемый файл.

    Объясню зачем:

    Часто консоль используется не только для получения какого либо результата, но и как достаточно универсальный инструмент обработки данных, где сначала выбирается результат (например ошибки в базе), а затем идет обработка на его исправление.

    У меня в консоли для обычных форм есть дерево порядка с 20-30 запросами и обработками для них. Писать для каждого случая внешние обработки было бы неудобно, да и текст запроса там был бы не виден (т.е. управляемость ущербная).

    И раз такие пожелания, добавьте новую кнопку рядом со сформировать (Выгрузить результат в ТЗ). для действий аналогичному установке галке в последней строке и открытии таблицы результата. В 99% случаев именно это требуется для обработок БД.

    Reply
  32. poyson

    пасибо. подробно. попробуем…

    Reply
  33. scape

    При отказе от загрузки дерева запросов (кнопка почему то называется «открыть дерево запросов») выдает ошибку и… дальше никак, только убивать программу через диспетчер.

    Reply
  34. ab471vi

    Скачала, будем пробовать! Отдельное спасибо за отличную инструкцию)

    Reply
  35. dj_serega

    (30) asved.ru,

    Шикарно, если запрос будет выполняться по F5.

    Я бы повесил на ctrl+enter. Мне, например, это удобней 😉 Я привык документы проводить по этому типовому сочетанию. Так же записывать справочники и тд.

    (33) scape, Я это у себя поправил (25), надеюсь разработчик внесет в релиз.

    Следующие пожелалки:

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

    2. А можно в параметрах флаг «Список значений» вынести на форму списка параметров (и сделать там кнопку «СписокЗначений». Где Кнопка.Пометка = Истина если СЗ или ложь если это ссылка). Сейчас приходится входить в изменение типа, ставить флаг, закрывать форму.

    3. Некорректно отображается ошибка в запросе.

    Проверка пишет одно. А вход в конструктор запроса другое.

    4. Все модальные окна открывать с блокированием владельца (тоесть консольки). Сейчас выполняется блокировка всего интерфейса.

    Reply
  36. akor77

    (25) dj_serega, Принял к сведению. Буду делать.

    Reply
  37. akor77

    (27) Hitcher, Понял, буду указывать версию в названии. Для консоли может будет вполне достаточно номера версии и сборки? Никак не могу представить необходимость редакции и подредакции. Если делать 8.3.Х.Х, то не отражается 8.2, если сделать 8.2-8.3.Х.Х — это коряво всмотрится. Хотя, 8.3.Х.Х мне начинает нравиться.

    Тогда сейчас выложена версия 8.3.2.0

    Все согласны с такой нумерацией версий?

    Reply
  38. akor77

    (29) dj_serega, Не могу понять что именно требуется? Это про «Нет возможности работать с временными таблицами»

    Reply
  39. akor77

    (30) asved.ru, Горячие клавиши надо обсудить вместе.

    F5 — выполнение запроса

    Ctrl + Enter — проверка на ошибки

    Пойдёт?

    Reply
  40. akor77

    (31) aves, Отличные пожелания! Мне очень нравятся предложенные идеи. Функционал становится богаче. Сделаю.

    Reply
  41. akor77

    (35) dj_serega, Идея про «список значений» мне тоже понравилась.

    А про ширину колонок, это всё по разному. Бывает булево с широченным названием колонки.

    Но буду иметь в виду.

    А для изменения ширины колонки нажми кнопку которая следующая за «Выполнить запрос» (зелёного карандаша) , там мышкой наведи на правую границу ячейки, курсор изменится и в этот момент кликни 2 раза. Ширина автоматом выравняется по самому широкому значению колонки.

    Reply
  42. dj_serega

    (38) Запрос первой строки дерева: «Выбрать Поле1 Поместить втПервыйЗапрос Из Справочник.ТМЦ КАК ТМЦ».

    Добавляем подчиненную строку.

    В ней пишем: «Выбрать * из втПервыйЗапрос КАК втПервыйЗапрос ГДЕ Поле1 = &Параметр1».

    В результате должна получиться таблица из родителя строки но с условием.

    Сейчас подчиненная строка не видит временные таблицы родителя. Ну или я не так выполнил запрос.

    Если нужно могу со скринами объяснить.

    (40) И про дерево не забыть 😉

    (41)

    там мышкой наведи на правую границу ячейки,

    Да. Но если колонок 10 то нужно на каждую так делать. В принципе это не горит, и сильно не мешает. Предлагаю добавить в самый конец списка доработок 😉

    Пожелалки/фичи:

    1. Результат не выгружается в виде дерева

    2. Нужно изменить логику проверки корректности текста запроса. Нужно проверять не всегда, а только по кнопке. Я очень часто редактирую текст запроса в ручную. Обычно выполняется лишняя проверка при ctrl+v. Также при удалении части текста запроса.

    3. Не забыть решить проблемку сохранением дерева запросов и их параметров.

    4. После нажатия «Вывод текста запроса» получаю ошибку: «Задано неправильное имя атрибута стркутуры».

    Reply
  43. akor77

    (42) dj_serega, На счёт «Сейчас подчиненная строка не видит временные таблицы родителя.» — это будет реализовано в следующей сборке. Я это назвал «рваный запрос», может это как-то по другому называется, то подскажите.

    Сегодня мне удалось протестировать консоль в режиме функции, т.е. вызов консоли из модуля объекта. В задании было необходимо посмотреть как формируются проводки в БП 3.0. Тест прошёл успешно. Там консоль собирает «рваные запросы» как сучки на одну ветку. И при выполнении ветки (рекурсивный обход) запросов будет один МВТ на всех.

    База была на сервере SQL. Путь к обработке прописывал серверный. В общем, всё сработало. Сегодня ещё подправил критические ошибки. Завтра, если успею, опишу и выложу. С перепроверкой согласен — перемудрил, надо сделать её только на горячих клавишах. Исправлю.

    Reply
  44. asved.ru

    (39) проверку мне было бы удобнее по Ctrl+F5, как в SSMS (кстати, F5 на выполнить запрос — это оттуда же), но лично я этой функцией пользуюсь крайне редко.

    Reply
  45. ZloyProger

    Отдельное спасибо за привычный интерфейс консоли запросов)

    Reply
  46. dj_serega

    (43)

    Сегодня ещё подправил критические ошибки. Завтра, если успею, опишу и выложу.

    Не сильно спешите 🙂 Главное что бы стабильные релизы доработок/исправлений 😉 Я к тому что в спешке можно где-то что-то упустить.

    Крит при удалении последней строки дерева запросов.

    МодульФормы.УдалитьПараметрыЗапроса(ИДСтроки).

    В коде:

    СтрДЗ.Родитель.Строки.Удалить(СтрДЗ);

    СтрДЗ.Родитель = Неопределено

    Reply
  47. nikbrik

    Еще бы прикрутить сюда получение плана запроса как в консоли с ИТС под 8.3.5, было бы вообще шикарно.

    Reply
  48. dj_serega

    Некорректно отображается период с типом ДатаВремя

    Reply
  49. akor77

    (48) dj_serega, понял, исправлю.

    Reply
  50. akor77

    (47) nikbrik, честно говоря, я с этой штуковиной не работал, но с интересом изучу и постараюсь прикрутить.

    Reply
  51. TODD22

    А как у этой обработки дело с модальностью и асинхронностью?

    Будет ли работать на самописных конфигурациях?

    Reply
  52. akor77

    (51) TODD22, Дома тестил на УФ 8.2 и в интерфейсе Такси на самописных конфигурациях. На демке бухгалтерии УФ. На тестовых базах при отладке. Без разницы где работать. Модальность используется в УФ 8.2. Так же работает в условиях где модальные окна не поддерживаются. на счёт асинхронности особо не заморачивался. Продукт создан для разработчика, а не пользователя. С интерфейсом Такси я недавно столкнулся и не обращал внимание на этот момент. Возможно, вылезут ошибки при нарушении последовательности открытия диалоговых окон. Надо будет это отдельно потестить.

    Reply
  53. TODD22

    (52)

    на счёт асинхронности особо не заморачивался. Продукт создан для разработчика, а не пользователя.

    Как мне кажется нужно заморочиться. Раз асинхронность это курс партии 🙂

    Reply
  54. akor77

    (53) TODD22, Хорошо, буду знать, обязательно изучу эту тему.

    Reply
  55. dj_serega

    (49) Свисните, когда новый релиз будет. Очень понравилась консолька. Уже пользуюсь и, пока, закрываю глаза на баги.

    Reply
  56. pau74

    Спасибо за консоль.

    Жаль не работает с английским синтаксисом запроса.

    Reply
  57. akor77

    (55) dj_serega, Релизы нумеруются. Какой период с типом «ДатаВремя» ты имел ввиду? Опиши пример.

    Reply
  58. akor77

    (55) dj_serega, В следующем релизе добавлю навороты как раз, для тех, кто пишет руками.

    Reply
  59. akor77

    (56) pau74, Учту на будущее.

    Reply
  60. necropunk

    Начал использовать. Замечания пока мелкие, например, по Ctrl+/ не комментирует выделенный блок, надо мышкой в соответствующую кнопку тырцать, не очень удобно, а к хоткею привык уже…

    Reply
  61. dj_serega

    (58)

    Релизы нумеруются.

    Тоесть у меня обработка, поэтому нужно скачать новую. Так как уже есть новый вариант. Хорошо. Спасибо.

    Какой период с типом «ДатаВремя» ты имел ввиду? Опиши пример.

    В параметрах запроса «&НачалоПериода», «&КонецПериода» или «&Период». Так вот в таблице параметров иногда проскакивает значение параметра с типом Дата и видом Дата а не ДатаВремя. Сейчас не могу повторить ошибку. Как только появится закриню.

    (67) necropunk, Согласен. Но не писал об этом так как есть другие более важные замечания и пожелалки 😉

    akor77 Спасибо большое за кнопулины по сворачиванию групп… Много удобностей и нововведений. ОЧЕНЬ круто!!! Продолжаю тестить новый релиз 😉

    1. По кнопке «Сохранить файл запросов» ошибка:

    {(3)}: Метод объекта не обнаружен (Показать)

    ДиалогОткрытияФайла.Показать(Оповещение);

    Аналогично и по «открыть файл запросов».

    2. Если свернуть левую панель, потом свернуть текст запроса. Развернуть текст запроса. Текст запроса пустой. Если при пустом тексте запроса отобразить левую панель, текст появляется.

    Reply
  62. necropunk

    «Зафиксировать» работает как-то специфически… Вообще, мелких интерфейсных багов хватает, но пока не систематично, будет что-нибудь еще доставать — напишу. Еще не нашел как сделать постобработку запроса. Как обработать ТЗ если она параметр запроса (О_о) — нашел, а чтобы просто таблицу результата обежать и что-нибудь страшное с ней сделать — нет, возможно, плохо искал…

    Reply
  63. necropunk

    Вывод данных в форме дерева неплохо бы сделать тоже, для обходов по группировкам полезно бывает иногда…

    Reply
  64. necropunk

    Если с пустым деревом запросов вызвать меню открытия файла с запросами, а потом передумать — будет куча ошибок о несоответствии параметра:

    {Форма.Форма.Форма(1334)}: Ошибка при вызове метода контекста (НайтиПоИдентификатору)

    ТекущаяСтрока = ДеревоЗапросов.НайтиПоИдентификатору(Элементы.ДеревоЗапросов.ТекущаяСтрока);

    по причине:

    Несоответствие типов (параметр номер ‘1’)

    Reply
  65. akor77

    (69) necropunk, Надо установить флаг в самой правой колонке таблицы пакетов. Выполнить запрос, название пакета станет жирным шрифтом — это означает, что таблица выгружена. Кликаешь по колонке с названием и нажимаешь на просмотр (кнопка с лупой). Откроется форма для редактирования ТЗ. Под ТЗ есть текстовое поле «модуля» для кода. На командной панели есть кнопки, нажав на которые в «модуль» будет добавлен шаблон обхода в цикле. На счёт выгрузки деревьев, возьму на заметку. Со временем реализую.

    Reply
  66. akor77

    (68) dj_serega, (71) necropunk, Ребята, спасибо за подсказки и замечания. Сейчас выложил новый релиз 8.3.2.3. Описание обновлений смотрите в статье. В постскриптум статьи добавлены пожелания для описания ошибок. Не могу воспроизвести часть ошибок.

    Reply
  67. akor77

    (53) TODD22, Хорошо. А можно ссылку на толковую статейку?

    Reply
  68. dj_serega

    А сложно допилить выводить состояния работы? Это конечно рюшечка, но… было бы красиво 🙂

    Пример:

    &НаКлиенте

    Процедура ВыполнитьЗапрос(Команда)

    Если Объект.ОшибкиВЗапросе Тогда

    Сообщить(«Исправьте текст запроса!»);

    Возврат;

    КонецЕсли;

    // Дописать вот такое

    Состояние(«Выполняется запрос.»);

    // Или так

    Состояние(«Выполняется запрос: » + ИмяЗапросаВДереве);

    Показать

    Reply
  69. akor77

    (75) dj_serega, Попробую реализовать.

    Reply
  70. dj_serega

    Получилось повторить очистки текста запроса. Насколько я понял, нужно где-то хранить текст запроса при скрытой левой панели.

    Последовательность действий на скринах (скрины пересортировались, поэтому смотреть на названия).

    А к этой ошибке я так понял руки не дошли 😉

    {(3)}: Метод объекта не обнаружен (Показать)

    ДиалогОткрытияФайла.Показать(Оповещение);
    Reply
  71. akor77

    (77) dj_serega, про очистку текста запроса я понял, у меня эта ошибка тоже выходит. На днях буду искать причину. А вот это

    {(3)}: Метод объекта не обнаружен (Показать)

    ДиалогОткрытияФайла.Показать(Оповещение);

    не могу воспроизвести. Что там с настройкой модальности и синхронности вызовов. для меня это пока ещё тёмный лес, надо разбираться. У меня всё работает.

    Reply
  72. dj_serega

    (78) будет время подсоблю 🙂 ошибку с диалогом проанализирую, поправлю и отпишусь.

    Reply
  73. akor77

    (79) dj_serega, Я кажется уже догадался. Надо смотреть не на версию платформы (8.2 или 8.3), а на то — есть модальность или нет. В 8.2 всегда модальность, а в 8.3 зависит от соответствующей настройки. на неделе поправлю.

    Reply
  74. ingmar

    Можно добавить обработку изменения типа параметра запроса с типом ПланыВидовХарактеристик

    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    ….
    ВывестиКоллекцию(Дерево, «ПланыВидовХарактеристик»       , «ПланВидовХарактеристик»);
    ….
    
    Reply
  75. dj_serega

    (80) Вот в этой статье нашел следующий текст:

    Следует обратить внимание, что объект ДиалогВыбораФайла не имеет метода Показать() в отличие от диалогов выбора цвета или шрифта, поскольку реализация этих диалогов существенно разная.

    .

    У нас еще используется модальность. Поэтому не вижу метода: «ДиалогОткрытияФайла.Показать()».

    В 8.3 без модальности СП дал эти методы:

    Выбрать (Choose)

    Показать (Show)

    Пожелалка:

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

    В принципе будет достаточно перейти на текст «поместить …»

    Reply
  76. artbear

    (0) Из описания совершенно непонятно, работает ли в 8.2 тонкий клиент? с какой версией 8.3 работает? 8.3.4 работает?

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

    Жду ответа.

    Reply
  77. dj_serega

    (83) artbear, Я успешно пользуюсь на 8.3.5 (без режима совместимости с модальностью). На 8.2, говорят, работает.

    Reply
  78. dj_serega

    (85) artbear, Это разработчик немного налажал 🙁

    |Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет);
    |ПередЗакрытиемЗавершение(Результат, Параметры);»;

    Вместо «Результат» должен быть «Ответ»

    Себе замените, а он посмотрит и исправит.

    В любом случае за такую консольку на это можно закрыть глаза 😉

    Reply
  79. CheBurator

    Этих консолей на Исе — вагон и телега разных.

    какую использовать — непонятно…

    Reply
  80. akor77

    (81) ingmar, (85) artbear, (86) dj_serega, Замечания принял, исправлю.

    Reply
  81. akor77

    (83) artbear, (84) dj_serega, (82) dj_serega, На данный момент точно работает

    8.2 толстый клиент — весь функционал,

    8.2 тонкий клиент — весь функционал кроме конструктора запроса

    8.3.5.1482 без модальности — весь функционал

    Reply
  82. akor77

    (82) dj_serega,

    Следует обратить внимание, что объект ДиалогВыбораФайла не имеет метода Показать() в отличие от диалогов выбора цвета или шрифта, поскольку реализация этих диалогов существенно разная.

    Похоже всё дело в старом релизе платформы, обнови платформу. У меня 8.3.5.1482, полёт нормальный, скорее всего предыдущая версия не поддерживает Показать() .

    Reply
  83. akor77

    (83) artbear, (85) artbear, да, на 8.2 куча ошибок, правлю, в выходные выложу с исправлением очень многих ошибок.

    Reply
  84. dj_serega

    (90)

    Похоже всё дело в старом релизе платформы, обнови платформу. У меня 8.3.5.1482, полёт нормальный, скорее всего предыдущая версия не поддерживает Показать() .

    .

    Походу так и есть Дело в релизах.

    Рабочая база 8.3.5.1248. Просто взять и обновить не получится.

    Посмотрим что там будет в 8.3.6. (кстати опять перенесли дату релиза).

    Reply
  85. AlexO

    (87) CheBurator, это — не консоль в широком понимании, это — больше «сформируй ТЗ за 10 сек». А запросы там так, для галочки.

    Reply
  86. akor77

    (103) AlexO, Привет, дружище!

    Кто мешает развитию?

    — Подавляющая личность (ПЛ).

    http://admintech.ru/articles/protivodeistvie-uluchsheniyam-na-predpriyatii

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

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

    Такие люди являются хорошо замаскировавшимися сумасшедшими.

    Все кто находится в тесном контакте с ПЛ очень часто испытывают то спады, то подъёмы, один день может много дел переделать, а потом ничего не может ничего. Если вы заметили это в себе, то ищите ПЛ-а.

    Вся подноготная о подавляющих личностях хорошо раскрыта в этой книге:

    Книга «Сады и подъёмы», автор Рут Мишнулл.

    http://www.klex.ru/79

    Если вас подавляют в семье, дома или на работе, обязательно научитесь выявлять ПЛ-ов.

    Кроме того, подавлению обучают:

    1. Подавляющее влияние: как и на чем любят играть любители обманывать, пугать, подавлять…

    http://www.nrpsy.ru/psy_podavlenie.html

    2. Подавляющее влияние: Подавляющее влияние 2: подавление авторитетом…

    http://www.nrpsy.ru/psy_podavlenie_avtoritet.html

    3. Подавляющее влияние 2: интриги, подставы, шантаж…

    http://www.nrpsy.ru/psy_podavlenie_intrigi.html

    Reply
  87. akor77

    (103) AlexO, Ты мне напоминаешь того ПЛа, которого показывают на 3.50 минуте.

    https://youtu.be/k-52Be8EmqA

    Reply
  88. dj_serega

    (104) Красавчик 😉

    Reply
  89. akor77

    (108) dj_serega, (111) Boneman, (113) h00k, Ребята, спасибо за поддержку!

    Сегодня не успел отладить ещё одну фишку, надеюсь завтра успею.

    А что касается нашего ПЛа — AlexO, то про таких есть весёлая песенка:

    http://ololo.fm/search/%D0%9F%D0%BE%D1%8E%D1%89%D0%B8%D0%B5+%D0%A2%D1%80%­D1%83%D1%81%D1%8B/%D0%97%D0%B0%D0%BF%D0%B0%D0%B4%D0%BB%D0%BE­

    Всем хорошего настроения!

    Reply
  90. dj_serega

    нашел «фичу».

    {Обработка.КонсольЗапросовУФ.Форма.ФормаТаблицаЗначений.Форма(56)}: Поле объекта не обнаружено (А_20150910164353_втПродажиИтог)

    лТаблица = СтруктураТЗ[ПараметрАдрес];

    Можно повторить так:

    Устанавливаем выгрузку ВТ в таблицу. Выполняем запрос. Выделяется полужирным текстом. Снимаем выгрузку. Выполняем запрос. Выделение остается. И при попытке открыть таблицу эта ругань.

    Reply
  91. timeforlive

    При сохранении запроса пишет ошибку:

    {(2)}: Ошибка при вызове метода контекста (ПолучитьФайлы)

    ПолучитьФайлы(МассивОписаний, , , Ложь);

    по причине:

    Неправильный путь к файлу ‘# FR# Задача1С — сервер/e1cib/tempstorage/148db

    Reply
  92. Chif13

    Добрый! Обалденная консолька. Спасибо. Можно внесу свой вклад: допишите в процедуру УдалитьПереносы код

    ТекущиеДанные.Текст = СтрЗаменить(ТекущиеДанные.Текст, «|», «»);
    ТекущиеДанные.Текст = стрЗаменить(ТекущиеДанные.Текст, «»»;», «»);
    ТекущиеДанные.Текст = стрЗаменить(ТекущиеДанные.Текст, «»»ВЫБРАТЬ», «ВЫБРАТЬ»);
    ТекущиеДанные.Текст = стрЗаменить(ТекущиеДанные.Текст, Символ(34) + Символ(34), Символ(34));
    

    Очень облегчает жизнь, особенно двойные кавычки.

    И еще: может лучше убрать флаг Защиты с таб.документа Результат? Не дает же ни скопировать текст, ничего толком. Флага Редактирования вполне достаточно.

    Это мелочи, но так же приятно.

    Reply
  93. akor77

    (303)

    (303)Привет! Приму во внимание.

    Reply
  94. Georg_QQ

    УФ 8.3.2.29

    1. Устанавливаем для пакета признак «Выгрузить».

    2. Выполняем запрос,

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

    3. Убираем для пакета признак «Выгрузить»,

    4. Выполняем запрос.

    результат — пакет все еще выделен полужирным, кнопка открытия не исчезла, при нажатии на нее выходит ошибка:

    {Обработка.КонсольЗапросовУФ.Форма.ФормаТаблицаЗначений.Форма(55)}: Поле объекта не обнаружено (А_20180406184202_ВТ_НагрузкиПоДатам)

    лТаблица = СтруктураТЗ[ПараметрАдрес];

    т.е. признак наличия выгруженной таблицы для конкретного пакета не сбрасывается при повторном выполнении запроса. (воспроизводится, если признак «Показать» = Ложь)

    Reply
  95. Chif13

    Доброе. Не могли бы ли Вы для удобства в процедуру УдалитьПереносы добавить пару строк:

    
    ТекущиеДанные.Текст = СтрЗаменить(ТекущиеДанные.Текст, «|», «»);
    // <- добавить
    ТекущиеДанные.Текст = стрЗаменить(ТекущиеДанные.Текст, «»»;», «»);
    ТекущиеДанные.Текст = стрЗаменить(ТекущиеДанные.Текст, «»»ВЫБРАТЬ», «ВЫБРАТЬ»);
    ТекущиеДанные.Текст = стрЗаменить(ТекущиеДанные.Текст, Символ(34) + Символ(34), Символ(34));
    
    

    Показать

    Reply
  96. TuMyP1985

    http://forum.infostart.ru/forum9/topic126858/message2245784/#message2245784

    Скачивал версию 8.3.7.1 — консоль интересная, но постоянно выдает ошибки, приходится каждый раз дорабатывать код, почти под каждую процедуру (пример ошибки ниже), автор не присылает версию 8.3.7.2.

    5 стартмани потрачены зря.

    {(10)}: Ошибка при вызове метода контекста (ОткрытьМодально): При подписке ПереопределитьПолучаемуюФормуПрисоединенногоФайлаЗарплатаКад­рыБазовая на событие ОбработкаПолученияФормы произошла ошибка. Обработчик события не найден.

    (написать сообщение автору «в личку» не удалось — нет кнопки)

    Reply
  97. Froloid

    Дмитрий

    (665)

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

    Reply
  98. alfir70

    Консоль запросов УФ 8.3.7.1

    Сервис — Вызов консоля в отладчике

    Ошибка

    «{Обработка.КонсольЗапросовУФ.Форма.ФормаКодЗахватаЗапросаИзОтладчика.Форма(25)}: Преобразование значения к типу Булево не может быть выполнено

    Если ПроверкаЗащитыОтОпасныхДействий.ПроверкаВключена Тогда

    »

    исправил ошибку

    заменив код на

    » Если ПроверкаЗащитыОтОпасныхДействий.ПроверкаВключена = Истина Тогда

    »

    1С:Предприятие 8.3 (8.3.11.3034)

    ТАКАЯ ЖЕ ОШИБКА

    1С:Предприятие 8.3 (8.3.13.1513)

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *