При работе в различных компаниях было принято решение разработать собственную утилиту работы с запросами.
К консоли запросов, которая представлена в этой статье были поставлены следующие требования:
- Поддержка всех версий 1с 8.2, начиная с версии 8.2.9 как первого рабочего релиза 1с 8.2.
- Поддержка всех версий 1с 8.3 в режимах работы:
- Поддержка работы консоли в синхронном синтаксисе. Этот режим используется для работы с версиями 1с 8.2 и используется при включении разрешения на работу в синхронном режиме.
- Поддержка работы консоли в асинхронном синтаксисе. Этот режим является стандартным для платформы 1с 8.3, и используется по умолчанию консолью.
Релиз 3.0 этой консоли, существенно отличается от своих предшественников существенной доработкой имеющихся ранее инструментов и добавление новыми инструментами.
Список дополнительных инструментов, которые появились в консоли:
- Перехват запросов.
- Генератор кода.
- Автосохранение изменений сделанных в запросе.
Перехват запроса с временными таблицами и параметрами в следующих режимах:
- Обычный режим. Этот режим работы перехвата запроса является типовым, не работает в безопасном режиме, т.к. выгружается обработка.
- Безопасный режим. Этот режим перехвата подразумевает специальное кэширование обработки с возможностью вызова её через специальный текст перехвата.
Можно просмотреть полностью текст запроса, и посмотреть параметры, сохранить в файл перехваченный запрос, или просто добавить его в список запросов.
Генератор кода. Этот инструмент позволяет сгенерировать код обработки результата запроса. Набор параметров изображен на Рисунке 1.
Рисунок 1. Параметры генератора кода
Параметры использования генератора:
- Заполнение параметров позволяет выбрать, как именно в параметр будет подбираться значение из базы. Доступны способы: код, наименование, идентификатор.
- Анализ результатов означает, как именно будет строиться код обхода – алгоритмом (по полям) или анализу по значению.
- Тип выборки, как именно выбирать значение – выбрать, выгрузить, выгрузить в дерево значений.
- Выполнение запроса. Определяет выполнение в обычном или пакетном режиме.
Дополнительной возможностью генератора кода является возможность протестировать то, как будет работать код обработки с запросом – аналогично консоли кода, но без подсветки синтаксиса и т.д.
Сохранение изменений в тексте запроса.
Механизм позволяет сохранять изменения сделанные в запросе. В настоящее время механизм изменения доступен только в одну сторону – откат. Форма реализована следующим образом:
Рисунок 2. Работа с вариантами текущего запроса.
Варианты появляются автоматически при изменении текста текущего запроса.
Системные требования по работе с консолью версии 3 являются эквивалентными требования к платформам 1с 8.2 и 8.3. Единственное ограничение - на Linux сервере 1с 8.2 не поддерживается замер производительности.
Интерфейс консоли версии 3.0 выглядит таким образом:
Для Обычных Форм интерфейс версии 3.0 такой:
Список прочих обновлений по сравнению с версии 2.0:
- Стабилизирована работа 8.2.9 платформы в режиме WebClient.
- Доработана обработка ошибок при работе в режимах совместимости и выставленных ошибок.
- Исправлены ошибки при запуске консоли на Linux, Android, … Поддержка в полном объеме.
- Доработана возможность выбора типа выполнения запроса:
- Обычный. Простое выполнение запроса.
- С временными таблицами. Выводит содержимое временных таблиц.
- Замер производительности. Только для оценки времени выполнения запроса.
- Доработана возможность заполнить параметры отдельной командой.
- Для обычных форм дополнена возможность изменять размеры и скрывать ненужные элементы с формы. Но, эта возможность пока на стадии бета-версии.
- Создан прообраз интерфейса мобильной версии консоли, интерфейс преобразуется для мобильного клиента и мобильного приложения автоматически. Работает автоматически.
- Удалены устаревшие способы сохранения значений из внутренней строки - заменены механизмами XML.
- Дополнительно добавлена возможность выбора сложного типа параметра в списке значений - используются только те типы, которые можно добавить в параметр.
Обновление от 03.07.2023
Добавил команду обработки текста запроса выбранного из конфигуратора
Обновление от 22.07.2023
Изменены формы выбора варианта запроса, теперь форма сделана следующим образом:
Для управляемых форм:
Для обычных форм:
Обновление от 16.09.2024
Основные отличия от версии 3.0:
- Поддержка платформы 1с 8.0. Теперь обработку на обычных формах можно использовать на любой версии платформ 1с 8.0.
- Переделан полностью интерфейс как для обычных форм, так и для управляемых форм. Основной упор сделан на максимальную область редактирования текста запроса.
- Переработан интерфейс для мобильного клиента - теперь можно пользоваться даже на экране смартфона.
- Добавлен тип параметра "КодВыражение" - это произвольное короткое выражение, которое вычисляется перед добавлением параметра в запрос.
- Временные таблицы теперь сохраняются в файл запроса.
Скриншот обычного приложения (платформа 1с 8.0.14):
Для управляемых форм (Тонкий и Толстый Клиент) - 1с 8.2.9:
Для Веб-клиента версии 8.3.20 (веб-клиент 8.2 выглядит подобным образом):
Для мобильных устройств (пример на самом маленьком экране BlueStacks - 540*960) консоль примет следующий вид:
Версия 3.0 изначально не была оптимизирована под мобильный клиент - 3.0 SE разработана с учётом запуска этого типа клиента.
ОГРАНИЧЕНИЯ ПО РАБОТЕ:
- На IOS не работает команда вычислить\выполнить - следовательно тип параметра КодВыражение не возможно использовать на этой платформе.
- Т.ж. не везде будет работать копирование в буфер обмена (в особенности на старых браузера Mozilla и Chrome, у IE с этим напротив проблем не будет).
- Ограничения по работе Замера производительности - такие же.
- На мобильном клиенте сохранение файлов в таблицу - пока возможно только в MXL формат.
Проверено на следующих конфигурациях и релизах:
- 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.1.91