Выполняйте произвольный код из режима 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.