ИмяФайла=ПолучитьИмяВременногоФайла("XML"); Результат.Очистить(); Фильтр=Новый Структура; Фильтр.Вставить("ДатаНачала", НачалоПериода); Фильтр.Вставить("ДатаОкончания", ОкончаниеПериода); Фильтр.Вставить("Событие", "_$Data$_.Post"); Состояние("Выгрузка журнала..."); ВыгрузитьЖурналРегистрации(ИмяФайла, Фильтр, "Дата, Метаданные, Данные, ПредставлениеДанных, ИмяПользователя"); Состояние("Обработка журнала..."); ЧтениеXML=Новый ЧтениеXML; ЧтениеXML.ОткрытьФайл(ИмяФайла); ПостроительDOM=Новый ПостроительDOM; ДокументDOM=ПостроительDOM.Прочитать(ЧтениеXML); Event=ДокументDOM.ПолучитьЭлементыПоИмени("v8e:Event"); Для й=0 По Event.Количество()-1 Цикл ДочерниеУзлы=Event[й].ДочерниеУзлы; Для Каждого Узел Из ДочерниеУзлы Цикл Если Узел.ИмяУзла="v8e:Date" Тогда ДатаСобытия=СтрЗаменить(Узел.ТекстовоеСодержимое, "T", ""); ДатаСобытия=СтрЗаменить(ДатаСобытия, ":", ""); ДатаСобытия=Дата(СтрЗаменить(ДатаСобытия, "-", "")); ИначеЕсли Узел.ИмяУзла="v8e:MetadataName" Тогда МетаданныеДокумента=СтрЗаменить(Узел.ТекстовоеСодержимое, "Document.", ""); ИначеЕсли Узел.ИмяУзла="v8e:Data" Тогда УИД=Узел.ТекстовоеСодержимое; ИначеЕсли Узел.ИмяУзла="v8e:DataPresentation" Тогда ПредставлениеДанных=Узел.ТекстовоеСодержимое; ИначеЕсли Узел.ИмяУзла="v8e:UserName" Тогда Пользователь=Узел.ТекстовоеСодержимое; КонецЕсли; КонецЦикла; Ссылка=Документы[МетаданныеДокумента].ПолучитьСсылку(Новый УникальныйИдентификатор(УИД)); ДатаОбъекта=Ссылка.Дата; НоваяСтрока=Результат.Добавить(); НоваяСтрока.ДатаСобытия=ДатаСобытия; НоваяСтрока.ДатаОбъекта=ДатаОбъекта; НоваяСтрока.ПредставлениеДанных=ПредставлениеДанных; НоваяСтрока.Пользователь=Пользователь; НоваяСтрока.РазностьДат=Окр((ДатаСобытия-ДатаОбъекта)/86400); НоваяСтрока.Ссылка=Ссылка; КонецЦикла;
ВыгрузитьЖурналРегистрации("C:\log.xml"); Пользователи = ПользователиИнформационнойБазы.ПолучитьПользователей(); Для Каждого Пользователь из Пользователи Цикл НовыйЭлемент = СписокПользователей.Добавить(); НовыйЭлемент.Пометка = Истина; НовыйЭлемент.Значение = Пользователь; НовыйЭлемент.Представление = Пользователь.Имя; КонецЦикла; Массив = Новый Массив; Для Каждого Пользователь Из СписокПользователей Цикл Если Пользователь.Пометка Тогда Массив.Добавить(Пользователь); КонецЕсли; КонецЦикла; СтруктураФильтра = Новый Структура; СтруктураФильтра.Вставить("Пользователь", Массив); ВыгрузитьЖурналРегистрации("C:\log.xml", СтруктураФильтра, "Дата, Пользователь, ПредставлениеСобытия");