👨💻Доработка обмена ЗУП с личным кабинетом сотрудника, не
«Задача от клиента выглядела в принципе несложно: внедрить личный кабинет сотрудника. Но как всегда дьявол покопался в деталях», – о своем уникальном опыте доработки рассказывает Владимир, разработчик 1С в Programming Store.
У заказчика существовало достаточно большое количество внутренних заявлений, до реализации которых у компании 1С руки не дошли. Для таких случаев в личном кабинете сотрудника существует произвольное обращение. Но там есть маленький нюанс: параметры, которые мы создаем в произвольном шаблоне, не передаются в «1С:ЗУП». И тем не менее они нужны для дальнейшей обработки заявлений: автоматического отклонения обращений, создания документов и прочего. На момент написания статьи компания 1С вроде бы разрешила доработку личного кабинета сотрудника, написанного на «1С:Элементе», но меня терзали сомнения, что обновление доработанного функционала будет происходить гладко. Очень не хотелось оставлять заказчику такую проблему. Очень, очень не хотелось. Если честно, меня охватило уныние: дорабатывать личный кабинет чревато проблемами, а параметры никак не хотели прилетать в обращениях сотрудников. Единственное, что приходило из личного кабинета в «1С:ЗУП», — это приложенный файл формата pdf. Хороший формат, удобный. 1С даже умеет в него писать. Но не умеет читать. Кому в здравом уме придет в голову программно читать файл pdf? Я в своей практике такого не помню. Предыдущий опыт говорил, что это невозможно. Но для очистки совести решил погуглить. Результат меня очень удивил: оказывается, есть утилита РdfToText, которая преобразовывает pdf-файл в текстовый (если, конечно, файл pdf был собран из текста, а не из картинок). В заявлении, которое приходит из личного кабинета в виде pdf-файла, есть все параметры, необходимые нам. Таким образом, если мы сможем преобразовать файл в текст, а затем распарсить, у нас появляется возможность получить так необходимые нам параметры. Примеры по работе с утилитой PdfToText можно найти на Инфостарте. Правда, при использовании данного примера меня поджидала неприятность: антивирус на сервере заказчика заблокировал выполнение утилиты «hstart.exe». Но оказалось, что она не обязательна — удалось написать скрипт без нее.
➡️Читайте полную статью в нашем блоге!