Изменения документа Описание BI отчетов

Редактировал(а) Alexey Semenihin 22.04.2025

От версии 36.2
отредактировано Alexey Semenihin
на 22.04.2025
Изменить комментарий: Update document after refactoring.
К версии 37.1
отредактировано Alexey Semenihin
на 22.04.2025
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -1,11 +1,91 @@
1 1  Описания отчетов, которые помогут понять, каким образом вычисляются различные показатели:
2 2  
3 -1. [[Описание отчета MIS>>doc:Описание BI отчетов.Описание отчета MIS.WebHome]]
4 -1. [[Описание отчета Калькуляторы проектов по новой методологии>>doc:Описание BI отчетов.Описание отчета Калькуляторы проектов по новой методологии.WebHome]]
5 -1. [[Описание отчета Резервы>>doc:Описание BI отчетов.Описание отчета Резервы.WebHome]]
6 -1. [[Описание отчета Справочник проектов>>doc:Описание BI отчетов.Описание отчета Справочник проектов.WebHome]]
7 -1. [[Описание отчета Справочник сотрудников>>doc:Описание BI отчетов.Описание отчета Справочник сотрудников.WebHome]]
8 -1. [[Описание отчета Статус проекта>>doc:Описание BI отчетов.Описание отчета Статус проекта.WebHome]]
9 -1. [[Описание отчета Таймшиты>>doc:Описание BI отчетов.Описание отчета Таймшиты.WebHome]]
10 -1. [[Описание отчета Таймшиты и доступность>>doc:Описание BI отчетов.Описание отчета Таймшиты и доступность.WebHome]]
11 -1. [[Описание отчета Утилизация сотрудников>>doc:Описание BI отчетов.Описание отчета Утилизация сотрудников.WebHome]]
3 +{{html}}
4 +<script>
5 +// Ждём загрузки DOM
6 +document.observe("dom:loaded", function() {
7 +// Находим ссылку на вкладку "Вложения" (по ID или тексту)
8 +var attachmentsTab = $('Attachmentslink');
9 +// Если вкладка найдена, имитируем клик
10 +if (attachmentsTab) {
11 +attachmentsTab.click();
12 +}
13 +// Альтернативный вариант (если не сработал ID):
14 +else {
15 +var tabs = $$('.tab-menu a').find(function(tab) {
16 +return tab.textContent.trim().includes('Вложения');
17 +});
18 +if (tabs && tabs.length > 0) tabs[0].click();
19 +}
20 +});
21 +</script>
22 +{{/html}}
23 +
24 +{{velocity}}#macro(displayDirectChildrenClean)
25 + #set ($currentPage = $doc.fullName)
26 + #set ($children = $xwiki.getDocument($currentPage).getChildren())
27 + #set ($filteredChildren = [])
28 +
29 + ## Фильтруем список, исключая ненужные страницы
30 + #foreach ($child in $children)
31 + #set ($childDoc = $xwiki.getDocument($child))
32 + #set ($childTitle = $!childDoc.getPlainTitle())
33 + #set ($childName = $childDoc.getName())
34 + ## Исключаем страницу администрирования и другие нежелательные
35 + #if (!$childName.contains('Admin') && !$childTitle.contains('Администрирование'))
36 + #set ($discard = $filteredChildren.add($child))
37 + #end
38 + #end
39 +
40 + ## Выводим отфильтрованный список с корректной нумерацией
41 + #if ($filteredChildren.size() > 0)
42 + #foreach ($child in $filteredChildren)
43 + #set ($childDoc = $xwiki.getDocument($child))
44 + #set ($displayName = $!childDoc.getPlainTitle())
45 + #if ($displayName == '')
46 + #set ($displayName = $childDoc.getName())
47 + #end
48 +
49 + #set ($index = $foreach.index + 1)
50 +=====$index. [[$displayName>>$child]]=====
51 + #end
52 + #end
53 +#end
54 +## Выводим список
55 +#displayDirectChildrenClean()
56 +
57 +#set($attachments = $doc.getAttachmentList())
58 +#foreach($attachment in $attachments)
59 + #set($filename = $attachment.filename)
60 + #set($fileurl = $doc.getAttachmentURL($filename))
61 +
62 + #if($filename.toLowerCase().endsWith('.pdf'))
63 + ===Документ: ${attachment.filename}===
64 + {{html}}
65 + <iframe
66 + src="/resources/pdfjs/web/viewer.html?file=${fileurl}"
67 + width="100%"
68 + height="600px">
69 +</iframe>
70 +{{/html}}
71 +
72 + #end
73 + #if(!$filename.toLowerCase().endsWith('.pdf'))
74 +
75 + ===Документ: ${attachment.filename}===
76 +
77 + {{office attachment="${attachment.filename}" filterStyles="false"/}}
78 +
79 + #end
80 +#end
81 +{{html}}
82 +<style>
83 + .pdf-viewer-container {
84 + margin: 20px 0;
85 + border: 1px solid #eee;
86 + padding: 10px;
87 + background: #f9f9f9;
88 + }
89 +</style>
90 +{{/html}}{{/velocity}}
91 +