Автоматизация контроля актуальности данных о медицинских книжках на предприятии общественного питания имеет огромное значение для обеспечения безопасности и качества предоставляемых услуг.
Медицинские книжки являются обязательным документом для сотрудников предприятий общественного питания. В них содержатся данные о прохождении работниками медицинских осмотров, гигиенического обучения и аттестации. Однако контроль актуальности этих данных может быть затруднён из-за большого количества сотрудников и необходимости постоянного обновления информации.
Автоматизация контроля актуальности данных о медицинских книжках позволяет:
-
упростить процесс сбора и хранения информации о медицинских осмотрах и аттестациях;
-
своевременно выявлять сотрудников, у которых истек срок действия медицинских книжек или возникли проблемы со здоровьем;
-
снизить риск возникновения санитарных нарушений и связанных с ними штрафов и санкций;
-
повысить уровень доверия потребителей к предприятию общественного питания.
Ниже рассмотрен пример интеграции конфигурации "Зарплата и управление персоналом" с сервисом учета и контроля медицинских книжек сотрудников MedInspector.
Задача: реализовать отправку личных данных сотрудника в сервис посредством API
Ниже несколько решений, использованных при реализации задачи:
1. Для сохранения настроек подключения выбрано БезопасноеХранилище
ПараметрыОбмена.Сервер = Сервер;
ПараметрыОбмена.Порт = Число(Порт);
ПараметрыОбмена.Логин = Логин;
ПараметрыОбмена.Пароль = Пароль;
ПараметрыОбмена.КаталогЖурнала = КаталогЖурнала;
ПараметрыОбмена.КоличествоДней = КоличествоДней;
УстановитьПривилегированныйРежим(Истина);
ОбщегоНазначения.ЗаписатьДанныеВБезопасноеХранилище("Обработки.СинхронизацияМединспектор", ПараметрыОбмена);
УстановитьПривилегированныйРежим(Ложь);
2. Вывод вспомогательных данных на форму справочника Физические лица реализовано программно
// Массив для новых реквизитов
ДобавляемыеРеквизиты = Новый Массив;
// Опишем ревизиты формы
Реквизит_НомерМедицинскойКнижки = Новый РеквизитФормы("НомерМедицинскойКнижки", Новый ОписаниеТипов("Строка", , , Новый КвалификаторыСтроки(150)), , "Номер медицинской книжки");
Реквизит_СтатусМединспектор = Новый РеквизитФормы("СтатусМединспектор", Новый ОписаниеТипов("Строка", , , Новый КвалификаторыСтроки(150)), , "Статус в системе МедИнспектор");
Реквизит_НеВыгружатьМединспектор = Новый РеквизитФормы("НеВыгружатьМединспектор", Новый ОписаниеТипов("Булево"), , "Не выгружать в систему МедИнспектор");
// Заполним массив после описания реквизитов формы
ДобавляемыеРеквизиты.Добавить(Реквизит_НомерМедицинскойКнижки);
ДобавляемыеРеквизиты.Добавить(Реквизит_СтатусМединспектор);
ДобавляемыеРеквизиты.Добавить(Реквизит_НеВыгружатьМединспектор);
// Добавим новые реквизиты в форму
Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
// Элементы
ИмяГруппы = "ГруппаДополнительныеРеквизиты";
ГруппаФормы = Форма.Элементы.Найти(ИмяГруппы);
Если ГруппаФормы <> Неопределено Тогда
ИмяЭлемента = "НомерМедицинскойКнижки";
Если Форма.Элементы.Найти(ИмяЭлемента) = Неопределено Тогда
ЭлементФормы = Форма.Элементы.Добавить(ИмяЭлемента, Тип("ПолеФормы"), ГруппаФормы);
ЭлементФормы.Вид = ВидПоляФормы.ПолеВвода;
ЭлементФормы.ПутьКДанным = "ФизическоеЛицо.НомерМедицинскойКнижки";
КонецЕсли;
ИмяЭлемента = "СтатусМединспектор";
Если Форма.Элементы.Найти(ИмяЭлемента) = Неопределено Тогда
ЭлементФормы = Форма.Элементы.Добавить(ИмяЭлемента, Тип("ПолеФормы"), ГруппаФормы);
ЭлементФормы.Вид = ВидПоляФормы.ПолеВвода;
ЭлементФормы.ПутьКДанным = "ФизическоеЛицо.СтатусМединспектор";
ЭлементФормы.Подсказка = "0 - значение по умолчанию, 1 - работает, 5 - уволен";
ЭлементФормы.ОтображениеПодсказки = ОтображениеПодсказки.Кнопка;
КонецЕсли;
ИмяЭлемента = "НеВыгружатьМединспектор";
Если Форма.Элементы.Найти(ИмяЭлемента) = Неопределено Тогда
ЭлементФормы = Форма.Элементы.Добавить(ИмяЭлемента, Тип("ПолеФормы"), ГруппаФормы);
ЭлементФормы.Вид = ВидПоляФормы.ПолеФлажка;
ЭлементФормы.ПутьКДанным = "ФизическоеЛицо.НеВыгружатьМединспектор";
ЭлементФормы.Подсказка = "В случае установки галочки, физлицо не будет выгружаться в систему";
ЭлементФормы.ОтображениеПодсказки = ОтображениеПодсказки.Кнопка;
КонецЕсли;
КонецЕсли;
// Заполнение данных
Форма.НомерМедицинскойКнижки = Форма.ФизическоеЛицо.НомерМедицинскойКнижки;
Форма.СтатусМединспектор = Форма.ФизическоеЛицо.СтатусМединспектор;
Форма.НеВыгружатьМединспектор = Форма.ФизическоеЛицо.НеВыгружатьМединспектор;
Вся интеграция реализована через универсальное расширение (применимое к версии КОРП и ПРОФ) с удобным интерфейсом для настройки и тестирования обмена. На текущий момент данное решение обеспечивает на проде обмен по 6 тыс.+ сотрудников сети ресторанов
Проверено на следующих конфигурациях и релизах:
- Зарплата и управление персоналом, редакция 3.1, релизы 3.1.19.80