diff --git a/media/js/office/sync.js b/media/js/office/sync.js
index dc51e4e9020817498dc9012d677750d695cb8dbc..def414a4b44058dd8ff0e53d02471df00cb28b76 100644
--- a/media/js/office/sync.js
+++ b/media/js/office/sync.js
@@ -1,12 +1,13 @@
 "use strict";
 
 $(document).ready(()=>{
-    //const pathToSfeduAPIAdapter = $('#sync_api_url').html();
-    const pathToSfeduAPIAdapter = 'http://localhost:3000/';
+    const pathToSfeduAPIAdapter = $('#sync_api_url').html().trim();
+    //const pathToSfeduAPIAdapter = 'http://localhost:3000/';
 
     //$('#syncInnerDepartments').click(()=>{
     //    $.get(pathToSfeduAPIAdapter + 'subdivisions/inner');
     //});
+
     function parseLogs() {
         let $logs = $('#json_logs');
 
@@ -16,11 +17,11 @@ $(document).ready(()=>{
 
     //let logs = parseLogs();
 
-    //$('.syncErrorMessage').click(()=>{
-    //   const rowIndex = $(this).parent().index();
-    //    var opened = window.open("");
-    //    opened.document.write(logs[rowIndex].content);
-    //});
+    $('.syncErrorMessage').click(function() {
+       const rowIndex = $( this ).parent().parent().index();
+        var opened = window.open("");
+        opened.document.write($("#message_"+rowIndex).html());
+    });
 
     $('#syncDepartments').click(()=>{
         $.get(pathToSfeduAPIAdapter + 'subdivisions');
diff --git a/~dev_rating/application/classes/Controller/Office/Sync.php b/~dev_rating/application/classes/Controller/Office/Sync.php
index dc50909092c351300a0e72210772ec2739f6d32d..8b0630f09d39181aad6c1f40cabeb3d5a47e106a 100644
--- a/~dev_rating/application/classes/Controller/Office/Sync.php
+++ b/~dev_rating/application/classes/Controller/Office/Sync.php
@@ -40,6 +40,7 @@ class Controller_Office_Sync extends Controller_Environment_Office
             $date = new DateTime($item->timestamp, new DateTimeZone('UTC'));
             $date->setTimezone(new DateTimeZone('MSK'));
             $item->localTimestamp = $date->format('Y-m-d H:i:s');
+            $item->content = json_encode($item->content);
         }
 
         return $decoded;
diff --git a/~dev_rating/application/views/office/sync.twig b/~dev_rating/application/views/office/sync.twig
index 2a5aa2e8d20f6b07b6c568c48c293a9586b2e6d8..6e5e44da5bea02eca1550b119d26389a51138b72 100644
--- a/~dev_rating/application/views/office/sync.twig
+++ b/~dev_rating/application/views/office/sync.twig
@@ -4,6 +4,7 @@
 {% block title %}Синхронизация данных сБРС с 1С:Университет ЮФУ{% endblock %}
 
 {% block office_media %}
+    {{ HTML.script('static/js/libs/jquery.fileDownload.js')|raw }}
 	{{ HTML.style('static/css/office/list.css')|raw }}
     {{ HTML.style('static/css/admin/sync.css')|raw }}
     {{ HTML.script('static/js/office/sync.js')|raw }}
@@ -172,12 +173,27 @@
 
 	</div>
 
+	{#
 	<div id="json_logs" style="display: none">
         {{ log|json_encode|raw }}
 	</div>
+	#}
+
+	<div id = "html_errors">
+	{% set messageNumber = 0 %}
+    {% for line in log %}
+		<div id="message_{{ messageNumber }}" style="display: none;">
+        {% if line.success %}
+			{{ line.message }}
+        {% else %}
+			{{ line.content }}
+        {% endif %}
+		</div>
+        {% set messageNumber = messageNumber + 1 %}
+    {% endfor %}
+	</div>
 
-	{#  TODO: передать адрес демона в js здесь #}
-	{# <div id="sync_api_url" style="display: none">
+	<div id="sync_api_url" style="display: none">
         {{ api_url }}
-	</div> #}
+	</div>
 {% endblock %}