Привет.
Возникла задача: вести историю изменений лицевых счетов сотрудников. Как оказалось, это регистр, а значит, версионирование из БСП не подходит. Изобретать велосипед не хотелось (но всё-таки пришлось), поэтому был выбран механизм платформы История данных.
Проблема заключалась в программном открытии формы истории. Обработка StandardDataChangeHistory зашита в платформу и не доступна программно. С помощью одного из инструментов (не помню точно кого) вытащил обработку из платформы.
Задача решена: пользователь в ЗУП заходит в форму сотрудника, переходит по типовой ссылке "Выплаты", далее нажимает на нетиповую "История лицевых счетов" и получает форму, в которой поддерживается открытие записи истории и сравнение записей.
Особенности реализации
- Изменена роль "БазовыеПраваБСП" - добавлен доступ к форме истории, чтобы не создавать (а главное не назначать) новую роль.
- Изменены роли доступа к регистру - включено право просмотра истории про регистру. Фирма 1С почему-то до сих пор не включила это право в типовых ролях.
- Добавлен регистр - для ролей.
- К сожалению форма обработки не поддерживает входящие параметры, поэтому пришлось допиливать. Кроме того, отключен вызов форы отборов, заполнение неиспользуемой в задаче таблицы метаданных и некоторых кнопок.
- При изменении значения измерения происходит удаление записи регистра и добавление новой, поэтому отбор по значению измерения наложить нельзя - отбор устанавливается по представлению (названию физлица).
- Команда передает в форму два параметра: Метаданные и ПредставлениеДанных, поэтому расширение легко адаптировать к любому регистру.
Проверено на следующих конфигурациях и релизах:
- Зарплата и управление персоналом КОРП, редакция 3.1, релизы 3.1.32.17