Exec - Выполнение кода, консоль запросов и не только!

Публикация № 416677

Разработка - Инструментарий разработчика - Консоль запросов

Выполнение кода консоль запросов запросы к SQL код запросы SQL замер производительности замер производительность Exec Экзек

Незаменимый инструмент администратора БД и программиста: Выполняйте произвольный код из режима 1С Предприятие; сохраняйте/загружайте часто используемые скрипты; выполняйте запросы с замером производительности запроса в целом и каждой из временных таблиц в частности, а также с просмотром содержимого временных таблиц; произвольным образом изменяйте любые объекты БД, редактируя даже не вынесенные на формы реквизиты и записывая изменения в режиме "ОбменДанными.Загрузка = Истина"; легко узнавайте ИД объектов БД; выполняйте прямые запросы к SQL с замером производительности и не только!

Это облегченный частичный аналог ИР_мобильного. Меньше тормозов, но и функционала меньше.

Описание (также включено в саму обработку):

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

Exec, features:

Реквизиты:

- СтруктураПараметров. Произвольный. Используется для хранения параметров текущего окна исполнения.

- СтруктураСтрокиСоединения. Произвольный. Используется для хранения строки соединения ADODB.

Основная форма:

"Страница исполнения" (доступна в управляемом режиме)

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

Функционал:

- Окно редактирования исполняемого кода со следующими доп. возможностями:

  • Добавление/удаление страниц исполнения (страницы и их параметры сохраняются при закрытии обработки).
  • Простой «интеллисенс» (вызывается по Ctrl+Пробел). Умеет:

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

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

НЕ умеет, и не будет уметь:

o    Получать функции/процедуры общих модулей, объектов и менеджеров объектов.

Пока что НЕ умеет, но будет уметь:

o    Получать реквизиты табличных частей.

o    Получать список типов в предложении «Новый».

  • Замер производительности (в миллисекундах):

o    Для начала замера необходимо вставить в код вызов процедуры "НачатьЗамерПроизводительности();". Данная функция возвращает новый уровень замера. Уровни замеров начинаются с 0.

o    Для завершения замера необходимо вызвать функцию "ЗавершитьЗамерПроизводительности(бСообщитьВремя = Ложь);". Если передать в параметре функции "Истина", то функция самостоятельно выдаст сообщение пользователю о завершении замера. Можно производить вложенные замеры. Уровень вложенности не ограничен. Функция возвращает массив, где первым значением идет время замера, вторым - отформатированное время замера строкой, а третьим - уровень замера.

o Также существует возможность выполнения запросов в коде (на странице исполнения кода) с замером производительности запроса как в консоли запросов. Фактически, это возможность выполнить запрос из кода так, как будто он выполнен на странице консоли запросов. Для этого необходимо вызвать процедуру ВыполнитьЗапросСЗамеромПоВТ(Запрос). Для работы с результатом запроса в этом случае можно использовать переменную МассивИменноРезультатовЗапроса.

Например:

КрайнийРезультат = МассивИменноРезультатовЗапроса[МассивИменноРезультатовЗапроса.ВГраница()];

  • Простейший функционал обработки ожидания. Работает так:

o    есть процедура ВыполнитьКодОбработчикОжидания(); она вызывает "как бы" нажатие кнопки "Выполнить" на странице исполнения кода; но перед этим она вставляет в структуру параметров свойство "бВыполняетсяВОбработчикеОжидания"; сама процедура выполнения кода, если находит это свойство в структуре параметров, удаляет его оттуда. Таким образом, можно выполнить примерно такой код:

ПодключитьОбработчикОжидания("ВыполнитьКодОбработчикОжидания", 3, Истина);

Если СтруктураПараметров.Свойство("бВыполняетсяВОбработчикеОжидания") Тогда

     Сообщить("Ура!");

КонецЕсли;

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

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

В дальнейшем, данный функционал планируется совершенствовать (например, отвязать его от текущей страницы панели исполнения кода).

- Таблица используемых параметров (просмотр, перетаскивание в окно редактирования, изменение имени параметра)

- Командная панель, которая содержит:

  • кнопку сохранения параметров и текста в файл с расширением "|*.exec" (Ctrl+S)
  • кнопку загрузки параметров и текста из файла с расширением "|*.exec" (Ctrl+O)
  • кнопку вызова формы редактирования параметров
  • кнопку управления видимостью таблицы параметров
  • кнопку помещения в исполняемый код имен таблицы/дерева результата запроса или массива таблиц результатов пакета
  • (атавизм, возможно, в будущих версиях обработки будет исключено - или переделано в кнопку открытия списка свойств
  • и методов контекста обработки)

- Форма редактирования параметров.

  • Форма предназначена для редактирования параметров которые впоследствие можно использовать в исполняемом коде.

