Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
23 Ноя 2017, 02:56
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Отчет по изменениям (версионирование объектов)  (Прочитано 1258 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн iPahan

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-11-17
  • Сайт: 
  • Профессия: Ученик 1С
Добрый день!

Кто нибудь сталкивался с задачей формирования отчета по изменениям объектов при использовании версионирования?

Суть в чем, есть список пользователей, у пользователей периодически что-то меняется в реквизитах карточки. Необходимо сформировать отчет по всем пользователям системы с информацией "Что было" - "Что стало" на определенную дату.

Ковыряю механизм версионирования, но понять как с помощью него вытащить предыдущие данные не могу...

Подскажите куда копать?


Оффлайн LexaK

  • *****
  • Сообщений: 1265
  • РЕПУТАЦИЯ: 346
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
интересно стало глянуть как версионирование работает.
База БП 3.0 корп

1.сначала проверил и включил механизм версионирования
это константа , см. код

лкВерсия = Константы.ИспользоватьВерсионированиеОбъектов.Получить();
Сообщить(лкВерсия);

Константы.ИспользоватьВерсионированиеОбъектов.Установить(Истина);

лкВерсия = Константы.ИспользоватьВерсионированиеОбъектов.Получить();
Сообщить(лкВерсия);


2. Затем выполнил настройку версионирвания,
открыл РегистрСведений.НастройкиВерсионированияОбъектов, на примере Контрагентов настроил: Версионировать при записи

Все это дело перемежал внесением изменений в одном контрагенте, возможно еще, в настройках базы куда ткнул мышкой.

3. Затем в регистре сведений: ВерсииОбъектов у меня стали появляться записи каждый раз как я изменял контрагента.

из этого регистра не удалось ни чего нужного увидеть, все данные в хранилищах, но увидел использование этого регистра в Общей команде: История изменения.

при внимательном рассмотрении карточки/формы контрагенты под кнопкой:  Все действия, нашел кнопку: История изменений.
вот она как раз и запускает нужную форму которая показывает список всех сделанных изменения, с возможностью сверки.

В общем, все отлично работает. :zebzdr:

Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн iPahan

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-11-17
  • Сайт: 
  • Профессия: Ученик 1С
интересно стало глянуть как версионирование работает.
База БП 3.0 корп

1.сначала проверил и включил механизм версионирования
это константа , см. код

лкВерсия = Константы.ИспользоватьВерсионированиеОбъектов.Получить();
Сообщить(лкВерсия);

Константы.ИспользоватьВерсионированиеОбъектов.Установить(Истина);

лкВерсия = Константы.ИспользоватьВерсионированиеОбъектов.Получить();
Сообщить(лкВерсия);


2. Затем выполнил настройку версионирвания,
открыл РегистрСведений.НастройкиВерсионированияОбъектов, на примере Контрагентов настроил: Версионировать при записи

Все это дело перемежал внесением изменений в одном контрагенте, возможно еще, в настройках базы куда ткнул мышкой.

3. Затем в регистре сведений: ВерсииОбъектов у меня стали появляться записи каждый раз как я изменял контрагента.

из этого регистра не удалось ни чего нужного увидеть, все данные в хранилищах, но увидел использование этого регистра в Общей команде: История изменения.

при внимательном рассмотрении карточки/формы контрагенты под кнопкой:  Все действия, нашел кнопку: История изменений.
вот она как раз и запускает нужную форму которая показывает список всех сделанных изменения, с возможностью сверки.

В общем, все отлично работает. :zebzdr:

Это все хорошо, когда необходимо посмотреть информацию по 1 объекту, но если необходимо вывести отчет обо всех изменениях, то данный вид отчета не поможет.

По идее, при венсионировании создается XML файл с предыдущими значениями объекта, и помещается в Хранилище в виде двоичных данных. Но как его вытащить, и использовать в своих нуждах...это загадка для меня.

Оффлайн LexaK

  • *****
  • Сообщений: 1265
  • РЕПУТАЦИЯ: 346
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
да ни какой загадки, просто на пол дня работы. у вас же есть форма которая выводит данные о сравнении по двум версиям одного объекта.
код так открытый.
просто делаете свой отчет, сначала пробегаете по РС.ВерсииОбъектов, создаете и заполняете свою таблицу значений, скажем так с расшифровкой, затем на ее основании формируете отчет.
колонки таблицы примерно такие
ПредставлениеОбъекта; Период; Пользователь; ИмяПоля, СтароеЗначение; НовоеЗнаение; ВидДействия;   - возможно еще какие поля
ВидДействия - например, Добавление, Удаление, Редактирование, ...
Помогло? - Нажми СПАСИБО!!!
                       :)


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
164 Сообщений
MuI_I_Ika MuI_I_Ika
96 Сообщений
oleg-x
67 Сообщений
alex0402
66 Сообщений
ilyay ilyay
58 Сообщений
Dmitry Qwe Dmitry Qwe
32 Сообщений
Sy4a
22 Сообщений
Dima Dddd Dima Dddd
20 Сообщений
BuhRust
19 Сообщений
Golickoff Golickoff
16 Сообщений

* Кто онлайн

  • Точка Гостей: 146
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal