Настоящий отбор истории конкретного учебного справочника, а не имитация версий массивом строк.
Где и как запускать
Тело собственной серверной процедуры / кнопки обычной формы в толстом клиенте; история только своих данных.
Подготовка
Только собственная отдельная учебная база. Создайте Справочники → УчебныеКарточкиИстории. Справочник: код Строка 10, наименование 100, реквизит КомментарийИстории Строка 100. Вручную создайте Книгу, затем измените собственный комментарий.
У этого своего объекта включите ИсторияДанных; у дополнительного поля КомментарийИстории, если оно используется, также включите участие в истории. Подготовьте две версии только собственных данных; включение флага само не создаёт задним числом версии.
Дождитесь штатного обновления своей истории. Для ручного обновления выбирайте конкретные свои данные / свои метаданные и не вызывайте бесконтрольное ОбновитьИсторию() без отбора в рабочей базе.
Обработчик разместите в указанном модуле объекта / менеджера; директивы управляемой формы и первый параметр Элемент здесь не нужны. BSL, запись собственных данных и обновление истории при сборке HTML не выполнялись.
Основной код — тело отдельной серверной процедуры своей обработки. Для создания / изменения используйте уже подготовленные вручную две версии своей книги.
Удаление не выполняйте ради этого примера. Если в своей истории нет удалённых данных, отбор Удаление должен быть пустым. Для чтения отсутствующих данных дополнительно нужны соответствующие права; код их не обходит.
Отбор = Новый Структура("Метаданные,ВидИзмененияДанных",
Метаданные.Справочники.УчебныеКарточкиИстории, ВидИзмененияДанных.Изменение);
Версии = ИсторияДанных.ВыбратьВерсии(Отбор, "Данные,НомерВерсии,ВидИзмененияДанных", "НомерВерсии Убыв", 20);
Для Каждого Версия Из Версии Цикл
Сообщить("Своя версия: " + Строка(Версия.НомерВерсии) + "; вид: " + Строка(Версия.ВидИзмененияДанных));
КонецЦикла;
Сообщить("Найдено собственных версий: " + Строка(Версии.Количество()));Разбор по шагам
Включите историю своего справочника и дождитесь записи собственных версий.
Передайте ВидИзмененияДанных как реальный ключ отбора ВыбратьВерсии.
Выведите только фактические номера / виды, не содержимое чужих данных.
Как проверить результат
Добавление, Изменение и Удаление относятся к данным, а не к установке ПометкаУдаления. Пометка ещё не означает физическое удаление объекта.
Запрос ограничен своими метаданными и максимумом 20; нулевой результат не заменяется синтетическими версиями.
Ожидаемый результат
Перечисление используется настоящим менеджером истории и имеет собственный ограниченный источник.
На что обратить внимание
УдалитьВерсии, ОбновитьИсторию без отбора и удаление книги этим кодом не вызываются.
BSL и запись истории при сборке HTML не выполнялись.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.