При работе с табелями нередко возникает типовой сценарий: ответственный сотрудник хочет получить привычную Excel-форму, передать её руководителю подразделения или ответственному лицу, внести фактические часы и виды времени, а затем загрузить результат обратно в 1С.
Стандартные механизмы позволяют сформировать печатную форму табеля, однако полноценного двустороннего обмена с Excel с контролем изменений в документе нет.
Расширение решает эту задачу непосредственно из документа «Табель учета рабочего времени».
В форме документа появляются команды:
«Выгрузить в Excel»
и
«Загрузить из Excel».
При этом сам документ, структура конфигурации и типовые механизмы расчета рабочего времени не заменяются.
Поддерживаемые конфигурации
Разработка протестирована в:
- 1С:Зарплата и управление персоналом 3.1
- 1С:Комплексная автоматизация 2.5
- 1С:Комплексная автоматизация 2.6
- 1С:ERP Управление предприятием 2.5
- 1С:ERP Управление предприятием 2.6
Расширение рассчитано на конфигурации, в которых используется типовой документ «Табель учета рабочего времени» семейства решений на БСП/ЗУП.
Выгрузка табеля в Excel
При нажатии «Выгрузить в Excel» предлагается выбрать вариант выгрузки:
Заполненный табель
В Excel передаются текущие данные документа:
- сотрудники;
- дни месяца;
- виды рабочего времени;
- часы;
- сведения организации;
- подразделение;
- период;
- данные табеля.
Такой режим удобен, если необходимо выгрузить уже заполненный табель, внести отдельные корректировки и загрузить его обратно.
Пустой табель
Формируется тот же табель, но часы очищаются.
При этом виды времени остаются заполненными.
Получается готовая заготовка для заполнения фактических часов.
Это удобно, когда ответственный сотрудник получает от 1С уже подготовленную структуру табеля и в течение месяца или по его завершении указывает фактически отработанное время.
Формат Excel
В качестве основы используется привычное представление табеля в формате Т-13.
Выгрузка максимально приближена к штатной печатной форме табеля, а не представляет собой техническую таблицу с набором внутренних идентификаторов.
Пользователь работает с обычными данными:
- сотрудник;
- табельный номер;
- дни месяца;
- виды времени;
- часы.
Служебная информация, необходимая для последующего сопоставления строк при загрузке, пользователю не мешает.
Работа без Microsoft Excel
Для работы расширения не требуется установленный Microsoft Excel.
Не используется:
- COM-соединение;
- Excel.Application;
- автоматизация Office;
- внешняя библиотека.
Чтение и формирование XLSX выполняется средствами платформы 1С.
Поэтому механизм может использоваться:
- в файловом варианте;
- в клиент-серверном варианте;
- через тонкий клиент;
- на рабочих местах без установленного Microsoft Office.
Загрузка из Excel
После внесения изменений файл можно загрузить обратно в документ.
Расширение анализирует файл и сопоставляет его с текущим табелем.
Проверяются в том числе:
- организация;
- подразделение;
- период;
- сотрудники;
- дни месяца;
- виды времени;
- часы.
Если подразделение в документе не используется, пустое подразделение в Excel корректно обрабатывается и не считается ошибкой.
Предварительный просмотр изменений
Перед изменением документа пользователю показывается отдельная форма предпросмотра.
В ней можно увидеть, что именно изменится после загрузки Excel.
Для каждой строки отображаются:
- сотрудник;
- день;
- старый вид времени;
- новый вид времени;
- старое количество часов;
- новое количество часов;
- результат проверки;
- комментарий.
Пользователь может выбрать только нужные изменения и применить их.
Это позволяет избежать ситуации, когда импорт сразу молча изменяет весь документ.
Изменение вида времени без часов
Поддерживаются виды времени, для которых часы могут отсутствовать.
Например:
- выходной;
- отсутствие;
- неявка;
- отпуск;
- другие аналогичные состояния.
Если пользователь меняет в Excel:
Я 8
на
В
или
НВ
и оставляет часы пустыми, такое изменение не пропускается.
Расширение понимает, что был изменён именно вид времени, и применяет его к документу.
Пустые часы в шаблоне
Для режима «Пустой табель» реализована отдельная защита.
Если вид времени остался тем же, а часы просто не заполнены, такая строка не считается командой обнулить данные.
То есть пользователь может заполнить Excel частично.
Например, если в шаблоне было:
Я | пусто
и пользователь эту ячейку не трогал, при импорте текущие данные документа не будут случайно обнулены.
В то же время изменение:
Я | пусто
на
В | пусто
будет распознано как осознанное изменение вида времени.
Поддержка различных видов времени
В расширении нет жёсткого белого списка видов времени.
Можно использовать любые виды времени, зарегистрированные в информационной базе.
Основное условие: вид времени должен существовать в базе и однозначно определяться по своему коду.
Это позволяет использовать расширение в базах со своими настройками учета рабочего времени.
Обновление документа сразу после импорта
После нажатия «Применить выбранные» изменения сразу отображаются в открытом документе.
Сразу обновляются:
- виды времени;
- часы;
- визуальное представление дней;
- итоговые значения.
При этом расширение не записывает и не проводит документ автоматически.
Пользователь сначала видит результат, а затем самостоятельно принимает решение о записи или проведении документа.
Защита от случайных изменений
Механизм загрузки построен не по принципу «прочитать Excel и перезаписать табель».
Перед применением выполняется анализ.
Расширение различает:
- реальные изменения;
- строки без изменений;
- некорректные данные;
- конфликтные данные;
- отсутствующие виды времени;
- неподходящие данные другого табеля.
Это особенно важно при обмене файлами между несколькими сотрудниками.
Права пользователей
В расширении предусмотрена отдельная роль:
«Редактирование Табеля через Excel»
После установки расширения пользователю, который должен работать с выгрузкой и загрузкой Excel, необходимо назначить эту роль.
Также у пользователя должны быть штатные права конфигурации на работу с документом «Табель учета рабочего времени».
То есть расширение не обходит типовую систему прав 1С.
Если пользователь не имеет права просматривать или изменять Табель учета рабочего времени, назначение одной только роли расширения не предоставляет ему полный доступ к документу.
Рекомендуемый вариант:
- оставить пользователю его штатный профиль доступа;
- дополнительно назначить роль «Редактирование Табеля через Excel».
Для пользователей с полными правами отдельная настройка обычно не требуется, но для обычных пользователей роль расширения необходимо включить в используемый профиль доступа.
Установка
Разработка поставляется в виде расширения конфигурации.
Для подключения:
- Открыть раздел Администрирование → Печатные формы, отчеты и обработки → Расширения либо соответствующий раздел используемой конфигурации.
- Добавить расширение.
- При необходимости отключить безопасный режим расширения в соответствии с внутренними правилами организации.
- Перезапустить сеанс 1С.
- Назначить пользователям роль «Редактирование Табеля через Excel».
- Открыть документ «Табель учета рабочего времени».
После подключения в форме документа появятся команды работы с Excel.
Перед установкой в рабочую базу рекомендуется предварительно проверить расширение на копии информационной базы.
Основные возможности
- Выгрузка табеля в XLSX.
- Формат на основе Т-13.
- Два режима выгрузки: заполненный и пустой.
- Сохранение видов времени в пустом шаблоне.
- Загрузка данных обратно в Табель.
- Предварительный просмотр изменений.
- Выбор применяемых строк.
- Поддержка видов времени без часов.
- Поддержка любых зарегистрированных в базе видов времени.
- Немедленное визуальное обновление документа.
- Работа без COM.
- Microsoft Excel не требуется.
- Контроль принадлежности файла к табелю.
- Защита от случайного обнуления часов.
- Отдельная роль доступа.
Для кого подойдет
Разработка будет полезна организациям, где табель заполняется не непосредственно расчетчиком в 1С, а передается:
- руководителям подразделений;
- кадровикам;
- ответственным за табельный учет;
- администраторам объектов;
- начальникам отделов;
- внешним сотрудникам, которые работают только с Excel.
Типовой сценарий:
1С → Excel → ответственное лицо → заполнение → Excel → 1С
без ручного повторного ввода всего табеля.
Проверено на следующих конфигурациях и релизах:
- 1С:Комплексная автоматизация 2, релизы 2.6.1.59, 2.5.27.88
- Зарплата и управление персоналом, редакция 3.1, релизы 3.1.38.92
- Зарплата и управление персоналом КОРП, редакция 3.1, релизы 3.1.38.92
- 1С:ERP Управление предприятием 2, релизы 2.6.1.59, 2.5.27.88
Вступайте в нашу телеграмм-группу Инфостарт