При работе в различных компаниях было принято решение разработать собственную утилиту работы с запросами.
К консоли запросов, которая представлена в этой статье были поставлены следующие требования:
- Поддержка всех версий 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 SE)
Выпущено крупное обновление по сравнению с 3.0. Основные отличия от версии 3.0:
- Поддержка платформы 1с 8.0. Теперь обработку на обычных формах можно использовать на любой версии платформ c версии 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 формат.
Обновление от 27.12.2024 (версия 3.0 SE и версия 3.0 - поддержка платформы 1С 8.5)
Выпущены исправления в версиях консоли 3.0 (по причине популярности) и версии 3.0 SE для поддержки новой платформы.
Версии выглядят таким образом для режима УФ (интерфейс 1с 8.5):
3.0 SE:
А версия 3.0:
Интерфейсы для обычного приложения остались такими-же.
Обновление от 29.12.2024
Разработан собственный механизм подсветки текста запроса для управляемого приложения:
И для 1с 8.3:
Для 1с 8.5.1 пока поддерживается только светлая тема.
Обновление от 25.03.2024 (Betta версия 4.0).
Реализована новая версия консоли запросов - 4.0. На текущий момент обработка находится в betta режиме,тем не менее её отличия от 3.0:
- Самописный статический движок для генерации HTML файла. Теперь результаты запросов на экране смартфонов можно выгрузить в HTML файл и отправить потом его как отчет.
- Добавлена функция масштабирования текста запроса - можно настроить шрифт, размер, курсив или жирный (подчеркивание и зачеркивание не работает на смартфоне). НЕ РАБОТАЕТ В РЕЖИМЕ ИНТЕРФЕЙСА 8.5.
- Анализатор GUID и его отображение - анализатор GUID вытаскивает дату генерации, mac адрес, определяет его тип. Для мобильного приложения бесполезен - там GUID формируется не по моменту времени.
- Добавлена функция восстановления комментариев после запуска смартфона (как в консоли 9000 - адаптирована под 8.0 и смартфоны).
- Введены новые типы данных: NUll, Неопределено, ФиксированныйМассив, Массив, Уникальный идентификатор как параметры запросов на форме.
- Добавлен режим вызова - проверки текста запроса.
- Возможность выключить параметр из выполнения - признак Не использовать.
- При переименовании параметра, если он не выключен - вызывается окно с предложением исправить текст запроса - заменить параметр запроса в тексте.
- Учтены глюки работы ТОЛСТОГО КЛИЕНТА И ВЕБ-КЛИЕНТА НА СТАРЫХ 1С 8.3 - НАПИСАНЫ ФУНКЦИИ ДЛЯ ОБХОДА ОГРАНИЧЕНИЙ В РЕЖИМЕ ЗАПРЕТА СИНХРОННЫХ ВЫЗОВ.
- ДЛЯ ЭТОЙ ВЕРСИИ ПОНЯТИЕ РЕЖИМ СОВМЕСТИМОСТИ БОЛЬШЕ НЕ СУЩЕСТВУЕТ, КАК И ФЛАЖОК ЗАПРЕТА НА СИНХРОННЫЕ ВЫЗОВЫ.
- УЧТЕНЫ ПРАВКИ, НЕОБХОДИМЫЕ ДЛЯ РАБОТЫ НА ПЛАТФОРМЕ 1С 8.5.1.
- ДЛЯ МОБИЛЬНОЙ ПЛАТФОРМЫ РЕАЛИЗОВАН САМОПИСНЫЙ ДИАЛОГ ДЛЯ РАБОТЫ С ФАЙЛАМИ. ВО ВСЕ ФОРМЫ ВСТРОЕНА ДОПОЛНИТЕЛЬНАЯ КНОПКА ЗАКРЫТЬ - ЗАКРЫВАЕТ ФОРМУ.
- ПРИ ЗАКРЫТИИ КОНСОЛИ - ВЫСКАКИВАЕТ ДИАЛОГ С ВОПРОСОМ ДЛЯ ПОДТВЕРЖДЕНИЯ ДЕЙСТВИЙ.
- ДЛЯ ВВОДА ТИПОВ ДАННЫХ СДЕЛАНА ОТДЕЛЬНАЯ ФОРМА ВЫБОРА ТИПА С ПОИСКОМ ТИПА ПО ПОДСТРОКЕ.
- В ГЕНЕРАТОР КОДА ДОБАВЛЕНА СБОРКА ТАБЛИЧНОГО ДОКУМЕНТА ЧЕРЕЗ ПОСТРОИТЕЛЬ ОТЧЕТА И ПРЯМАЯ ГЕНЕРАЦИЯ ТАБЛИЧНОГО ДОКУМЕНТА ПО РЕЗУЛЬТАТУ ЗАПРОСА.
Но, самое важное - понижены системные требования для работы консоли:
- Мобильное приложение версии 8.3.5 и новее - интегрировать внутрь приложения как инструмент.
- Для управляемых форм - версия 8.2.9 и новее. (обычные и управляемые формы вместе)
- Для обычных форм - поддержка версии 8.0.5 и новее. (сделан отдельный файл).
НОВЫЕ ПЛАНЫ НА ОБНОВЛЕНИЯ: добавить поддержку форматов xlsx и ods при генерации файла в мобильном приложении - отдельный функционал. Так-же сделать использование отчетов DHTML - имитация группировок 1С. Доделать самописный движок для подсветки синтаксиса для 1С 8.2.9 в режиме УФ.
Проверено на следующих конфигурациях и релизах:
- 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.10.479, 3.1.10.403, 3.1.1.91
- Управление торговлей, редакция 10.3, релизы 10.2.8.2
- Управление нашей фирмой, редакция 3.0, релизы 3.0.2.193