Версии документов
Назначение
Сервис обеспечивает просмотр и контроль версий документов и изменений их содержимого. Включает хранение версий , отображение истории в карточке документа и при необходимости откат к предыдущей версии.
Цели и задачи
- Сохранять историю изменений полей документа при включенном версионировании (Track Changes).
- Просматривать предыдущие версии и сравнивать изменения.
- Откатывать документ к выбранной версии при поддержке и при наличии прав.
- Обеспечивать аудит и прослеживаемость изменений для критичных документов.
- Использовать версии в связке с workflow и согласованием (см. «Изменения»).
Для кого
- Все пользователи при просмотре истории своего документа.
- Руководители и аудиторы при проверке изменений.
- Администраторы при настройке версионирования по тип документа.
- Пользователи с правом отката к версии (если реализовано).
Основные понятия
- Version — запись версии документа: ссылка на тип документа и name, дата, пользователь, сохраненные значения полей (JSON diff или полная копия в зависимости от реализации).
- Track Changes — опция тип документа: при включении каждое сохранение создает запись Version.
- Откат (revert) — восстановление полей документа из выбранной версии; может быть реализовано кнопкой «Revert to this version» или вручную копированием значений.
- Сравнение версий — просмотр различий между двумя версиями (старая/новая значения полей).
Основные сущности / объекты
- Version — хранение версий.
- Включение в тип документа: track_changes или аналог в метаданных.
- Связь с разделом «Изменения» и Workflow для согласования изменений.
Основные сценарии / процессов
Просмотр версий документа
- Открыть документ; перейти в раздел «Версии» или «История» (Timeline может показывать краткую историю; полные версии — в отдельном списке Version).
- Выбрать версию по дате; просмотреть сохраненное содержимое (поля на момент этой версии).
- При наличии интерфейса сравнения — выбрать две версии и посмотреть diff полей.
- Версии упорядочены по дате; последняя версия — текущее состояние документа до следующего сохранения.
Откат к предыдущей версии
- В списке версий выбрать версию, к которой нужно откатиться.
- Нажать «Revert to this version» или аналог (если реализовано в приложении). Либо вручную скопировать значения полей из версии в форму документа и сохранить.
- После отката создастся новая версия (текущее состояние станет копией выбранной старой версии). Используйте откат осторожно; при необходимости зафиксировать причину в комментарии.
- Для документов с workflow откат может потребовать смены статуса по правилам; учитывайте регламент компании.
Включение версионирования для тип документа
- Открыть Customize Form или метаданные тип документа.
- Включить опцию «Track Changes» (или «Track Document Version» в зависимости от версии).
- Сохранить; для новых сохранений этого тип документа начнут создаваться записи Version.
- Учтите рост объема данных: для часто обновляемых документов с большим числом полей версии могут занимать значительное место; при необходимости ограничьте число хранимых версий или период (кастомная очистка).
Правила и ограничения
- Не все поля могут попадать в Version (например, пароли и чувствительные поля иногда исключаются); проверьте метаданные и код приложения.
- Версионирование увеличивает время сохранения и объем БД; отключайте для некритичных или очень часто изменяемых тип документа при нехватке ресурсов.
- Права на просмотр версий обычно следуют правам на документ; право на откат может быть выделено отдельной ролью в кастомизации.
Результаты / отчетность
- Список версий по документу с датой и пользователем.
- Возможность сравнения и отката к выбранной версии.
- Аудит изменений для соответствия требованиям и расследований.
Типовые вопросы и ошибки (FAQ)
Версии не создаются для документа
Проверьте, что для тип документа включено Track Changes (Customize Form или в JSON тип документа). Убедитесь, что документ сохранялся после включения версионирования. Для старых документов версии появятся только с момента следующего сохранения.
Как удалить старые версии?
Стандартного массового удаления по сроку в интерфейсе может не быть. Варианты: периодический скрипт удаления Version старше N дней (с осторожностью и бэкапом); использование правил очистки в Dinext при поддержке Version. Не удаляйте версии без согласования с политикой аудита.
Откат не сохранил все поля
Убедитесь, что откат восстанавливает все нужные поля (включая дочерние таблицы). Если откат реализован вручную или кастомной кнопкой, проверьте логику кода — возможно, часть полей не копируется. При необходимости откатите вручную, сравнив с выбранной версией.