Например задав параметр "СсылкаДокумента" и выбрав конкретную ссылку на документ,

в исполняемом коде становится доступна переменная СсылкаДокумента содержащая выранное значение.

На имя параметра наложено ограничение ключа структуры.

"Страница изменения" (доступна в управляемом режиме)

Страница предназначена для выбора объекта из базы данных и просмотра (редактирования) его свойств.
Функционал:

- Поле выбора изменяемого объекта

- Поле отображения идентификатора изменяемого объекта

- Кнопка копирования идентификатора изменяемого объекта в буфер

- Возможность открытия произвольной формы объекта изменения

- Дерево имен и значений реквизитов выбранного объекта (с возможностью изменения или очистки)

- Кнопки изменения состава строк табличных частей выбранного объекта

- Кнопки изменения порядка следования строк табличных частей выбранного объекта

- Кнопки пометки на удаление и непосредственного удаления объекта

"Страница консоли запросов"

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

- Дерево запросов

- Командную панель, которая содержит:

  • кнопка сохранения дерева запросов в файл с расширением "|*.exsel" (Ctrl+S)
  • кнопка загрузки дерева запросов из файла с расширением "|*.exsel" (Ctrl+O)
  • кнопка редактирования параметров запроса
  • кнопка экспорта текста запроса в буфер обмена (подставляются двойные кавычки и символы переноса строки)
  • кнопка вставки текста запроса из буфера обмена (убираются двойные кавычки и символы переноса строки)

- Окно редактирования запроса на встроенном языке, с возможностью использования конструктора запросов

- Таблица результата исполнения запроса в виде таблицы, дерева или сводной таблицы.

Доступны как переменные "ТаблицаРезультатаЗапроса", "ДеревоРезультатаЗапроса" и "СводнаяТаблицаЗапроса" соответственно в окне исполнения.

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

Доступны как массив, содержащий таблицы в порядке их следования в запросе. Имя массива: МассивВременныхТаблицЗапроса.

"Страница запросов SQL"

Страница предназначена для выполнения прямых запросов к SQL базам используя ADODB.
Функционал:

- Строка соединения (редактируется в специальном окне)

- Командную панель, которая содержит:

  • кнопка сохранения строки соединения и текста запроса в файл с расширением "|*.exsql" (Ctrl+S)
  • кнопка загрузки строки соединения и текста запроса из файла с расширением "|*.exsql" (Ctrl+O)

- Окно редактирования запроса к SQL

- Таблица результата исполнения запроса к SQL.

Доступна как переменная "ТаблицаРезультатаSQL" в окне исполнения.

"Соответствие имен объектов с SQL"

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

"Страница обмена данными" (доступна в управляемом режиме)

Страница предназначена для выполнения выгрузки (загрузки) данных между идентичными конфигурациями.
Функционал:

- Поля выбора типа и вида объекта для выгрузки (загрузки)

- Поле выбора имени файла обмена

В планах дальнейшей разработки:

- Перевод страниц в управляемый режим:

"Страница запросов (© consquery8.*)"

"Страница прямых запросов к SQL"

"Соответствие имен объектов с SQL" 

- Унифицированная работа с параметрами (для страниц исполнения и запросов)

- Доступ к описанию внутренних переменных в режиме предприятия

"Страница прямых запросов к SQL"

 - возможность просмотра внутренней структуры хранения данных 1С (только для базы MS SQL Server)

 - конвертация имен метаданных в имена таблиц хранения данных 1С (только для базы MS SQL Server)

"Страница обмена данными"

- возможность настраиваемой выгрузки объекта по набору свойств (для каждого свойства возможна установка правила выгрузки значения, правила выгружаются в отдельный файл)

- возможность настраиваемой загрузки объекта по набору свойств (для каждого свойства возможна установка правила загрузки значения, правила загружаются из отдельного файла)

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

- возможность выгружать ссылочные данные

 - and more...

Авторы ©обирайта: LordKim и CatSam.

Скачать файлы

Наименование Файл Версия Размер
Exec 3x77 8x3.epf

.epf 243,73Kb
07.12.16
82
.epf 243,73Kb 82 Скачать

Специальные предложения

Автор запретил комментарии

См. также

Генератор внешних печатных форм

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Консоль запросов Прочие инструменты разработчика Универсальные печатные формы v8 1cv8.cf Абонемент ($m)

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

3 стартмани

18.09.2020    1786    12    andy_zhav    7    

Универсальная выгрузка данных и анализ

Обработки Универсальные обработки Обмен данными 1С Загрузка и выгрузка в Excel Обмен через XML Перенос данных из 1C8 в 1C8 Консоль запросов v8 1cv8.cf Абонемент ($m)

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

1 стартмани

27.11.2019    5546    20    kozusenok    0