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

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

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

Оффлайн iPahan

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

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

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

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

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


Онлайн LexaK

  • *****
  • Сообщений: 1249
  • РЕПУТАЦИЯ: 345
  • КПД: 28%
  • Регистрация: 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

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


Теги:
 


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

alex0402
94 Сообщений
oleg-x
71 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
66 Сообщений
Golickoff Golickoff
51 Сообщений
AIFrame
46 Сообщений
ilyay ilyay
42 Сообщений
Амал
30 Сообщений
BuhRust
22 Сообщений
lansy
22 Сообщений
Dethmontt Dethmontt
22 Сообщений

* Кто онлайн

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal