Представляю Вашему вниманию мини html-приложение, админкой которого является 1С ЗУП 3.1, а администратором - ничего не подозревающие работники кадровой службы. Бэкэнд основан на работе функции КадровыйУчет.КадровыеДанныеСотрудников, что минимизирует отсутствие в справочнике работающих сотрудников, а так же присутствие в нем уволенных. Обработка создает файл data.js, в котором переменной _CONTACTS задается массив с данными из 1С ЗУП. Далее данные из переменной подхватываются в ReactJS. Подробно о работе ReactJS можно посмотреть в этом видео. Собственно после этого видео и был сделан данный справочник.
Телефонный справочник состоит из файлов web-приложения и 1С обработки. Файлы web-приложения размещаем локально, самое главное что бы к каталогу приложения был доступ с сервера 1С. В 1С обработке необходимо указать путь к файлам web-приложения с сервера, что бы обработка понимала куда выгружать данные по сотрудникам с фотографиями. Путь указывается в модуле объекта обработки в процедуре пуск():
гл_UrlPhoneBook = "тут необходимо прописать путь к каталогу web-приложения!!!";
Далее 1С Обработку необходимо добавить в качестве дополнительной обработки в ЗУП 3.1.7.87 и настроить выполнение по регламенту. После удачной выгрузки данных запускаем файл index.html и видим всех своих работающих сотрудников. Рекомендую использовать Chrome или Mozilla, не рекомендую использовать Explorer =)
Список сотрудников отсортирован по ближайшему дню рождения к текущей дате. Чем выше сотрудник, тем ближе его день рождения =). Слева-внизу на фотографии сотрудника отображаются пиктограммы в зависимости от состояния сотрудника на текущий момент времени:
- сотрудник на больничном, - сотрудник в командировке, - сотрудник в отпуске, - в отпуске по беременности и родам, - в отпуске по уходу за ребенком.
При клике на фотографию сотрудника вылетает модальное окно с реальным размером фотографии (используется magnificPopap). При клике на почтовый адрес формируется новое письмо, если настроен почтовый клиент. При клике по номеру телефона будет набран соответствующий номер, при наличии skype, Софтфон или что-то подобное. Верстка формы выполнена на bootstrap, поэтому форма удобна в использовании на любом устройстве. При загрузке фотографий используется отложенная загрузка, справочник открывается довольно быстро, а фотографии подгружаются в процессе работы со справочником.
Для понимания, как заполняются столбцы "Внутренний тел.", "Эл. почта" и "Мобильный тел." смотрим запрос в модуле объекта обработки в функции "экв_СформироватьЗапросПоРаботающим( )" ( Отмечено комментарием // ВНУТРЕННИЙ ТРЕХЗНАЧНЫЙ РАБОЧИЙ ТЕЛЕФОН, // РАБОЧАЯ ПОЧТА и // РАБОЧИЙ МОБИЛЬНЫЙ ТЕЛЕФОН ).
Пишите, если будут вопросы, постараюсь помочь!