Исходный код вики Загрузить документ
Скрыть последних авторов
author | version | line-number | content |
---|---|---|---|
![]() |
70.1 | 1 | = Краткая инструкция = |
![]() |
2.1 | 2 | |
3 | (% class="box" %) | ||
4 | ((( | ||
![]() |
14.1 | 5 | Для загрузки нового документа: |
![]() |
6.1 | 6 | |
![]() |
72.1 | 7 | 1. Перейдите в **Документы ** |
8 | 1. Нажмите на кнопку **Загрузить документ ** | ||
9 | 1. **Выберите** **файлы **и нажмите кнопку **Далее**. Если Вы выберите несколько файлов, то каждый из них будет создан, как отдельный документ | ||
10 | 1. Задайте все необходимые параметры. Если Вы загрузили более обного документа, то в разделе «Групповое редактирование» можно задать общие параметры для всех документов, а ниже, в разделе «Группа документов» задать индивидуальные параметры каждого документа. Нажмите на кнопку **Загрузить** | ||
11 | 1. Нажмите на кнопку **Реестр документов** | ||
![]() |
69.1 | 12 | |
![]() |
70.1 | 13 | Загруженные документы в статусе «Черновик» отобразятся в верхних строках реестра |
![]() |
69.1 | 14 | |
![]() |
71.1 | 15 | [[Перейти к подробной инструкции>>https://wiki.myhrlink.ru/bin/view/Main/Кадровик/Документы/Загрузить%20документ%20/#H41743043344044343743A43043443E43A44343C43543D442430]] |
![]() |
2.1 | 16 | ))) |
17 | |||
![]() |
10.1 | 18 | = Загрузка документа = |
![]() |
9.1 | 19 | |
![]() |
6.1 | 20 | |(% style="width:976px" %)((( |
![]() |
2.1 | 21 | |
22 | |||
23 | {{toc/}} | ||
24 | |||
25 | |||
![]() |
6.1 | 26 | )))|(% style="width:379px" %)((( |
![]() |
13.1 | 27 | |
![]() |
6.1 | 28 | ))) |
![]() |
2.1 | 29 | |
![]() |
31.1 | 30 | == Роли, которым доступно действие == |
31 | |||
32 | Администратор, Кадровик, Делопроизводитель | ||
33 | |||
![]() |
16.1 | 34 | == Описание == |
![]() |
4.1 | 35 | |
![]() |
26.1 | 36 | Через загрузку документа можно инициировать процесс подписания и согласования любых документов. Например, приказов, распоряжений, табелей учета рабочего времени, трудовых договоров, дополнительных соглашений и других документов, которые необходимы для ведения кадровой документации. |
![]() |
4.1 | 37 | |
![]() |
27.1 | 38 | Для загрузки локальных нормативных актов мы рекомендуем использовать раздел [[ЛНА>>url:https://wiki.myhrlink.ru/bin/view/Main/%D0%9A%D0%B0%D0%B4%D1%80%D0%BE%D0%B2%D0%B8%D0%BA/%D0%9B%D0%9D%D0%90/]] |
![]() |
4.1 | 39 | |
![]() |
34.1 | 40 | == Совет == |
41 | |||
42 | {{success}} | ||
![]() |
38.1 | 43 | {{icon name="smile-o"}}{{/icon}} **Экономьте время при загрузке документов:** |
![]() |
34.1 | 44 | |
![]() |
64.1 | 45 | * Если нужно загрузить более одного документа, то выбирайте сразу несколько файлов при загрузке документа и используйте «Групповое редактирование» |
![]() |
36.1 | 46 | * Добавляйте в однотипные документы сразу [[несколько сотрудников>>https://wiki.myhrlink.ru/bin/view/Main/Кадровик/Документы/Добавить%20в%20документ%20нескольких%20сотрудников%20/]] |
![]() |
34.1 | 47 | {{/success}} |
48 | |||
![]() |
73.1 | 49 | ---- |
![]() |
16.1 | 50 | |
![]() |
73.1 | 51 | == Процесс загрузки документа == |
52 | |||
53 | === Предварительные условия === | ||
54 | |||
![]() |
16.1 | 55 | {{warning}} |
56 | {{displayIcon name="warning"/}} **Подготовьте документ, который соответствует следующим условиям:** | ||
57 | |||
58 | * Форматы документа: .pdf, .doc, .docx, .xlsx, .rtf, .jpeg, .jpg, .bmp, .png, .tiff. | ||
59 | * Максимально допустимый размер файла: 300 мб | ||
60 | {{/warning}} | ||
61 | |||
![]() |
20.1 | 62 | === Загрузка подготовленного файла === |
![]() |
19.1 | 63 | |
![]() |
59.1 | 64 | * Перейдите в **Документы** нажмите кнопку **Загрузить документ**[[image:1724916405603-128.png||data-xwiki-image-style-alignment="center"]] |
![]() |
61.1 | 65 | * В открывшемся окне нажмите на кнопку **Выберите файлы**[[image:1724917030971-636. Загрузить документ.png]] |
66 | * Если Вы выберите несколько файлов, то каждый из них будет создан, как отдельный документ[[image:1724917973053-358. Загрузить документ.png]] | ||
67 | * Когда документ или документы будут загружены, нажмите кнопку **Далее**[[image:1724918109298-641. Загрузить документ.png]] | ||
![]() |
4.1 | 68 | |
![]() |
15.1 | 69 | ---- |
70 | |||
![]() |
20.1 | 71 | === Заполнение параметров документа === |
![]() |
4.1 | 72 | |
![]() |
32.1 | 73 | * Заполните следующие поля: |
![]() |
4.1 | 74 | |
![]() |
31.1 | 75 | |=Поле|=Описание |
76 | |№ |Необязательное. Введите номер документа. Если номера у документа нет, то поле не заполняется | ||
77 | |Тип|Обязательное. Выберите нужный тип документа из выпадающего списка. Для поиска нужного типа документа начните вводить его название. Выпадающий список будет корректироваться, согласно введенному значению. | ||
78 | |Дата|Обязательное. Выберите нужную дату во встроенном календаре. Вы можете выбрать любую дату, которая соответствует загружаемому документу | ||
79 | |Юрлицо|Обязательное. Если на портале более одного юрлица, то выберите юрлицо из выпадающего списка. Если на портале много юрлиц, то для поиска нужного юрлица начните вводить его название | ||
80 | |Маршрут|((( | ||
81 | Обязательное. Маршрут определяет порядок подписания документа. Выберите маршрут из выпадающего списка. По умолчанию в HRlink предустановлены следующие маршруты для подписания документов: | ||
82 | |||
83 | * Для документов, которые должны быть подписаны двумя сторонами трудовых отношений: | ||
84 | ** Руководитель первый ,,Документ отправляется на подпись к Руководителю>Руководитель подписывает документ при помощи УКЭП>Документ отправляется на подпись к Сотруднику>Сотрудник подписывает документ доступным ему видом подписи>Документооборот завершён,, | ||
85 | ** Сотрудник первый ,,Документ отправляется на подпись к Сотруднику>Сотрудник подписывает документ доступным ему видом подписи>Документ отправляется на подпись к Руководителю>Руководитель подписывает документ при помощи УКЭП>Документооборот завершён,, | ||
![]() |
41.1 | 86 | |
![]() |
31.1 | 87 | * Для документов, которые должны быть подписаны одной стороной трудовых отношений: |
![]() |
32.1 | 88 | ** Только сотрудник,,Документ отправляется на подпись к Сотруднику>Сотрудник подписывает документ доступным ему видом подписи>Документооборот завершён,, |
89 | ** Только руководитель,,Документ отправляется на подпись к Руководителю>Руководитель подписывает документ при помощи УКЭП>Документооборот завершён,, | ||
![]() |
41.1 | 90 | |
![]() |
31.1 | 91 | * Для документов, которые отправляются сотруднику на ознакомление и не требуют подписания: |
![]() |
32.1 | 92 | ** На ознакомление ,,Документ отправляется в статусе "Завершён" Сотруднику >Документооборот завершён,, |
![]() |
31.1 | 93 | |
![]() |
53.1 | 94 | В выпадающем списке могут быть гибкие маршруты документов, которые были добавлены на портал по [[заявке>>https://wiki.myhrlink.ru/bin/view/Main/Кадровик/Обращения%20в%20службу%20заботы%20о%20клиентах/Добавить%20гибкий%20маршрут%20документов%20/]] |
![]() |
47.1 | 95 | |
![]() |
53.1 | 96 | При необходимости настройте маршрут по [[инструкции>>https://wiki.myhrlink.ru/bin/view/Main/Кадровик/Документы/Настроить%20гибкий%20маршрут%20/#]] |
![]() |
31.1 | 97 | ))) |
![]() |
37.1 | 98 | |Сотрудник|Обязательное, если выбран маршрут, в котором есть Сотрудник. Выберите сотрудника или сотрудников из выпадающего списка. Для поиска нужного сотрудника начните вводить его ФИО. Выпадающий список будет корректироваться, согласно введенному значению |
![]() |
32.1 | 99 | |Руководитель|Обязательное, если выбран маршрут с Руководителем. Выберите руководителя из выпадающего списка |
![]() |
31.1 | 100 | |
![]() |
42.1 | 101 | ---- |
102 | |||
![]() |
63.1 | 103 | * Если Вы загрузили несколько документов, то заполните параметры для каждого документа или используйте [[«Групповое редактирование»>>https://wiki.myhrlink.ru/bin/view/Main/%D0%9A%D0%B0%D0%B4%D1%80%D0%BE%D0%B2%D0%B8%D0%BA/%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B/%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%B8%D1%82%D1%8C%20%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%20/#H41344044343F43F43E43243E43544043543443043A44243844043E43243043D43843543D43544143A43E43B44C43A43844543443E43A44343C43543D44243E432]][[image:1724919434323-179. Загрузка документа.png]] |
104 | * После того, как все параметры будут заполнены нажмите на кнопку **Загрузить** [[image:1724919564649-814. Загрузить документ.png]] | ||
![]() |
65.1 | 105 | * ((( |
106 | (% class="wikigeneratedid" %) | ||
![]() |
67.1 | 107 | Нажмите на кнопку **Реестр документов** |
![]() |
4.1 | 108 | |
![]() |
65.1 | 109 | [[image:1724920214019-294. Загрузить документ.png]] |
110 | |||
![]() |
68.1 | 111 | === Результат загрузки документов === |
112 | |||
113 | Загруженные документы в статусе «Черновик» отобразятся в верхних строках реестра[[image:1724922838522-934. Загрузить документ.png]] | ||
![]() |
65.1 | 114 | ))) |
115 | |||
![]() |
68.1 | 116 | Вы можете выбрать документы при помощи {{icon name="check-square"}}{{/icon}} и выбрать в интерактивном меню действие, которое необходимо выполнить: |
117 | |||
118 | |Отправить на подпись|Если все параметры заполнены верно, то отправьте документы на подпись | ||
119 | |Редактировать |Если Вы заметили ошибку в параметрах документа или хотите [[добавить к документу сотрудников>>https://wiki.myhrlink.ru/bin/view/Main/Кадровик/Документы/Добавить%20в%20документ%20нескольких%20сотрудников%20/]], то отредактируйте документы перед отправкой | ||
120 | |||
![]() |
69.1 | 121 | [[image:1724923276914-308. Загрузить документ.png]] |
![]() |
68.1 | 122 | |
![]() |
19.1 | 123 | ---- |
124 | |||
![]() |
7.1 | 125 | == Групповое редактирование нескольких документов == |
![]() |
6.1 | 126 | |
![]() |
33.1 | 127 | === Процесс редактирования нескольких документов === |
![]() |
6.1 | 128 | |
![]() |
68.1 | 129 | Редактирование доступно только при загрузке документов и для документов в статусе «Черновик» |
![]() |
6.1 | 130 | |
![]() |
68.1 | 131 | * Если у группы документов есть общие параметры, то задайте их в блоке «Групповое редактирование». Например, если группа документов загружается для одного юрлица с общим маршрутов и руководителем[[image:1724921262824-999. Загрузить документ.png]] |
132 | * В блоке «Группа документов» задайте индивидуальные параметры каждого документа. Например, если каждому документы нужно назначать свой тип и номер [[image:1724921661341-658. Загрузить документ.png]] | ||
133 | |||
![]() |
33.1 | 134 | === Результат группового редактирования документов === |
135 | |||
![]() |
68.1 | 136 | Документы будут сохранены в реестре с новыми параметрами |
![]() |
33.1 | 137 | |
![]() |
68.1 | 138 | |
![]() |
15.1 | 139 | ---- |
![]() |
6.1 | 140 | |
![]() |
31.1 | 141 | == Дальнейшие действия == |
142 | |||
![]() |
68.1 | 143 | [[Добавьте к документу сотрудников>>https://wiki.myhrlink.ru/bin/view/Main/Кадровик/Документы/Добавить%20в%20документ%20нескольких%20сотрудников%20/]] или отправьте загруженные документы на [[подпись>>https://wiki.myhrlink.ru/bin/view/Main/Кадровик/Документы/Отправить%20документ%20на%20подпись%20/]] |
![]() |
74.1 | 144 | |
145 | ---- | ||
![]() |
75.1 | 146 | |
147 | {{velocity}}#set($likesKey = $doc.fullName) | ||
148 | #set($likesDocRef = $services.model.resolveDocument("XWiki.LikesStorage")) | ||
149 | #set($likesDoc = $xwiki.getDocument("XWiki.LikesStorage")) | ||
150 | #set($likesObject = $likesDoc.getObject("XWiki.LikesStorageClass", "key", $likesKey)) | ||
151 | |||
152 | ## Создание объекта, если ещё нет | ||
153 | #if(!$likesObject) | ||
154 | #set($likesDoc = $xwiki.getDocument("XWiki.LikesStorage")) | ||
155 | #set($obj = $likesDoc.newObject("XWiki.LikesStorageClass")) | ||
![]() |
74.1 | 156 | $obj.set("key", $likesKey) |
157 | $obj.set("value", 0) | ||
158 | $xwiki.saveDocument($likesDoc) | ||
![]() |
75.1 | 159 | #set($likes = 0) |
160 | #else | ||
161 | #set($likes = $likesObject.get("value")) | ||
![]() |
74.1 | 162 | #end |
163 | |||
![]() |
75.1 | 164 | ## Проверка, ставил ли пользователь лайк через cookie |
165 | #set($liked = $request.getCookie("liked-$likesKey")) | ||
166 | #set($userLiked = false) | ||
167 | #if("$!liked" == "true") | ||
168 | #set($userLiked = true) | ||
169 | #end | ||
![]() |
74.1 | 170 | |
![]() |
75.1 | 171 | ## HTML-блок |
172 | {{html clean="false"}} | ||
173 | <div id="like-container" style="margin-top:20px; display:flex; align-items:center; gap:10px;"> | ||
174 | <button id="like-button" style="cursor:pointer; font-size: 20px; background: none; border: none;" title="Нравится"> | ||
175 | <span id="heart" style="color:#e74c3c;">❤️</span> | ||
176 | </button> | ||
177 | <span id="like-count" style="font-size:18px;">$likes</span> | ||
178 | <span style="font-size:14px; color: #555;">Нравится статья?</span> | ||
179 | </div> | ||
180 | <script> | ||
181 | document.addEventListener('DOMContentLoaded', function () { | ||
182 | const key = "$likesKey"; | ||
183 | const likeButton = document.getElementById('like-button'); | ||
184 | const likeCount = document.getElementById('like-count'); | ||
185 | |||
186 | function setCookie(name, value, days) { | ||
187 | const d = new Date(); | ||
188 | d.setTime(d.getTime() + (days*24*60*60*1000)); | ||
189 | document.cookie = name + "=" + value + "; expires=" + d.toUTCString() + "; path=/"; | ||
190 | } | ||
191 | |||
192 | function getCookie(name) { | ||
193 | const value = `; ${document.cookie}`; | ||
194 | const parts = value.split(`; ${name}=`); | ||
195 | if (parts.length === 2) return parts.pop().split(';').shift(); | ||
196 | } | ||
197 | |||
198 | if (getCookie("liked-" + key) === "true") { | ||
199 | likeButton.disabled = true; | ||
200 | likeButton.style.opacity = 0.6; | ||
201 | } | ||
202 | |||
203 | likeButton.addEventListener('click', function () { | ||
204 | if (getCookie("liked-" + key) !== "true") { | ||
205 | fetch(location.href, { | ||
206 | method: 'POST', | ||
207 | headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, | ||
208 | body: 'like=1&xredirect=' + encodeURIComponent(window.location.pathname) | ||
209 | }).then(() => { | ||
210 | let current = parseInt(likeCount.innerText); | ||
211 | likeCount.innerText = current + 1; | ||
212 | setCookie("liked-" + key, "true", 365); | ||
213 | likeButton.disabled = true; | ||
214 | likeButton.style.opacity = 0.6; | ||
215 | }); | ||
216 | } | ||
217 | }); | ||
218 | }); | ||
219 | </script> | ||
220 | {{/html}} | ||
221 | |||
222 | ## Серверная часть для учёта лайка | ||
223 | #if($request.getParameter("like") == "1") | ||
224 | #set($likesDoc = $xwiki.getDocument("XWiki.LikesStorage")) | ||
225 | #set($likesObject = $likesDoc.getObject("XWiki.LikesStorageClass", "key", $likesKey)) | ||
226 | #set($count = $likesObject.get("value")) | ||
227 | $likesObject.set("value", $math.add($count, 1)) | ||
![]() |
74.1 | 228 | $xwiki.saveDocument($likesDoc) |
![]() |
75.1 | 229 | #end{{/velocity}} |
![]() |
74.1 | 230 | |
![]() |
75.1 | 231 | |
232 | $xwiki.saveDocument($likesDoc) | ||
233 | |||
234 | |||
![]() |
74.1 | 235 | {{html clean="false"}} |
![]() |
75.1 | 236 | <div id="like-container" style="margin-top:20px; display:flex; align-items:center; gap:10px;"> |
237 | <button id="like-button" style="cursor:pointer; font-size: 20px; background: none; border: none;" title="Нравится"> | ||
238 | <span id="heart" style="color:#e74c3c;">❤️</span> | ||
239 | </button> | ||
240 | <span id="like-count" style="font-size:18px;">0</span> | ||
241 | <span style="font-size:14px; color: #555;">Нравится статья?</span> | ||
![]() |
74.1 | 242 | </div> |
![]() |
75.1 | 243 | <script> |
244 | document.addEventListener('DOMContentLoaded', function () { | ||
245 | const key = "Main.Кадровик.Документы.Загрузить документ .WebHome"; | ||
246 | const likeButton = document.getElementById('like-button'); | ||
247 | const likeCount = document.getElementById('like-count'); | ||
248 | |||
249 | function setCookie(name, value, days) { | ||
250 | const d = new Date(); | ||
251 | d.setTime(d.getTime() + (days*24*60*60*1000)); | ||
252 | document.cookie = name + "=" + value + "; expires=" + d.toUTCString() + "; path=/"; | ||
253 | } | ||
254 | |||
255 | function getCookie(name) { | ||
256 | const value = `; ${document.cookie}`; | ||
257 | const parts = value.split(`; ${name}=`); | ||
258 | if (parts.length === 2) return parts.pop().split(';').shift(); | ||
259 | } | ||
260 | |||
261 | if (getCookie("liked-" + key) === "true") { | ||
262 | likeButton.disabled = true; | ||
263 | likeButton.style.opacity = 0.6; | ||
264 | } | ||
265 | |||
266 | likeButton.addEventListener('click', function () { | ||
267 | if (getCookie("liked-" + key) !== "true") { | ||
268 | fetch(location.href, { | ||
269 | method: 'POST', | ||
270 | headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, | ||
271 | body: 'like=1&xredirect=' + encodeURIComponent(window.location.pathname) | ||
272 | }).then(() => { | ||
273 | let current = parseInt(likeCount.innerText); | ||
274 | likeCount.innerText = current + 1; | ||
275 | setCookie("liked-" + key, "true", 365); | ||
276 | likeButton.disabled = true; | ||
277 | likeButton.style.opacity = 0.6; | ||
278 | }); | ||
279 | } | ||
280 | }); | ||
281 | }); | ||
282 | </script> | ||
![]() |
74.1 | 283 | {{/html}} |
284 | |||
285 |