Имя: Пароль:
1C
1С v8
История изменения объектов, можно ли посмотреть что менял за период пользователь?
0 Kigo_Kigo
 
17.02.21
10:19
История изменения объектов, можно ли посмотреть что менял за период пользователь?
история включена, посмотреть версии именно о одному объекту можно, а можно ли посмотреть что менял и где именно пользователь, ЖР не подойдет, там не фиксируется что именно изменил пользователь
1 ДенисЧ
 
17.02.21
10:20
История платформенная или бспшная?
2 DrShad
 
17.02.21
10:31
я не против
3 Kigo_Kigo
 
17.02.21
10:35
(1) я сча хрень спрошу, но, а как узнать?
(2) Ок
4 DrShad
 
17.02.21
10:37
(3) для начала узнать что за конфа
5 Kigo_Kigo
 
17.02.21
10:38
УПП 1.3.53.2
6 Kigo_Kigo
 
17.02.21
10:38
упр, перепиленная до неузнаваемости, не обновляется
7 Has
 
17.02.21
10:39
в истории изменений есть кнопка Сравнить версии (нужные версии перед этим выделить)
8 Kigo_Kigo
 
17.02.21
10:41
(7) Это понятно, мне надо узнать что конкретно за период менял пользователь везде
9 Kigo_Kigo
 
17.02.21
10:41
что на что за период по всем зафиксированнным событиям
10 ДенисЧ
 
17.02.21
10:42
(5) типа бспшная. Брать регистр версии объектов, выдёргивать оттуда изменения по пользователю и сравнивать объекты. Ручками...
11 Kigo_Kigo
 
17.02.21
10:44
(10) Аааа, вот где это хранится, тогда эт сча отчетик то состряпую
12 DrShad
 
17.02.21
10:44
(11) я бы не был так оптимистичен )))
13 Kigo_Kigo
 
17.02.21
10:47
(12) почему?
Кстати этого регистра через операции - регистрыСвведений нет
14 ДенисЧ
 
17.02.21
10:50
(13) В конфигураторе посмотри, у него может быть другой алиас.
15 DrShad
 
17.02.21
10:52
(13) там в хранилище значений версия объекта
16 Dmitrii
 
гуру
17.02.21
10:54
Подозреваю, что у автора ветки какое-то нетиповое решение для хранения истории объектов. Или платформенное включено или что-то самописное и собственное понастроено, а не БСП-шное. Конфа то - древняя УПП.
17 Serg_1960
 
17.02.21
10:57
(имхо) Проще написать свою обработку на основе штатной УПП.
18 ДенисЧ
 
17.02.21
10:58
(16) Даже в древней упп было версионирование. На основе которого былол потом сделано бспшное.
19 Kigo_Kigo
 
17.02.21
11:02
(14) так и называется версииОбъектов
(16) не сча залез отчет по версиям из этого регистра тянет данные
Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ВерсииОбъектов.НомерВерсии КАК НомерВерсии,
                   |    ВерсииОбъектов.АвторВерсии,
                   |    ВерсииОбъектов.ДатаВерсии
                   |ИЗ
                   |    РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
                   |ГДЕ
                   |    ВерсииОбъектов.Объект = &Ссылка
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    НомерВерсии";
    Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);
    Выборка = Запрос.Выполнить().Выбрать();
    
    Пока Выборка.Следующий() Цикл
        НоваяСтрока = СписокВерсий.Добавить();
        НоваяСтрока.НомерВерсии = Выборка.НомерВерсии;
        НоваяСтрока.АвторВерсии = Выборка.АвторВерсии;
        НоваяСтрока.ДатаВерсии  = Выборка.ДатаВерсии;
    КонецЦикла;
20 Aleksey
 
17.02.21
11:04
(19) там фиксируется состояние, но не изменение. Изменения ты сам должен выяснять
21 Aleksey
 
17.02.21
11:05
Т.е. по сути это список кто и когда записал/провел документ (в зависимости от настроек), но при этом в самом объекте могло и не быть изменений. С таким же успехом можно и ЖР шерстить
22 DrShad
 
17.02.21
11:07
(20) там есть версия объекта, но она в хранилище значений и запросом ее не достать
23 Kassern
 
17.02.21
11:08
(19) Тебе в любом случае придется лезть внутрь каждой версии, чтобы получить данные об изменениях. Можешь глянуть кусок кода при сравнении версий, увидишь как получать данные из версии.
24 Aleksey
 
17.02.21
11:08
(22) Я и не спорю, просто ТС привел код, я всего лишь комментирую его код, что этот код аналогичен записи в ЖР, и там будут все записи и даже те, где объект не изменялся
25 DrShad
 
17.02.21
11:11
(24) код именно таков, потому что Хранилище нельзя выбрать в запросе )))
26 Aleksey
 
17.02.21
11:12
(25) категорически с вами не согласен
27 Aleksey
 
17.02.21
11:13
перед НоваяСтрока = СписокВерсий.Добавить(); должна быть проверка на изменения
28 Kigo_Kigo
 
17.02.21
11:15
Да сча залез в тело отчета, короче ужо уши горят от того что там понаписано, пока нифига не понятно
29 Serg_1960
 
17.02.21
11:15
30 Kigo_Kigo
 
17.02.21
11:22
(29) Этот очет у меня есть и работает, есть задача узнать что на что и когда изменял конкретный пользователь за период
31 DrShad
 
17.02.21
11:25
(30) во-первых этого у тебя нет, а во-вторых это именно то что ты просил, но в виде обработки
32 Serg_1960
 
17.02.21
11:29
(30) Скопируйте отчет ИсторияИзмененийОбъектов во внешний и исправьте фильтры запросов с объектов версионирования на  авторов версий (АвторВерсии). Самое простое и быстрое решение :)
33 Kassern
 
17.02.21
11:35
(32) А разве в этом отчете пишутся данные, которые были изменены? Или просто выводятся объекты в которых были изменения?
34 Kassern
 
17.02.21
11:36
(0) Можешь вот так по извращаться: делаешь запрос по версиям за период по автору. Получаешь последнюю версию по объектам измененных автором. Далее находишь для этого объекта последнюю версию изменения на дату начала периода (проще говоря получаешь версию перед изменением автора за период). А далее смотришь типовой код сравнения версий и сравниваешь в цикле эти 2 версии, если разница есть, выводишь ее.
35 DrShad
 
17.02.21
11:36
(33) ты не поверишь, но таки выводятся
36 Kassern
 
17.02.21
11:39
(35) Тогда действительно проще взять типовой отчет и немного ковырнуть
37 d_monah
 
17.02.21
15:30
Коллега,переходите на ЕРП,всего 400к но уровень наслаждения совершенно иной(слова имеющие отношения к половой деятельности не будет употроблять)