Подсистема «Инструменты разработчика» (Старых Сергей, 1С 8.2, 8.3)
Подсистема «Инструменты разработчика» (Старых Сергей, 1С 8.2, 8.3)
2020-02-06T21:28:43+00:00Автор
Инструменты разработчика написаны супер профессиональным программистом Сергеем Старых (связаться с ним) и публикуются с его разрешения.
Описание
Инструменты разработчика — это замечательная коллекция чудо обработок, объединённых в одну подсистему:
Это и:
- Удаление объектов с контролем ссылок;
- Поиск битых ссылок;
- Поиск ссылок на объект;
- Подбор и обработка объектов;
- Поиск дублей и замена ссылок;
- Редактор пользователей;
- Консоль кода;
- Консоль запросов;
- Структура хранения БД;
- Анализ технологического журнала;
- Редактор параметров сеанса;
- Редактор хранилищ настроек;
- Анализ журнала регистрации;
- И множество других инструментов.
Все эти обработки написал и уже много лет поддерживает настоящий профессионал своего дела Сергей Старых.
Как начать работать с инструментами
Инструменты разработчика поддерживаются Сергеем в двух вариантах: основной и портативный.
Основной вариант:
- Требуется встраивать в конфигурацию базы.
- Даёт больше возможностей.
Портативный вариант:
- Не требует изменения конфигурации и открывается как внешняя обработка.
- Даёт меньше возможностей.
Предлагаю начать с портативного, а если захочется большего — перейти к основному варианту.
Скачиваем архив инструментов
Внимание! Если есть возможность — качаем прямо с сайта Сергея, вот ссылка.
И только, если его сайт не работает — вот зеркало инструментов на моём сайте:
Инструменты разработчика 3.97.1 (Старых Сергей, 1С 8.2, 8.3)
Распаковываем архив
Распаковываем скачанный архив, например, в папку «Инструменты разработчика» на рабочем столе:
Открывать из своей базы нужно именно обработку «ирПортативный.epf». Это меню инструментов и уже через него мы будем открывать все остальные обработки:
Запускаем инструменты
Через меню Файл->Открыть запустите обработку «ирПортативный.epf» (подробнее здесь Я скачал обработку, как мне её открыть в 1C?):
Готово:
Подводите мышку к значкам и пробуйте, осваивайте нужные вам инструменты. При умелом использовании с их помощью можно творить чудеса!
Возможные проблемы
Портативные инструменты работают только на обычных формах. Это значит, что у вас не получится запустить их на клиенте в режиме управляемого приложения.
Для использования инструментов в такой базе — запускайте её с ключом /RunModeOrdinaryApplication, который запускает толстый клиент в обычном режиме, несмотря на настройки конфигурации и пользователя.
Если вы используете в качестве стартера обновлятор, то добиться этого эффекта можно:
- Выделив базу и нажав Ctrl + F3
- В открывшемся меню нажав кнопку [4] Толстый клиент (ОФ)
Как обновлять инструменты
Чтобы обновить портативные инструменты — нажмите на значок помощи на их панели:
В открывшемся окне воспользуйтесь кнопкой «Обновить на актуальную версию»:
Где можно посмотреть обучающие ролики
У Сергея есть свой канал на youtube с обучающими роликами по инструментам разработчика: ссылка
Благодарность
Хочу сказать громаднейшее спасибо Сергею за то, что он разрешил поделиться инструментами с аудиторией helpme1c.ru!
С уважением, Владимир Милькин (преподаватель школы 1С программистов и разработчик обновлятора).Как помочь сайту: расскажите (кнопки поделиться ниже) о нём своим друзьям и коллегам. Сделайте это один раз и вы внесете существенный вклад в развитие сайта. На сайте нет рекламы, но чем больше людей им пользуются, тем больше сил у меня для его поддержки.
Нажмите одну из кнопок, чтобы поделиться:
Подсистема «Инструменты разработчика» 1C — Описание подсистемы
Описание подсистемы
Продукт представляет собой интегрированный в подсистему набор мощных инструментов разработчика на платформе 1С 8. На конференции Infostart Event Evolution 2013 подсистема получила награду «Лучшая разработка».
Варианты поставки
Скачать последнюю версию варианта Подсистема можно тут. Далее приводится его описание.
Поддерживаются клиентские приложения
- 32-битный толстый клиент (1cv8.exe), доступны все функции
- 32-битный тонкий клиент (1cv8c.exe), только для запуска 32-битного толстого клиента
- 64-битный толстый клиент (1cv8.exe), недоступны некоторые функции, ограничена работа контекстной подсказки
- 64-битный тонкий клиент (1cv8c.exe), только для запуска 64-битного толстого клиента
Поддерживаются режимы запуска
- толстый клиент обычное приложение (основной режим)
- толстый клиент управляемое приложение, «Использовать обычные формы в управляемом приложении» = Истина, недоступен в портативном варианте
Поддерживаются режимы конфигурации
- (для 8.3) «Режим использования синхронных вызовов расширений и внешних компонент» <> «Не использовать»
Поддерживаются варианты встроенного языка
- русский
- английский
Запуск в режиме «Обычное приложение»
Конфигурации под управляемое приложение часто вполне работоспособны и в режиме обычного приложения. У таких конфигураций установлен основной режим запуска «Управляемое приложение». Однако вы можете запустить для них обычное приложение любым их вариантов
- указав параметр командной строки /RunModeOrdinaryApplication
- установив пользователю базы свойство «Режим запуска» = «Обычное приложение»
- из конфигуратора в «Сервис/Параметры» указать режим запуска «Управляемое приложение и обычное приложение» и запускать команду «Начало отладки»/»Толстый клиент (обычное приложение)»
- из управляемого приложения выполнив команду подсистемы «Запустить обычное приложение» или формы базовой внешней обработки портативного варианта инструментов
Как найти нужный инструмент
В обычном приложении на панели инструментов подсистемы есть кнопка, открывающая список инструментов и общие настройки. В управляемом приложении та же форма открывается командой «Список инструментов и настройки».
Используя фильтр по названию, часто можно быстро найти нужный инструмент. Также можно прочитать описание каждого инструмента и нажать кнопку «Поиск по текстам интерфейса».
Как разобраться в море кнопок
В каждой немаленькой командной панели подсистемы есть кнопка «Структура командной панели» (продвинутый аналог «Все действия» в управляемой форме). Она позволяет искать по описанию кнопок.
Как разобраться в море элементов управления
В каждой немаленькой форме подсистемы, есть кнопка «Показать структуру формы» (далекий аналог «Изменить форму» в управляемой форме). Она позволяет искать по заголовкам и подсказкам элементов управления.
Копирование и вставка ссылок
Во всех полях ввода и табличных полях подсистемы доступны команды Копирования (SHIFT+ALT+C) и Вставки (SHIFT+ALT+V) ссылки. Демонстрация
В большинстве полей ввода подсистемы
- при вставке представлений ссылок документов выполняется поиск подходящего документа по номеру и дате из вставленного представления
- при вставке навигационных ссылок они заменяются на обычные ссылки
- при вставке представлений уникальных идентификаторов (например «<Объект не найден> (2491:bb0d84b6646fdfd3424fd266dd85544a)», «dd85544a-d266-424f-bb0d-84b6646fdfd8») выполняется преобразование уникального идентификатора в ссылку
Состав подсистемы
Флажок «Объекты на сервере»
Этот флажок присутствует во всех инструментах, выполняющих работу с объектами данных, и обеспечивает перенос всей работы с объектами на сервер, что позволяет избежать ряда ошибок в конфигурациях под управляемое приложение. В этом режиме на клиенте работа идет с имитаторами объектов данных, которые инкапсулируют серверные вызовы с выполнением операций с реальными объектами. Эти лишние действия несколько замедляют работу с объектами, поэтому отключайте этот режим, если у вас не возникают ошибки указанные выше ошибки. Режим состоит из набора приемов и ограничений:
- Создание объекта — Менеджер.Создать*() — ирОбщий.ОбъектБДПоКлючуЛкс()
- Получение существующего объекта — Ссылка.ПолучитьОбъект() — ирОбщий.ОбъектБДПоКлючуЛкс()
- Получение типа объекта — ТипЗнч(Объект) — ирОбщий.ТипОбъектаБДЛкс()
- Получение метаданных объекта — Объект.Метаданные() — Метаданные.НайтиПоТипу(ирОбщий.ТипОбъектаБДЛкс(Объект))
- Табличная часть имитируется таблицей значений и потому не имеет методов Выгрузить(), Загрузить()
Функция ирОбщий.ОбъектБДПоКлючуЛкс() возвращает структуру:
- Методы — ОбработкаОбъект с предопределенными свойствами и методами объекта (экспортные переменные и методы объектов отсутствуют)
- Данные — Структура, ТаблицаЗначений — данные объекта
Глобальные команды управляемых форм
В непортативных вариантах во всех управляемых формах, которые открыты не в режиме «Блокировать владельца», сразу начинают работать глобальные команды (их список также указан в форме «Адаптация расширения»)
- «Редактировать объект» (Ctrl+Alt+E)
- «Обработать объекты» (Ctrl+Alt+R)
Поддерживается извлечение ссылок из основного реквизита формы по пути «Объект.Ссылка» и из выделенных строк текущей таблицы.
Подсистема «Инструменты разработчика» 1C — Вариант Расширение
Вариант Расширение
Скачать последнюю версию можно тут или вместе с пустой базой тут или установщик тут
Несколько урезанный вариант подсистемы в виде расширения конфигурации. Будет полезен в тех случаях, когда менять конфигурацию базы неудобно.
Номер версии варианта Расширение образуется от номера версии варианта Подсистема, на базе которой он выпущен, путем приписывания справа латинских букв «e» (extension).
Особенности установки
Подключите расширение к вашей базе на платформе 8.3.10.2375+ (для клиент-серверных баз рекомендуется 8.3.12+) и режимом совместимости 8.3.9+. Снимите флажки «Безопасный режим» и «Защита от опасных действий». Как подключить расширение, можно узнать тут или тут. Если у пользователя есть право Администрирование и ТолстыйКлиент, но у него нет роли ирПользователь и у других пользователей базы нет роли ирРазработчик, то при входе ему добавляются роли ирРазработчик и ирПользователь и сеанс перезапускается. Если в общих настройках включить флажок «Добавлять роль ИР всем администраторам», то отсутствие роли ирРазработчик у других пользователей проверяться не будет. Также эти роли добавляются при указании параметра запуска «ВключитьИР». Управлять ролями заданными в расширении можно только в режиме клиентского приложения (например через инструмент «Редактор пользователей»).
При наличии в конфигурации БСП ниже чем 2.4 после добавления ролей расширения в профили групп доступа могут возникнуть проблемы с обновлением вспомогательных данных, т.к. там отсутствует поддержка ролей в расширениях. В качестве обхода проблемы можно использовать инструмент «Редактор пользователей» для добавления нужных ролей пользователям напрямую.
С помощью формы «Адаптация расширения» можно
- подключить параметризованные команды расширения ко всем объектам конфигурации
- сгенерировать роль ирВсеПрава
- подключить перехватчик создания внешних обработок БСП
- встраивать команду «Отладить отчет» в расширения форм отчетов
Эта форма автоматически открывается при первом запуске толстого клиента управляемого приложения.
Обновление
Самый простой способ корректно обновить инструменты при наличии интернета — в диалоге «О подсистеме» нажать кнопку «Обновить на актуальную версию».
Функции для отладки
Функции для отладки (От, Ис, Оп…) расположены в общем модуле ирОбщий. Чтобы их вызвать в отладчике, нужно в табло вычислить выражение «ирОбщий.<ИмяФункции>Лкс(<Параметры>)». Посмотреть это выражение можно в окне «Список инструментов и общие настройки».
Отложенная отладка обеспечивается за счет сохранения снимков в каталог объектов для отладки, задаваемый в общих настройках инструментов.
Недостатки по сравнению с подсистемой:
- Недоступны
- Справочник «Алгоритмы» (вместо него используются файлы)
- Справочник «Объекты для отладки» (вместо него используются файлы)
- Справочник-команда «Редактировать объект»
- Невозможно запустить в базе, в конфигурации которой встроена подсистема «Инструменты Разработчика»(из-за конфликтов имен).
Выпуск из чистой подсистемы
- Откройте на платформе 8.3.10.2375+ в любой другой базе с подсистемой через интерфейсную панель общую форму «Выпуск варианта Расширение»
- Укажите в «Каталоге выпуска», куда помещать выпускаемый файл
- Закройте конфигуратор этой базы
- Нажмите Выполнить
Слабая интеграция с конфигурацией
Для необязательного программного обращения из вашей конфигурации к расширению (слабой интеграции) рекомендуется встроить общий модуль ирИнтерфейсДляВстраивания с переименованием в ирИнтерфейс. Этот модуль позволяет вызывать описанные в нем функции расширения из кода конфигурации. Все методы этого модуля имеют подробные комментарии, помогающие правильно их вызывать из вашей конфигурации. На текущий момент этот модуль позволяет
- Открывать редактирование в консоли кода текста алгоритма с параметрами из кода конфигурации
При обновлении этого варианта рекомендуется обновлять и встроенный в конфигурацию интерфейсный модуль.
Быстрый старт отладки запроса и компоновки
Подсистема «Инструменты разработчика» 1C — Установка и обновление
Установка, обновление, удаление
Файл конфигурации подсистемы нужно объединять с целевой конфигурацией. Все объекты подсистемы имеют префикс «ир».
Установка подсистемы (первое объединение)
- Если ваша конфигурация находится на поддержке, то включите возможность изменения корня конфигурации. Это отключит возможность полностью автоматического обновления конфигурации от поставщика, однако оно будет очень простым.
- Чтобы получить возможность использовать подсистему в режиме управляемого приложения, установите свойство конфигурации «Использовать обычные формы в управляемом приложении».
- Запустите сравнение и объединение конфигураций.
- Снимите все пометки.
- Установите пометки по подсистеме «Инструменты разработчика» файла
- Если ваша конфигурация содержит БСП 2.3+, то снимите флажок с роли ирПравоАдминистрирование.
- Установите пометку на самой подсистеме «ИнструментыРазрабочика».
- Нажмите Выполнить
- Если желаете, подключите общие команды и справочники-команды к своим метаданным
- Добавьте роль ирРазработчик нужным пользователям инфобазы
Чтобы предоставить пользователю базы возможность полного использования подсистемы, ему нужно включить роль ирРазработчик.
Чтобы получить возможность программного использования инструментов при отладке под обычным пользователем, ему нужно на время отладки включить роль ирОтладкаПользователя.
Чтобы подключить команды подсистемы (в ветке «Общие команды») для толстого клиента управляемого приложения нужно в свойстве «Тип параметра команды» указать, для форм каких типов объектов целевой конфигурации они будут доступны.
Чтобы подключить команды подсистемы для обычного приложения нужно для справочников ирКоманда* во вводе на основании указать, для форм каких типов объектов целевой конфигурации они будут доступны.
Установка общая для всех вариантов
Если текущий пользователь ОС не является администратором или запуск приложения выполнен с контролем учетных записей (User acccount control), то для работы некоторых функций инструментов требуется зарегистрировать в ОС ряд COM компонент с помощью повышенных привилегий. Для этого необходимо запустить предприятие от имени администратора (run as administrator) и командой «Регистрация COM компонент (ИР)» открыть форму регистрации и нажать там Выполнить.
Обновление подсистемы (повторное объединение)
Проверить наличие обновлений можно в диалоге «О подсистеме». Там же можно и скачать новый файл поставки нажатием кнопку «Обновить на актуальную версию».
- Запустите сравнение и объединение конфигураций.
- Снимите все пометки.
- В настройках объединения установите флажок «Разрешить удаление объектов основной конфигурации».
- Установите пометки по подсистеме «Инструменты разработчика» файла
- Если ваша конфигурация содержит БСП 2.3+, то снимите флажок с роли ирПравоАдминистрирование.
- Если подключены общие команды или справочники-команды, то снимите пометки с их связующего свойства (Тип параметра или Ввод на основании)
- Установите пометку на самой подсистеме «ИнструментыРазрабочика», если она есть в списке отличий.
- Нажмите Выполнить
Удаление подсистемы
- Установить отбор по подсистеме «ИнструментыРазработчика»
- Удалить все общие команды, отчеты, обработки, общие формы, общие модули, общие макеты, группы команд, параметры сеанса, элементы стиля, роли
- Для справочников ирКомандаРедактироватьОбъект, ирОбъектыДляОтладки, ирАлгоритмы
- очистить список «является основанием для»
- удалить сами справочники
- Удалить общие картинки, кроме ирИнструментыРазработчика (ее конфигуратор пока не даст удалить)
- Удалить подсистему «ИнструментыРазработчика»
- Удалить общую картинку ирИнструментыРазработчика
Подсистема «Инструменты разработчика» 1C — консоль запросов
Консоль запросов
- для программного вызова (отладки запроса) служит функция Отладить(Запрос, *Модально) или коротко От(Запрос) для использования в точке останова, при этом запрос открывается (на сервере предварительно сохраняется в снимок) в консоли с сохранением работоспособности, включая параметры и временные таблицы
- поддержка типов запросов
- Обычный (1С)
- Построитель (1С)
- Компоновка (1С)
- WQL (WMI)
- ADO
- поддержка пакетных запросов
- поддержка временных таблиц
- конструктор запроса и контекстная подсказка «понимают» типы полей существующих временных таблиц
- автоматический вывод содержимого созданной временной таблицы
- возможность использования постоянного менеджера временных таблиц
- дерево запроса — режим структурного представления текста запроса, позволяющий работать с целостными фрагментами запроса и сразу видеть использованные в запросе таблицы
- включается из командной панели формы
- для работы режима дерева запроса требуется регистрация
COM-компоненты GoldParser.DLL, которая выполняется автоматически при наличии прав
администратора ОС - Понимает любые синтаксически правильные тексты
- режим сворачивания вложенных запросов в тексте
- работает и для чужеродных (с неизвестными
метаданными) запросов - колонка «Длительность чистая», вычисляемая как длительность полная, уменьшенная на сумму длительностей всех дочерних подзапросов, облегчает локализацию долгих операций в дереве
- возможность выполнить все подзапросы текущего узла
- функции для преобразования текста запроса
- Вынести в новый запрос
- Преобразовать в подзапрос
- понимает имена запросов и частей объединений расставленные в комментариях вида «{Запрос: <Имя>» и «{Выборка: <Имя>»
- в дереве запросов и в дереве запроса фиксируется длительность и число строк результата последнего выполнения
- в дереве запросов скрытая по умолчанию колонка «Возраст выполнения, минут»
- сохранение и восстановление позиции текущей строки в дереве запросов
- Редактор текста запроса
- кнопка для открытия конструктора запроса ИР
- кнопка для открытия стандартного конструктора запроса
- контекстная подсказка (если имеются вложенные запросы, то для улучшения ее работы лучше включать режим дерева запроса)
- кнопка «Вставить ссылку на объект БД» для удобной вставки ссылки на любой объект в виде параметра
- кнопка «Копировать текст в буфер обмена в виде выражения встроенного языка»
- Подменю установки генерируемого текста
- Все типы ссылок
- Даты за период
- Объединение сcылочных таблиц
- Объединение cсылочных таблиц изменений
- вывод результата в
- Таблица значений
- Дерево значений
- Сводная таблица
- передача выбранных данных из результата в другие инструменты
- Подбор и обработка объектов
- Поиск дублей и замена ссылок
- замер времени выполнения
- параметры запроса
- типы параметров
- значение
- список
- выражение, редактор с контекстной подсказкой
- выражение СКД, редактор с контекстной подсказкой
- кнопка вычисления параметров
- кнопка заполнения параметров по тексту
- копирование выбранных параметров между запросами путем их перетаскивания на строку дерева запросов
- кнопка Период добавляет группу параметров для задания интервала времени только при первом
нажатии, а при повторном открывает диалог редактирования периода
- типы параметров
- настройка динамического отбора и порядка в режиме компоновки (в режиме
построителя поддерживается настройка только отбора и только с 11-го релиза)- просмотр результирующего запроса
- открытие сгенерированной по запросу компоновки в консоли компоновки
- обработчики «перед выполнением», «обработка строки результата» и «обработка результата» с контекстной подсказкой с возможностью отладки в
штатном отладчике платформы через выполнение в консоли кода через
динамическую внешнюю обработку - переход (по F12) к определению таблицы или во вложенный запрос в режиме
дерева запроса - Над коллекцией результата информационное поле с длительностью выборки данных
- Рядом с коллекцией результата сворачиваемая таблица свойств строки с указанием типов значений
- пошаговое выполнение пакетного запроса (по F10)
- для коллекции результата предусмотрен режим частичной
загрузки, включаемый автоматически, если выборка превышает порог (по умолчанию 100000 строк), и загружает первую ее часть. Кнопка «Загрузить» загружает
выборку полностью - в командной панели таблицы результата переключатель «Показывать подвал с итогами»
- Интерактивное помещение во временную таблицу
- текущего результата типа Таблица
- результатов ветки запросов в дереве запросов
- Закладка «Выборки итогов» запроса для управления обходом выборок в дерево значений и служебными колонками
- Выборка
- Уровень
- Число потомков
- Группировка
- Имя группировки
- генераторы текста модуля для обработчиков результата и строки таблицы результата
- кнопка «Трасса» для анализа трассы выполненного запроса в инструменте «Анализ техножурнала»
- Кнопка «Статистика MSSQL» для открытия инструмента Статистка по запросам MSSQL с передачей интервала последнего выполнения запроса
- восстановление сессии консоли после ее нештатного прерывания (например аварийного)
- поддержка WQL
- поддержка ADO
- типы источников
- MSSQL
- MSVisualFoxPro
- DB2
- Oracle
- Postgres SQL
- MSJet
- MySQL
- опция аутентификации ОС при подключении к MS SQL
- типы источников
Дерево запроса
Имена запросов и частей объединений в дереве запроса
Подсистема «Инструменты разработчика» 1C — Иллюстрации
Все обучающие видеоролики можно найти в моем youtube канале
Здесь приведены лишь некоторые иллюстрации. Полный состав иллюстраций и видеороликов расположен в описании.
Динамический список
Интерфейсная панель
Справочник Алгоритмы
Универсальный подбор и обработка объектов
Консоль построителей отчетов
Консоль компоновок данных
Консоль запросов
Менеджер интерфейсов
Поиск ссылок на объект
Исследователь объектов
Менеджер табличного поля
Контекстная подсказка. Вызов контекстной справки (синтакс-помощника) по слову
Контекстная подсказка. Окно синтакс-помощника
Контекстная подсказка. Включены все колонки списка слов. Контекстное меню таблицы.
Контекстная подсказка. Режим языка запросов
Контекстная подсказка. Режим встроенного языка
Контекстная подсказка. Указание ошибочной строки.
Контекстная подсказка. Справка по параметру
Инструменты разработчика 1С
Набор очень интересны и удобный набор для разработки. На мой взгляд это одно из самых хороших вещей, которых создавались на 1С.
Продукт представляет собой интегрированный в подсистему набор мощных инструментов разработчика на платформе 1С 8. Он может встраиваться в конфигурацию и может быть использован как внешняя обработка.
Поддерживаются режимы запуска платформы 1С
- толстый клиент обычное приложение
- толстый клиент управляемое приложение c установленным свойством конфигурации «Использовать обычные формы в толстом клиенте в управляемом режиме»
- в любом клиенте на стороне сервера возможно сохранение объектов для отложенной отладки
Материал взят с http://devtool1c.ucoz.ru, также там есть возможность скачать данные инструменты.
Они распростроняются бесплатно.
Состав подсистемы
- анализ журнала регистрации
- анализ техножурнала
- динамический список
- интерфейсная панель
- исследователь объектов
- консоль запросов
- Консоль кода
- консоль построителей отчетов
- консоль компоновки данных
- консоль заданий
- контекстная подсказка
- менеджер интерфейсов
- менеджер табличного поля
- настройка журнала регистрации
- настройка техножурнала
- общие команды
- подбор и обработка объектов
- поиск ссылок на объект
- поиск дублей и замена ссылок
- проверка данных перед усечением типов
- расширенное редактирование значений
- редактор объекта БД
- редактор констант
- редактор параметров сеанса
- редактор изменений на узле
- синтакспомощник
- список пользователей
- справочник Алгоритмы
- тестирование метаданных
- функции для отладки
Если Вы профессионально занимаетесь разработкой 1С, обязательно загляните на сайт разработчика.
Огромное ему спасибо.