010
Виджет ЭЦП/СМС
011
012
Используется при согласовании или при утверждении любой записи в
013 системе. Например, согласовать у руководителя приказ, служебную
014 записку и т. д.
015
016
Для того чтобы добавить виджет ЭЦП/СМС на карточку объекта, с
017 помощью drag&drop нужно перетащить на область карточки, и при
018 необходимости изменить заголовок.
019
020

022
023
Для выбора полей и документов для подписания, нужно нажать на
024 кнопку “
” в верхнем
025 углу виджета.
026
027

029
030
031 - Поля для подписания. В списке доступны поля по объекту, по
032 автору, также поля по вложенным объектам
033
034
035

037
038
039 - Документы для подписания. В списке доступны печатные формы,
040 которые добавлены в контекстном меню “печатные формы”. Работ с
041 печатными формами, детально описано во главе Печатные формы.
042
043
044

046
047
Настройка прав доступа на виджет ЭЦП/СМС
048
049
Доступ на просмотр виджета ЭЦП/СМС можно ограничить, как
050 отдельным пользователям и департаментам, так и группам
051 пользователей (ролям).
052
053
Для того чтобы настроить права, нужно нажать на кнопку “
” на правом верхнем углу
055 виджета. В отобразившемся окне нужно переключить чекбокс на
056 “Выборочно”.
057
058

060
061
Далее, нажать на кнопку “⋮” и указать пользователей,
062 департаменты или группы пользователи (роли), которые получат доступ
063 на “Просмотр”виджета.
064
065
067
068
069
Пример подписания записи с помощью ЭЦП
070
071
Нужно открыть карточку записи для подписания;
072
073

075
076
Выбрать тип подписания ЭЦП или СМС, для примера, выбран тип
077 ЭЦП;
078
079

081
082
Нажать на кнопку “Подписать”.
083
084

086
087
088 Доступна возможность выгрузки документа для ознакомления до
089 подписания. Документ можно выгрузки по нажатию на наименование
090 документа. Подписание с ЭЦП будет доступно только после запуска
091 программы NCALayer.
092
093
094

096
097
Нажать на кнопку “Подписать” в окне отображения информации по
098 полям и документам для подписания. Далее, нужно указать путь к ЭЦП
099 ключу и нажать на кнопку “открыть”. По нажатию на кнопку
100 “отменить”, система возвращает на карточку записи.
101
102

104
105
В поле “Введите пароль” необходимо заполнить пароль от ЭЦП
106 ключа, затем нажать на кнопку “Открыть”.
107
108

110
111
Окно подтверждения самого подписания. Для завершения подписания
112 нужно нажать на кнопку “Подписать”.
113
114

116
117
Отображение информации о том, что данные были успешно
118 подписаны.
119
120

122
123
При открытии карточки, будет отображена информация по истории
124 подписей с данными: дата подписания, ФИО подписанта и тип
125 подписания.
126
127

129
130
По нажатию на запись, откроется страница для скачивания печатной
131 формы подписанного документа, в правом блоке отображается детальная
132 информация по подписанту.
133
134

136
137
В поле Подписанный документ доступен список печатных форм для
138 подписания. По умолчания, в системе всегда доступна печатная форма
139 “Подписанные данные.pdf”, а другие печатные формы, указаны при
140 настройке виджета ЭЦП/СМС в режиме администрирования.
141
142

143
144
В системе доступа ссылка проверки действительности подписи ЭЦП
145 на сайте https://ezsigner.kz
146 (Сервис подписи и проверки электронных документов).
147
148

150
151
Для проверки подписи в документе, нужно скачать CMS файл и
152 перейти на сайт по нажатию на кнопку “Перейти на ezSigner”. В поле
153 “Электронный документ для проверки”, загрузите файл, который
154 скачали ранее, затем нужно нажать на кнопку “Проверить”.
155
156

158
159
Результат проверки
160
161

163
164
На каждой странице печатной формы, в нижнем левом углу страницы
165 доступен QR код, который можно отсканировать с мобильного
166 телефона.
167
168

169
170
Пример подписания записи с помощью СМС
171
172
Нужно открыть карточку записи для подписания;
173
174

176
177
Выбрать тип подписания ЭЦП или СМС, для примера, выбран тип
178 СМС;
179
180

181
182
Нажать на кнопку “Подписать”.
183
184

186
187
В окне, отобразится информация по полям и документам для
188 подписания, также поле ввода номера телефона для получения кода
189 подтверждения подписания.
190
191
Доступна возможность выгрузки документа для ознакомления до
192 подписания. Документ можно выгрузки по нажатию на наименование
193 документа.
194
195
В поле “Номер телефона” нужно ввести номер телефона, на который
196 придет код подтверждения, затем нажать на кнопку “Отправить SMS
197 код”.
198
199

200
201
Полученный код нужно ввести в поле “Код подтверждения”, затем
202 нажать кнопку “Подписать”. Система проверить соответствие кода
203 подтверждения. При несоответствии кода, выводит уведомление “Введен
204 неверный SMS код”, нужно ввести корректный код подтверждения, либо
205 повторно запустить процесс подписания.
206
207

209
210
При соответствии кода подтверждения, отобразиться информации о
211 том, что данные были успешно подписаны.
212
213

214
215
При открытии карточки, будет отображена информация по истории
216 подписей с данными: Дата подписания, ФИО подписанта и тип
217 подписания.
218
219

220
221
222
at kz.greetgo.md_reader.util.MdUtil.xmlTextToDoc(MdUtil.java:80)
at kz.greetgo.md_reader.core.MdConverter.prepareHtmlFileFrom(MdConverter.java:136)
at kz.greetgo.md_reader.core.MdConverter.convert(MdConverter.java:208)
at kz.greetgo.md_reader.controller.RenderController.downloadToc(RenderController.java:360)
at kz.greetgo.md_reader.controller.RenderController.request(RenderController.java:108)
at jdk.internal.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:207)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:152)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:884)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1081)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:974)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1011)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
at kz.greetgo.md_reader.interceptors.TextReplaceFilter.doFilter(TextReplaceFilter.java:36)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:894)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.io.IOException: Server returned HTTP response code: 429 for URL: http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:2000)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:677)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1397)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1333)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.startPE(XMLDTDScannerImpl.java:732)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.skipSeparator(XMLDTDScannerImpl.java:2101)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.scanDecls(XMLDTDScannerImpl.java:2064)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.scanDTDExternalSubset(XMLDTDScannerImpl.java:299)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1165)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1040)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:943)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:542)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:889)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:825)
at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at java.xml/com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:247)
at java.xml/com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:342)
at java.xml/javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:122)
at kz.greetgo.md_reader.util.MdUtil.xmlTextToDoc(MdUtil.java:71)
... 48 more