Структура
Общие сведения
Ссылка на страницу на сайте: https://stankin.ru/about/structure.
Внешний вид страницы:
Реализация
Структура загружается каждые сутки через комбинацию агента Битрикс на стороне сайта stankin.ru (принимающая сторона) и REST-метода на стороне corp.stankin.ru (отдающая сторона).
CronStructureService::fetchStructureFromCorp();
Загрузка производится раз в сутки каждый день. Просмотр журнала по ссылке (в строке поиска должна быть вбита фраза: "Загрузка структуры с корпортала" и выбран пункт выпадающего списка "Событие"). Реализация в директории:
local/agents/CronStructureService.
Особенности настройки агента: был добавлен local/php_interface/init.php с директивной включения файла автозагрузки local/php_interface/s1/autoload.php.
REST-метод
local/rest/structure.
Техническая особенность: при получении данных через REST-метод необходимо передавать SEF-путь, указанный в компоненте, иначе ссылки на карточки руководителей не будут работать.
Компоненты Битрикс
local/components/stankin/structure
Дерево подразделений: local/components/stankin/departments
Карточка пользователя: local/components/stankin/employee
Два режима работы компонента: данные берутся из БД Битрикс или из JSON-файла. Режим отображения данных из БД задумывался для сценария, при котором у сайта своя актуальная копия данных о подразделениях и сотрудниках, получаемая из шины. Вместо этого была реализована архитектура отображения данных на основании JSON-файла, загружаемого из корпортала, который выступает таким образом в роли источника данных.
Ручная синхронизация
При внесении изменений в корпортале можно запустить синхронизацию в ручном режиме в административной панели сайта.
Для запуска синхронизации необходимо нажать зеленую кнопку "Выполнить". Синхронизация выполняется мгновенно.
В случае, если PHP-строка пустая, необходимо вставить следующий код и нажать кнопку "Выполнить":
//title: Загрузка структуры с корпортала
include_once '/home/bitrix/www/local/agents/CronStructureService/CronStructureService.php';
CronStructureService::fetchStructureFromCorp();
Редактирование карточек руководителей
Информация может быть отредактирована через карточку профиля или через административную панель корпортала. Здесь рассматривается вариант редактирования через карточку профиля пользователя.
Данные, выгружаемые автоматически
Данные для ручного заполнения
Поиск пользователя
В верхней панели нажать на кнопку поиска (значок лупы):
Откроется строка поиска:
Необходимо вбить имя сотрудника и перейти в карточку его профиля.
Перечень полей
Адрес Фото Биография Научная деятельность Общественная деятельность Образование Награды
Обновление телефонов на корп. портале
Файл "Телефонный справочник.xlsx"
Актуальный файл со всеми телефонами лежит на диске битрикса - https://corp.stankin.ru/bitrix/tools/disk/focus.php?objectId=205726&cmd=show&action=showObjectInGrid&ncc=1
Также найти файл можно просто поиском в диске:
Чтобы изменить его содержимое необходимо его скачать, внести изменения, а затем загрузить его заново с заменой файла!!! (Чтобы id файла не изменился)
Если все хорошо, то должно быть следующее:
Далее жмем "Закрыть".
Изменения в файле "Телефонный справочник.xlsx"
Номера телефонов необходимо приводить к нужному формату. Для рабочих: "+7 (499) ХХХ-ХХ-ХХ", для внутренних: "Х-ХХ". Если у сотрудника несколько рабочих телефонов (максимум 3 штуки) или внутренних, то необходимо их писать в одной ячейке через разделитель ", " (запятая и пробел). Например:
Если какого-то телефона нет у сотрудника, то ячейку оставить пустой.
Обязательно у сотрудников необходимо заполнять столбцы "Сотрудник" и "Подразделение", так как это составной ключ для скрипта при поиске сотрудника в корп. портале. Иначе изменения не вступят в силу!
Обновление телефонов на корп портале:
1) После загрузки файла, необходимо запустить скрипт синхронизации телефонов по ссылке (необходимо просто дождаться загрузки страницы. Сама страница - просто белый фон):
https://corp.stankin.ru/local/agents/CronPhonebookService/CronPhonebookService.php
2) Удостовериться, что скрипт сработал. Для этого проверить необходимые карточки сотрудников в битриксе (на примере ректора):








