Структура

Общие сведения

Ссылка на страницу на сайте: https://stankin.ru/about/structure.

Внешний вид страницы:

image-1786612803417.png

Реализация

Структура загружается каждые сутки через комбинацию агента Битрикс на стороне сайта stankin.ru (принимающая сторона) и REST-метода на стороне corp.stankin.ru (отдающая сторона).

Компонент Комментарии
Агент загрузки данных
  • Настраивается на стороне сайта. В разделе агенты настроен с опцией "Функция агента":
    CronStructureService::fetchStructureFromCorp();
  • Загрузка производится раз в сутки каждый день.
  • Просмотр журнала по ссылке (в строке поиска должна быть вбита фраза: "Загрузка структуры с корпортала" и выбран пункт выпадающего списка "Событие").
  • Реализация в директории: local/agents/CronStructureService.
  • Особенности настройки агента: был добавлен local/php_interface/init.php с директивной включения файла автозагрузки local/php_interface/s1/autoload.php.
REST-метод
  • Отрабатывает на стороне корпортала.
  • 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();

Редактирование карточек руководителей

Информация может быть отредактирована через карточку профиля или через административную панель корпортала. Здесь рассматривается вариант редактирования через карточку профиля пользователя.

Данные, выгружаемые автоматически

Данные для ручного заполнения

Поиск пользователя

В верхней панели нажать на кнопку поиска (значок лупы):

image-1786611975106.png

Откроется строка поиска:

image-1786612015073.png

Необходимо вбить имя сотрудника и перейти в карточку его профиля.

Перечень полей

Обновление телефонов на корп. портале

Файл "Телефонный справочник.xlsx"

Актуальный файл со всеми телефонами лежит на диске битрикса - https://corp.stankin.ru/bitrix/tools/disk/focus.php?objectId=205726&cmd=show&action=showObjectInGrid&ncc=1

Также найти файл можно просто поиском в диске:

image-1791986577067.png

Чтобы изменить его содержимое необходимо его скачать, внести изменения, а затем загрузить его заново с заменой файла!!! (Чтобы id файла не изменился)

image-1791986429609.png

image-1791986465373.png

Если все хорошо, то должно быть следующее:

image-1791986485122.png

Далее жмем "Закрыть".

Изменения в файле "Телефонный справочник.xlsx"

Номера телефонов необходимо приводить к нужному формату. Для рабочих: "+7 (499) ХХХ-ХХ-ХХ", для внутренних: "Х-ХХ". Если у сотрудника несколько рабочих телефонов (максимум 3 штуки) или внутренних, то необходимо их писать в одной ячейке через разделитель ", " (запятая и пробел). Например:

image-1791987165847.png

Если какого-то телефона нет у сотрудника, то ячейку оставить пустой.

Обязательно у сотрудников необходимо заполнять столбцы "Сотрудник" и "Подразделение", так как это составной ключ для скрипта при поиске сотрудника в корп. портале. Иначе изменения не вступят в силу!

Обновление телефонов на корп портале:

1) После загрузки файла, необходимо запустить скрипт синхронизации телефонов по ссылке (необходимо просто дождаться загрузки страницы. Сама страница - просто белый фон):
https://corp.stankin.ru/local/agents/CronPhonebookService/CronPhonebookService.php

2) Удостовериться, что скрипт сработал. Для этого проверить необходимые карточки сотрудников в битриксе (на примере ректора):

image-1791986987498.png




Версия #18
Антон Хохоликов создал 2026-08-12 18:05:22 UTC
Антон Хохоликов обновил 2026-10-29 09:05:28 UTC