При работе в различных компаниях было принято решение разработать собственную утилиту работы с запросами.
К консоли запросов, которая представлена в этой статье были поставлены следующие требования:
- Поддержка всех версий 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.2025 (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 в режиме УФ.
Обновление от 29.03.2025 (Betta версия 4.0).
Добавлен перевод текста запроса и форматирование.
Обновление от 10.04.2025 (Betta версия 4.0).
Добавлен функционал по автоматическом получении сведений о конфигурации 1С, режиме совместимости и использовании модальности. Плюс базовые данные сеанса пл информационной базе для соединения.
Обновление от 12.04.2025 (Betta версия 4.0).
Для Web-клиента разработан вариант textarea с настройкой шрифта и вставки комментариев в выделенный текст - аналог контролла Поле Ввода 1С
Обновление от 08.05.2025 (Betta версия 4.0).
Обновлен движок вывода в табличный документ - взамен рекурсии теперь используется старая добрая техника через метки и массивы данных.
Добавлен функционал цветовой подсветки и представлений типов данных.
Обновление от 14.05.2025 (Betta версия 4.0).
Подсветка адаптирована к работе на мобильной платформе.
Обновление от 20.05.2025 (Betta версия 4.0).
Разработан ускоренный алгоритм подсветки значений - для 30 тыс. строк вывод замедляется на 10-15 секунд при постановке галочки.
Обновление от 25.05.2025 (Betta версия 4.0).
Добавлен вывод типов значений у колонки перед строчкой наименований. Добавлена подсветка пустых расшифровок. Интегрированы внутрь диалоги выбора цветов (с учетом экрана смартфона). Добавлена вкладка история изменений.
Обновление от 17.06.2025 (Betta версия 4.0).
Добавлена поддержка вставки предопределенных элементов.
Проверено на следующих конфигурациях и релизах:
- 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
- Бухгалтерия предприятия КОРП, редакция 3.0, релизы 3.0.173.31
- Документооборот КОРП, релизы 2.1.28.12