Платформа корпоративной автоматизации DOC-V продолжает развиваться стремительными темпами. За прошедшую неделю наша команда реализовала целый ряд крупных архитектурных изменений и функциональных улучшений как в Angular-фронтенде, так и в высокопроизводительном Golang-бэкенде. Все детальные технические подробности и инструкции по настройке уже опубликованы на нашем Портале поддержки, а в этом обзоре мы кратко разберем самые ключевые нововведения.
1. Иерархические древовидные структуры в «Таблице документов»
Поле «Таблица документов» является одним из фундаментальных элементов конструирования данных в DOC-V. Ранее оно отображало дочерние документы в виде плоского линейного списка. Теперь в настройках поля в блоке параметров внешнего вида появилась возможность переключения в древовидный (иерархический) режим на основе связей «родитель-потомок».
Что изменилось в работе с таблицами:
• 100% обратная совместимость: На уровне базы данных структура хранения осталась неизменной — значения по-прежнему записываются в виде плоской строки идентификаторов документов через запятую, что исключает сбои при обновлении существующих систем.
• Удобное контекстное меню-гамбургер: Взамен обычного перетаскивания и удаления внедрено меню управления строками. С его помощью можно сортировать элементы (Вверх/Вниз/В начало/В конец) и на лету изменять родителя документа.
• Создание записей «на лету» и автонумерация: Кнопка быстрого создания дочерней строки `+` теперь отображается плавно при наведении на строку дерева. Также добавлена настройка «Автонумерация», выносящая порядковые номера строк в компактные стилизованные баджи.
2. Долгожданное копирование точек маршрута со всеми кнопками и действиями
Одной из самых ожидаемых функций для администраторов платформы стала возможность копирования настроенных точек маршрута вместе со всеми их кнопками и действиями. Это решает давнюю проблему ручного дублирования сложной бизнес-логики при создании похожих типов документов. При переносе точки маршрута мастер автоматически сканирует все связанные действия, кнопки и точки, позволяя сопоставить их с существующими объектами в целевом документе либо быстро скопировать их из исходного типа.
3. Универсальный метод вывода данных по HTML-шаблону
Для поля «Таблица документов» разработан новый мощный метод-геттер «Получить текст по шаблону». Он позволяет собрать отрендеренный HTML-код из документов таблицы на основе кастомного шаблона строки.
Метод умеет рекурсивно обходить иерархию дерева (по алгоритму поиска в глубину DFS) или плоский список, подставляя локальные поля дочерних документов, глобальные переменные договора и виртуальные переменные [Номер] и [Уровень]. Это дает возможность буквально за пару минут настроить автоматический конструктор сложных договоров со спецификациями, приложениями и вложенными пунктами, генератор коммерческих предложений с детальным расчетом стоимости оборудования и услуг, или автоформирование регламентных протоколов тендерных комиссий.
4. Шаблонизатор для текстовых полей
По аналогии с табличными методами, стандартное текстовое поле получило метод «Получить текст с подстановкой значений». Он позволяет обрабатывать содержимое текстового поля как шаблон, автоматически заменяя вставки вида {{ИмяПоля}} или {{ЗаголовокПоля}} на реальные значения полей текущего документа.
5. Новая возобновляемая чанковая загрузка файлов (Chunked Resumable Upload)
Одной из главных технических доработок недели стал переход на поблочную загрузку файлов через HTTP POST взамен их отправки целиком через WebSocket. На медленных или нестабильных мобильных соединениях отправка больших файлов (видео, тяжелых PDF-сканов) по WebSocket могла приводить к необходимости повторной полной загрузки файла после разрыва связи.
«Теперь файлы нарезаются на стороне клиента на чанки по 5 МБ и передаются параллельно в 2 потока. При возникновении сетевых ошибок система выполняет до 5 попыток отправки чанка с экспоненциальной задержкой, а при полной потере связи сохраняет SHA-256 хэш файла для последующей бесшовной докачки.»
Визуальная составляющая загрузчика также была переработана: вместо скучного прогресс-бара пользователи теперь видят информативную панель с отображением скорости загрузки в МБ/с, оставшегося времени (ETA), объема переданных данных и кнопкой мгновенной отмены загрузок по каждому файлу.
6. Улучшения юзабилити и мобильного интерфейса
Мы продолжаем адаптировать интерфейсы DOC-V под комфортную работу со смартфонов и планшетов:
• Полноэкранные диалоги документов: На мобильных экранах (шириной менее 960px) модальные окна просмотра документов из журналов и таблиц теперь автоматически разворачиваются на 100% ширины и высоты без лишних внешних отступов, а кнопка максимизации скрывается за ненадобностью.
• Lightbox-просмотр изображений: При клике на картинки внутри текстовых полей в режиме просмотра теперь открывается красивое модальное окно просмотра в полном размере с размытием фона (эффект матового стекла backdrop-filter: blur(8px)).
• Автовысота текстовых полей: Текстовые поля ввода (textarea) без редактора теперь автоматически рассчитывают свой начальный размер (количество строк) по числу символов переноса строки \n в исходном тексте, а при вводе плавно увеличивают высоту в пределах заданных лимитов.
• Скрытие изменения пароля: В настройки пользователя добавлена опция, позволяющая скрыть кнопку смены пароля в профиле, если в системе настроена интеграция с внешним сервисом аутентификации (Single Sign-On).
7. Повышение стабильности бэкенда и важные исправления
В рамках релиза были устранены накопившиеся технические шероховатости:
• ONLYOFFICE Docs 9.4.0+: На бэкенде добавлено автоматическое проксирование и подмена старых путей загрузчика index_loader.html на index.html, что восстановило работу интеграции со свежими версиями редакторов ONLYOFFICE.
• ЭЦП Sigex KZ: Исправлена проблема пустых документов при подписании через eGov QR с отключенным сохранением вложенных данных (Attach = "off").
• MySQL в инсталляторе: Устранен интерактивный запрос ввода пароля Enter password: от MySQL CLI при пустом пароле, оптимизировано интерактивное меню при обнаружении конфликтов существующих пользователей.
• WebSocket reconnect: Удалено избыточное разделение реконнектов, теперь при любом восстановлении соединения гарантированно сбрасываются локальные кэши журналов и обновляются подписки.
Этот недельный релиз делает No-Code платформу DOC-V еще более быстрой, стабильной и применимой для автоматизации крупных иерархических структур данных предприятия в едином суверенном контуре.