Актуально для версии 6.60 подсистемы “Инструменты разработчика”
Глобальное меню
При использовании подсистемы Инструменты разработчика сочетание клавиш CTRL+~ (тильда или ё) вызывает глобальное контекстное меню параметризованных команд инструментов в случаях:
- любая управляемая форма в толстом клиенте управляемого приложения при использовании непортативного варианта инструментов
- любая форма открытая из инструментов в обычном клиентском приложении
- любая форма объекта открытая из открытой формы списка открытой из инструментов в обычном клиентском приложении
- любая форма инструмента во всех клиентских приложениях
В 8.3 тонком клиенте это сочетание клавиш приводит к запуску толстого клиента с открытием в нем той же управляемой формы, в которой было нажато сочетание клавиш.
В обычном приложении требуется установка флажка Перехват клавиатурного ввода в обычном приложении.
Самый простой способ установить непортативный вариант подсистемы “Инструменты разработчика” - скачать и открыть в базе внешнюю обработку Установщик варианта Расширение.
Кому будет полезно это меню в первую очередь
- разработчик
- тестировщик
- консультант
Перед открытием это меню проводит быстрый анализ активной формы и ее активного элемента и при открытии уже отображает только те команды, которые с большой вероятностью сработают в этом контексте.
Анализируются типы элементов управления:
- поле ввода
- поле табличного документа
- таблица
- форма
Анализируются гранулы интерфейса пользователя:
- поле - активное поле ввода формы
- ячейка - выделенные ячейки таблицы или табличного документа
- строка - выделенные строки таблицы динамического списка с основной таблицей
- таблица (дерево при необходимости преобразуется к таблице)
- динамический список
- табличный документ
- форма
Список команд имеет 2 колонки:
- Пиктограмма команды и название гранулы, содержащей параметр команды
- Название команды
Под списком команд расположено пояснение к текущей команде.
Так например выглядит состав этого меню при вызове в форме списка документов:
Список команд
Список команд меню с поддерживаемыми ими гранулами:
- Редактировать объект
- поле/ячейка/строка/форма
- Открыть объект
- поле/ячейка
- Обработать объекты
- ячейка/строка
- Установить значение в колонке
- таблица
- Различные значения колонки
- таблица
- Вывести данные
- таблица/табличный документ
- Сравнить данные
- таблица/табличный документ
- Открыть табличный документ
- табличный документ
- Настроить список
- динамический список
- Отбор без значения
- динамический список
- Найти объект по ID
- динамический список
- Отладить компоновку данных
- форма
- Структура формы
- форма
Команды, открывающие инструменты, имеют те же пиктограммы, что и сами инструменты. Большинство этих команд с такими же пиктограммами присутствует и в обычных формах самих инструментов. Так что понимание их возможностей поможет повысить эффективность использования вами и самих форм инструментов.
Команды меню
Редактировать объект
Открывает объект по ссылке или ключу записи регистра в инструменте Редактор объекта БД, позволяющем смотреть/редактировать все данные объекта БД любого типа вместе с движениями по регистрам для документов. Сочетается с гранулами:
- поле
- ячейка
- строка
- форма
Для строки динамического списка учитывается текущая колонка. При открытии инструмента активируется соответствующая ей строка реквизита.
Для формы объекта учитывается текущее поле или текущая таблица табличной части, ее строка и колонка. При открытии инструмента активируется соответствующая строка реквизита или табличная часть, ее строка и колонка.
Пример использования
Я вижу табличную часть “Товары” документа и хочу посмотреть/отредактировать отсутствующую/нередактируемую в форме колонку в той же строке табличной части в БД. Вызываю эту команду для гранулы Форма. Открывается инструмент “Редактор объекта БД”. В него загружается документ по ссылке из формы показывается та же табличная часть, строка и колонка. Там видны и доступны для изменения все реквизиты табличной части.
Открыть объект
Открывает объект по ссылке в основной форме объекта.
Сочетается с гранулами:
- поле
- ячейка
Является улучшенным аналогом расширения Открывашка
Пример использования
Я вижу список документов с колонкой “Склад” и хочу открыть склад из текущей ячейки. Вызываю эту команду. Открывается форма этого склада.
Обработать объекты
Открывает ссылки или ключи записей регистров в инструменте Подбор и обработка объектов БД, позволяющем выполнить групповую обработку объектов БД. Сочетается с гранулами:
- ячейка
- строка
При вызове в динамическом списке для гранулы "строка" при наличии установленного отбора будет предложен выбор - передать отбор или выделенные строки.
Пример использования
Я вижу табличную часть “Товары” документа с колонкой “Номенклатура” и хочу выполнить групповую обработку элементов справочника “Номенклатура” из выделенных строк. Вызываю эту команду. Открывается инструмент “Подбор и обработка объектов БД” в него загружается список номенклатуры из выделенных ячеек. Далее я выбираю, настраиваю и выполняю нужную обработку.
Различные значения колонки
Передает колонку таблицы в инструмент Различные значения колонки. Инструмент сворачивает значения колонки и показывает итоги по количеству строк для каждого уникального значения, опционально учитывая отбор динамического списка. Таким образом в частности можно быстро выявить неуникальные значения в колонке. При открытии из динамического списка в списке различных значений будет доступна множественная пометка и по нажатию ОК в исходном динамическом списке будет наложен отбор “В списке” по всем выбранным значениям. При открытии списка различных значений в нем сразу активируется строка, содержащая значение текущей ячейки из исходной формы.
Двойной клик по строке этого списка
- в исходном динамическом списке включает отбор по текущему значению
- в исходной коллекции строк активирует первую строку с соответствующим значением
Пример использования
Я вижу табличную часть “Товары” документа и хочу узнать, есть ли в ней неуникальные значения в колонке “Номенклатура”. Вызываю эту команду и вижу список различных значений этой колонки с количеством строк по каждому значению
Установить значение в колонке
Передает колонку таблицы в инструмент Менеджер табличного поля и активирует в нем режим групповой установки значения в исходной колонке. Менеджер табличного поля открывается прикрепленным на версиях платформы кроме 8.3.15-16. Доступно вычисление устанавливаемого значения через формулу, оперирующую данными строки и интерактивно задаваемыми параметрами. Редактор формулы в упрощенном режиме позволяет вставлять поля из плоских списков параметров и доступных полей. По кнопке выбора открывается редактор выражения встроенного языка с контекстной подсказкой. Код можно выполнять на клиенте или на сервере. Установка значения в ячейки таблицы выполняется со срабатыванием событий ОбработкаВыбора и ПриИзменении, что обеспечивает высокий уровень корректности и согласованности изменений в таблице.
Пример использования
Я вижу табличную часть “Товары” документа и хочу увеличить в выделенных строках ручную скидку на 2%. Вызываю эту команду. Открывается форма групповой установки значения колонки.
Переключаюсь в ней на страницу “Формула” и двойным кликом по строке доступного поля вставляю в формулу “Параметры.ПроцентСкидкиНаценки”. Дописываю в формулу “ + 2”. Нажимаю “Выполнить”. Во всех выделенных строках ручная скидка увеличилась на 2% и при этом пересчитались все зависимые колонки.
Вывести данные
Выводит данные в таблицу значений и открывает ее в инструменте “Таблица значений”. Сочетается с гранулами:
- таблица
- табличный документ
Статический список передается без преобразования с сохранением выделенных строк, а для динамического списка отображается диалог “Параметры вывода строк таблицы”. В этом диалоге в частности можно установить отбор только выделенных строк и ограничить количество выводимых строк.
Пример использования
Я вижу таблицу, заполняемую запросом, и хочу узнать описания типов ее колонок и сохранить ее в файл для сравнения в другой базе. Вызываю эту команду. Открывается инструмент “Таблица значений”. В него загружается таблица исходной формы. Там видны и доступны для изменения все колонки таблицы. Я сразу вижу тип значения колонки исходной формы.
Затем через команду “Передать в”/”файл” сохраняю таблицу в файл.
Сравнить данные
Передает данные во вторую из 2-х ячеек сравнения в памяти приложения, а содержимое второй переносит в первую. Сочетается с гранулами:
- таблица
- табличный документ
Если первая ячейка сравнения в этот момент уже заполнена, то будет предложено сравнение. Табличный документ весь или текущая область передается без преобразования, а для таблицы отображается диалог “Параметры вывода строк таблицы”
Здесь основной параметр вывода - “Вывод в таблицу значений”. Если он включен, то данные таблицы передаются без преобразования. Если он выключен, то таблица выводится в табличный документ и передается уже он.
Сравнение табличных документов выполняется системным инструментом “Сравнение файлов” в режиме “Табличный документ”, который сравнивает данные методом наибольшей общей последовательности, т.е. опираясь на порядок строк в таблице.
Сравнение таблиц значений выполняется инструментом Сравнение таблиц, который подбирает минимальный набор общих ключевых полей для обеих таблиц, т.е. сравнивает по ключу (без учета порядка строк). В этом инструменте есть возможность сохранения/загрузки настроек сопоставления колонок в/из базы и самих таблиц в/из файлов. По умолчанию в результате сравнения он отображает только различия таблиц. В результате сначала идет колонка результата сравнения строки, затем ключевые колонки, затем сравниваемые колонки, затем несравниваемые колонки. Если вы передумали сравнивать таблицы по ключу и хотите сравнить с учетом порядка, то сверху в сравнителе таблиц есть кнопка “Сравнить табличные документы”.
Пример использования
Я вижу на форме таблицу, заполняемую запросом по кнопке. Мне нужно проверить как изменится ее содержимое после некоторых действий пользователя. Для этого я, активировав эту таблицу, вызываю эту команду и в настройках вывода строк таблицы включаю флажок “Вывод в таблицу значений”. Затем я выполняю некоторые действия, влияние которых на заполнение таблицы хочу проверить. Далее я перезаполняю таблицу запросом и снова вызываю эту команду с теми же настройками. Открывается форма “Сравнение таблиц” и отображаются все различающиеся строки.
Открыть табличный документ
Передает копию табличного документа или его текущей области в инструмент “Табличный документ”. При этом сохраняются выделенные области и данные расшифровки компоновки данных. В этом инструменте можно детально изучить табличный документ, например расшифровки областей. Также отсюда табличный документ можно передать в инструмент “Загрузка табличных данных” для конвертации его в таблицу значений, что может быть полезно для превращения текстовых значений в типизированные.
Настроить список
Открывает форму редактирования пользовательских и просмотра фиксированных настроек динамического списка. Является аналогом расширения Расширенная настройка динамического списка УФ
Пример использования
Я вижу на форме поле ввода договора контрагента. Нажимаю в нем кнопку выбора. Открывается форма выбора договора контрагента. Но там отсутствует нужный мне договор, хотя точно знаю что он есть в БД. Поэтому я хочу посмотреть фиксированный (невидимый в стандартной форме настройки) отбор в этом списке. Вызываю глобальное меню. Выбираю в нем команду “Настроить список”. В открывшейся форме “Настройка списка” активирую страницу “Фиксированные” и изучаю фиксированный отбор.
Отбор без значения
Изменяет пользовательский отбор динамического списка таким образом, чтобы исключить строки, содержащие значение текущей ячейки в текущей колонке. В некотором смысле можно назвать эту команду антиподом команды “Отбор по значению текущей ячейки” обычной формы и “Найти текущее значение” (CTRL+ALT+F) управляемой формы. Но она в отличие от них может выполняться многократно (исключенные значения собираются в список). Самое полезное ее применение - исключать преобладающие значения (например пустые).
Пример использования
Я вижу динамический список банковских счетов, где подавляющее большинство строк имеют валюту “руб.”. Меня же интересуют все редкие валюты. Поэтому я активирую ячейку со значением “руб.” и выполняю эту команду. Далее я вижу очень много валюты “USD”. Также этой командой исключаю ее.
Теперь в списке остались только редкие валюты.
Найти объект по ID
Позволяет найти в динамическом списке объект с заданным внутренним идентификатором (GUID). Если объект находится и отвечает текущему отбору, то активируется его строка. Если объект находится в основной таблице списка и не отвечает текущему отбору или не находится, то выводится соответствующее сообщение пользователю. Обычно такая команда бывает полезна в задачах интеграции или при работе с дублями объектов. Так выглядит окно запроса уникального идентификатора
Отладить компоновку данных
Эта команда показывается только для форм отчетов. Она передает результирующие настройки компоновщика настроек и схему компоновки в инструмент Консоль компоновки данных, где имеются широкие возможности для отладки компоновки, включая отладку исполняемых запросов. К сожалению из-за ограничений платформы эта команда не поддерживает внешние отчеты.
Структура формы
Передает форму в инструмент Структура формы. Он строит дерево доступных для отображения пользователю элементов формы. В дереве доступен поиск по заголовкам, подсказкам и сочетаниям клавиш. Важным отличием этого инструмента от аналогов является извлечение реально отображаемых пользователю заголовков и учет пользовательских настроек формы. В исходной форме осуществляется мигание того элемента, который соответствует активной строке дерева. Доступен переход в инструмент Редактор хранилищ настроек с отбором по исходной форме, что может быть полезно для решения проблем с пользовательскими настройками формы.
В некотором роде это аналог окна “Настройка формы”, открываемого системной командой “Изменить форму…”, но тут нельзя менять структуру формы. Зато разработчику здесь можно смотреть/менять значения всех свойств элементов управления через инструмент Исследователь объектов.
Пример использования 1
Я вижу незнакомую форму документа “Заказ покупателя” и хочу найти, где в ней находятся элементы управления для настройки отправки сообщений. Поэтому я выполняю команду “Структура формы” и в поле поиска ввожу “сообщ” и нажимаю ENTER. При этом в дереве развернулись и окрасились желтым фоном 2 строки и первая из них стала активной. Одновременно в исходной форме активировался и начал мигать флажок, соответствующий активированной в структуре формы строке. Таким образом я быстро нашел нужный мне элемент в незнакомой форме.
Пример использования 2
Я вижу незнакомую управляемую форму и хочу узнать ее полное имя и открыть ее модуль в конфигураторе. Для этого я открываю в ней структуру формы и выполняю команду "Показать ссылку на модуль связанной формы"
Запускаю бесплатную программу ClipAngel и копируем текст в буфер обмена. Активизирую конфигуратор и вызываю в нем программу ClipAngel через ALT+V. Откроется окно программы ClipAngel нацеленной в окно конфигуратора.
.
Зажимаю ALT и кликаю на гиперссылке полного имени модуля формы. Смотрю небольшую анимацию и открывается модуль нужной формы.