1. Идентификация
| Параметр | Значение |
|---|---|
| Тип объекта метаданных | Отчёт (Отчет) |
| Имя | АнализВерсийОбъектов |
| Полное имя | Отчет.АнализВерсийОбъектов |
| Синоним | «Анализ версий объектов» |
| Конфигурация | Управление торговлей для Казахстана, ред. 3.4.5.21 |
| Подсистема | «Версионирование объектов» (механизм из состава Библиотеки стандартных подсистем, БСП) |
| Основа | Схема компоновки данных (СКД) |
| Навигационная ссылка | e1cib/list/Отчет.АнализВерсийОбъектов |
Назначение. Отчёт предназначен для анализа истории изменений версионируемых объектов информационной базы: документов, справочников, наборов записей регистров. Он показывает, кто, когда и какие именно реквизиты и строки табличных частей изменил, а также позволяет сравнить две произвольные версии объекта между собой и вывести различия в удобочитаемом виде.
Отчёт является инструментом администрирования и аудита (не учётным). Он не участвует в бухгалтерском/налоговом учёте, но именно с его помощью удобно расследовать, например, кто и когда поменял в реализации ставку НДС, сумму или контрагента.
Важно: отчёт отображает данные только тех объектов, для которых в настройках версионирования (регистр сведений
НастройкиВерсионированияОбъектов) включено хранение версий. Если версионирование объекта отключено, история по нему будет пустой.
2. Настройки, реквизиты и «табличные части» отчёта
У отчёта нет реквизитов и табличных частей в том смысле, в каком они есть у документа. Данные задаются через параметры и отборы компоновки данных (пользовательские настройки). Ниже — назначение основных полей настройки.
Параметры отбора (отбираемые данные):
| Поле настройки | Назначение |
|---|---|
| Объект (Ссылка) | Конкретный объект, историю которого нужно проанализировать (документ, элемент справочника). Основной параметр отчёта. |
| Тип объекта / Метаданные | Ограничение выборки по типу (например, «Реализация товаров и услуг»). |
| Период (Дата с / Дата по) | Интервал дат создания версий. |
| Автор изменения (Пользователь) | Отбор по пользователю, выполнившему изменение. |
| Комментарий версии | Отбор по тексту комментария, если он заполнялся при записи версии. |
Выводимые поля (структура результата):
| Поле | Назначение |
|---|---|
| Номер версии | Порядковый номер версии объекта. |
| Дата и время версии | Момент фиксации версии в регистре. |
| Автор (Пользователь) | Кто выполнил изменение. |
| Тип изменения | Создание / изменение / удаление (пометка на удаление). |
| Реквизит / Табличная часть / Строка | Что именно изменилось. |
| Значение «Было» / «Стало» | Старое и новое значение реквизита при сравнении версий. |
| Комментарий | Комментарий к версии. |
Пример строки различий по документу «Реализация товаров и услуг»:
| Реквизит | Было | Стало |
|---|---|---|
| Ставка НДС | 16 % | Без НДС |
| Сумма НДС | 16 000 ₸ | 0 ₸ |
| Сумма документа | 116 000 ₸ | 100 000 ₸ |
(значения приведены по действующей в РК ставке НДС 16 %).
3. Формы
Отчёты на СКД используют общий механизм форм БСП. Для данного отчёта характерен следующий состав:
| Форма | Назначение |
|---|---|
Основная форма отчёта (Форма / ФормаОтчета) |
Главная форма: поле выбора объекта/параметров, кнопка «Сформировать», область табличного документа с результатом. При открытии из карточки объекта параметр «Объект» подставляется автоматически. |
Форма настроек (ФормаНастроек) |
Расширенная настройка отбора, группировок и оформления варианта отчёта (стандартная форма настроек СКД). |
| Форма варианта отчёта | Выбор сохранённых вариантов отчёта. |
Дополнительно отчёт открывается универсальной формой отчёта БСП (ОбщаяФорма.ФормаОтчета), если собственная основная форма не переопределяет поведение.
4. Ключевые процедуры модулей
BSL-текст модуля в evidence не приложен, поэтому ниже перечислены типовые обработчики отчёта на СКД в БСП, которые присутствуют в объектах этого вида. Конкретные сигнатуры версионно-стабильны для платформы 8.3.
Модуль объекта отчёта:
ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)— основной обработчик. Здесь читаются версии из регистра сведенийВерсииОбъектов, значения изХранилище значениядесериализуются, формируются наборы данных «версия N» и «версия M», вычисляются различия и результат выводится в табличный документ. Как правило,СтандартнаяОбработка = Ложь, так как результат строится программно (сравнение сериализованных представлений).НастройкиФормы(Форма, КлючВарианта, Настройки)— определяет доступность элементов управления, признак быстрого формирования, скрытие стандартных команд.ПриОпределенииИспользуемыхТаблиц(КлючВарианта, Таблицы)— перечисляет используемые таблицы (для механизма выбора данных).
Модуль формы отчёта:
ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)— инициализация; при передаче параметраОбъектчерезПараметрыКомандыподставляет ссылку в отбор.ПриОткрытии(Отказ)— при заданном объекте может сразу формировать отчёт.
Общая логика подсистемы (не в модуле самого отчёта):
- Формирование версий выполняет подсистема версионирования при записи объектов (
РаботаСВерсиямиОбъектов/ соответствующие общие модули БСП), которая пишет записи в регистрВерсииОбъектов. Отчёт эти записи только читает. - Восстановление и постраничное представление версии обеспечивают служебные общие модули версионирования (
ПрочитатьВерсию, генерация XML/представления объекта).
5. Источники данных (аналог «проведения и движений»)
Отчёт не является регистратором и не формирует движений, проводок и электронных документов (ЭСФ/СНТ). Он не пишет в регистры и не затрагивает план счетов РК (1210, 1030, 1330, 3310, 3130, 6010, 7010 и т. д.) — это учётные счета документов, а отчёт лишь показывает историю изменения этих документов.
Что отчёт читает как источник данных:
| Объект-источник | Роль |
|---|---|
Регистр сведений ВерсииОбъектов |
Основной источник: хранит сериализованные версии объектов (реквизит-хранилище ВерсияОбъекта), номер версии, дату, автора, комментарий, тип изменения. |
Регистр сведений НастройкиВерсионированияОбъектов |
Определяет, для каких объектов ведётся версионирование и по какому варианту (при записи / при проведении / не версионировать). |
Справочник Пользователи (ПользователиИнформационнойБазы) |
Расшифровка авторов изменений. |
Логика построения результата: для выбранного объекта берутся две версии (или последовательность версий), их сериализованные представления восстанавливаются в объекты/структуры и сравниваются реквизит за реквизитом и строка за строкой табличных частей; расхождения выводятся парами «Было / Стало».
6. Связанные объекты и ввод на основании
Ввод на основании к отчётам неприменим. Связи носят функциональный характер:
- Регистры версионирования —
ВерсииОбъектов,НастройкиВерсионированияОбъектов(см. раздел 5). - Команда открытия из карточки объекта. У версионируемых объектов (документов и справочников) в форме присутствует команда/гиперссылка перехода к истории версий, которая открывает данный отчёт с уже подставленным параметром «Объект».
- Обработка настройки версионирования — форма настройки того, какие объекты версионируются; определяет наполнение источника данных отчёта.
- Журнал регистрации — дополняющий инструмент аудита (события записи), тогда как отчёт показывает содержательные различия версий.
7. Точки расширения
- Расширение конфигурации (Extension). Заимствование отчёта и переопределение обработчиков
ПриКомпоновкеРезультата/НастройкиФормы; добавление собственных полей вывода (например, выделение изменений критичных реквизитов — контрагента, суммы, ставки НДС). - Дополнительные варианты отчёта (СКД). Создание и сохранение пользовательских вариантов с готовыми отборами (по типу документа, по автору, по периоду) без изменения конфигурации.
- Настройки версионирования. Управление глубиной аудита через
НастройкиВерсионированияОбъектов: расширение перечня версионируемых объектов напрямую увеличивает объём данных, доступных отчёту. - Программное формирование. Отчёт можно скомпоновать программно через
КомпоновщикНастроекКомпоновкиДанных/ПроцессорКомпоновкиДанныхиз внешней обработки или задания — для регулярной выгрузки истории изменений. - Дополнительные обработки БСП. Регистрация как связанной команды для конкретных объектов через подсистему «Дополнительные отчёты и обработки».
Требует проверки (версионно-специфично): точный состав собственных форм отчёта и наличие переопределённого
ПриКомпоновкеРезультатав модуле объекта зависят от версии встроенной БСП в сборке 3.4.5.21 — уточняется по конфигуратору конкретной поставки. Остальная логика стандартна для механизма версионирования.
