Подсистема позволяет регистрировать изменения объектов ссылочного типа, анализировать историю изменений выбранного объекта и при необходимости восстановить данные до состояния выбранной версии.
Для визуализации хронологии изменений использован способ, описанный в публикации infostart.ru/public/877893/ — автору спасибо огромное.
Особенности предлагаемой системы регистрации изменений:
1. Алгоритмы не используют функции стандартных модулей и могут быть использованы для любых конфигураций 1С V83 ((8.3.9.1818) и выше).
2. Возможность быстрого просмотра хронологии изменений выбранного объекта в виде закладок на временной шкале с отображением списка измененных реквизитов и ТЧ:
3. Возможность быстрого отбора событий изменения объекта по автору и за указанный период:
4. Отображение подробной расшифровки изменений при клике на соответствующей закладке шкалы изменений.
5. Возможность восстановления данных объекта до состояния выбранной версии.
Во вложении — выгрузка тестовой демонстрационной базы и файл конфигурации с объектами подсистемы.
Для версии платформы 8.3.15.1489 используйте соответствующее вложение.
Код открыт, для использования перенесите подсистему и входящие в нее объекты в свою конфигурацию.
Всем удачи!
Симпатичная визуализация «таймлайна».
Вижу и автора оригинального прототипа не забыли (хороший тон)!
Плюс! 🙂
идея красивая, но главное не превращайте конфигурацию в казуальную игру….
(1) плюсую и эту и прототип! 🙂
(2) почему нет? Геймификация
(4) «геймификация» способствует развитию бестолковости и слабоумию пользователей… но не удивлюсь,если лет через 5 любая учетная система «без дизайна» будет негативно восприниматься
(5)
интересно, нигде не видел такого исследования.
Смотрится симпатично. Плюсую.
симпатично!
Да, хронология симпатично оформлена.
К игрофикации отношусь положительно.
Загрузил Демо-базу.
Сразу при открытии ошибка:
Значение не является значением объектного типа (SetForm1C)
{Обработка.ИсторияВерсийОбъекта.Форма.Форма.Форма(844)}: ЭтаФорма.Элементы.ВремШкала.Документ.parentWindow.SetForm1C(ЭтаФорма);
Такая же ошибка при попытке открыть историю по любому объекту.
Платформа: 8.3.15.1489.
Ошибка связана с изменением 1С версии компоненты отображения HTML.
Для работы с историей на платформе 8.3.15 (или в случае возникновения указанной ошибки) необходимо внести к обработку следующие изменения:
1. Скачать тексты обновления модулей (в прикрепленном файле);
2. Заменить текст макета «Шаблон» на текст из ШаблонДля8315.txt;
3. Заменить текст функций «ВремШкалаДокументСформирован, ПолучитьТекстЛинииTimeLine» модуля формы на текст соответствующих из ФункцииДля8315.txt;
4. Добавить событие «При нажатии» для элемента формы «ВремШкала», вставить в обработчик код функции «ВремШкалаПриНажатии» из ФункцииДля8315.txt;
Подскажите пожалуйста, интересует несколько вопросов:
1 Каким способом отлавливаются изменения объектов? Через подписку на событие?
2. В какой момент происходит анализ изменений: при регистрации или при обращении к истории объекта?
3. Как хранится в истории версия объекта: все реквизиты или только изменения?
Ситуация из практики. Закрытие месяца. Взяли перепровели месяц, выявили некоторые моменты — устранили, перепровели еще раз … потом еще … и еще, бывает такое.
Что покажет система для документа, который участвовал в проведении, но изменений в нем не было?
Ой, забыл еще один вопрос: Что покажет система после сортировки строк в табличной части?
(12)1. Изменения определяются подпиской при записи;
2. Анализ производится перед регистрацией изменений. По статистике процедура увеличивает время записи в среднем на 5%;
3.В истории хранятся только изменения;
4. При изменении системных реквизитов фиксируются только эти изменения. К примеру, при проведении документа регистрируется только признак проведения, если другие реквизиты не изменялись.
При сортировке строк в истории регистрируется изменение порядка строк.
(14)
Так, вот у меня и вопрос, сколько покажет система версий в истории, если проведенный документ перепровели 5 раз, признак Проведен и другие реквизиты при этом не менялись?
(15)регистрируется только изменение объекта. Если объект не изменён, то записи истории не будет.
У меня пока не было потребности работать с версиями. Так, кое-что читал для общего развития.
Поэтому немного хмыкнул при виде
«5. Возможность восстановления данных объекта до состояния выбранной версии.»
Так как некогда видел сообщение по поводу стандартной версификации типа — что-то вроде «если изменилась структура объекта, то как-то не получится вернуть сохраненную версию».
Если ваша разработка может обойти подобную ситуацию — честь вам и хвала, а если нет — имейте в виду потенциальную граблю.
Подскажите, пожалуйста, как Ваша разработка:
1) Сохраняет файловые вложения в объекты?
2) Не блокирует ли возможность удаления объектов, изменения которых сохранены, и что при этом происходит с сохраненными изменениями, они тоже удаляются?
3) Если возможность настройки объектов, для которых ведется история?
(18)Если файловое вложение сохраняется в виде хранилища значения, то при его изменении предыдущее значение будет сохранено в истории. К примеру, при изменении файла дополнительной внешней обработки, все предыдущие версии будут храниться в истории и можно быстро вернуться к любой из них.
История хранится в независимом регистре сведений. Ее наличие не влияет на работу с объектом, при непосредственном удалении объекта история не удаляется.
В представленную версию настройка регистрации не включена, но реализовать ее не сложно. Достаточно добавить код контроля вида объекта в подписку перед записью.