В практике работы с конфигурацией 1С:Зарплата и Управление Персоналом 3.1 часто встречается ситуация, когда для сотрудников с удлиненным отпуском (например, 42 или 56 дней) создают отдельный вид отпуска в справочнике Виды отпусков. Это логичное, на первый взгляд, решение приводит к технической проблеме: система продолжает списывать дни по типовому «Основному» отпуску, в то время как накопление идет по созданному вручную «Основному 42». В результате в отчете «Справка об остатках отпусков» возникает пересортица: по одному виду висит огромный плюс, по другому — минус.
Рассмотрим подробно, почему это происходит и какими способами можно привести учет в порядок.
Проанализируем внутреннее устройство документа Отпуск. В системе ЗУП 3.1 справочник Виды отпусков содержит предопределенный элемент Основной. Этот элемент имеет скрытый технический признак (флаг) Основной отпуск = Истина. Программный код документа настроен таким образом, что данные, вводимые на главной вкладке «Основной отпуск», жестко связаны именно с этим предопределенным элементом и соответствующим ему видом расчета Отпуск основной.
Когда мы создаем новый вид отпуска (например, «Основной 42») и указываем, что он является ежегодным, программа воспринимает его как дополнительный ежегодный отпуск. Даже если мы назначим его сотруднику при приеме на работу вместо стандартного, документ Отпуск по умолчанию будет пытаться зарегистрировать отсутствие по типовому основному виду, так как его приоритет зашит в логику работы основной формы документа.
Если пересортица уже возникла и нужно оперативно провести документ, чтобы списался именно «правильный» (созданный вручную) вид отпуска, мы можем воспользоваться следующим алгоритмом:
Отпуск.Важное замечание: Рассмотрим последствия этого метода. Несмотря на то, что остатки в отчетах выровняются, в печатной форме Т-6 данные могут распределиться некорректно. Основной отпуск в приказе может остаться пустым, а все дни уйдут в раздел дополнительных отпусков. Это не всегда допустимо с точки зрения кадрового делопроизводства для удлиненных основных отпусков.
Проанализируем ситуацию: если база ведется давно и пересортица накопилась по многим сотрудникам, лучше всего вернуться к использованию типового вида отпуска Основной, изменив для него количество дней. Для исправления текущих данных выполним следующие шаги:
1. Перенос остатков. Используем документ Ввод остатков отпусков (раздел Главное — См. также — Остатки отпусков). На дату начала текущего периода (или на текущую дату) нам нужно «обнулить» остатки по виду «Основной 42» и перенести эти дни на типовой вид «Основной».
2. Изменение прав на отпуск. В кадровых документах (Прием на работу или Кадровый перевод) необходимо зайти по ссылке Редактировать отпуска. Удалим там «Основной 42» и добавим типовой «Основной», вручную исправив количество дней с 28 на 42.
3. Слияние видов отпусков (для опытных пользователей). Можно воспользоваться обработкой Поиск и замена значений. Мы заменим все ссылки на «Основной 42» на типовой «Основной» во всех документах. Однако после этого обязательно нужно перепровести документы начислений, чтобы записи в регистре накопления Фактические отпуска обновились.
Чтобы в будущем не сталкиваться с подобными проблемами, разберем, как правильно настраивать удлиненные отпуска в 1С:ЗУП 3.1. Не нужно создавать новые элементы в справочнике видов отпусков. Правильнее будет изменить настройки типового отпуска:
Прием на работу на закладке «Главное» нажмем на ссылку «Редактировать отпуска». В открывшемся окне в колонке «Количество дней в году» вместо 28 укажем 42. Программа запомнит это значение именно для данного физического лица.Рассмотрим технический нюанс, упомянутый в обсуждении. Существует возможность изменить признак «Основной отпуск» у элемента справочника. Посмотрим, как это выглядит на уровне метаданных:
// Пример логики, которую использует система при поиске основного отпуска
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ВидыОтпусков.Ссылка КАК Ссылка
|ИЗ
| Справочник.ВидыОтпусков КАК ВидыОтпусков
|ГДЕ
| ВидыОтпусков.ОсновнойОтпуск = ИСТИНА";
Результат = Запрос.Выполнить().Выбрать();
Если вы решите с помощью обработки Редактор реквизитов снять этот флаг с типового отпуска и поставить на свой «Основной 42», будьте крайне осторожны. Система 1С:ЗУП 3.1 ожидает, что предопределенный элемент с именем Основной является главным. Изменение этих настроек может привести к ошибкам при обновлении конфигурации или при заполнении статистической отчетности (например, формы П-4).
Рекомендация: Лучшим решением остается использование типовых механизмов изменения количества дней для стандартного вида отпуска. Это гарантирует корректную работу всех алгоритмов среднего заработка, резервов и отчетности.
Мы проанализировали проблему пересортицы и нашли несколько путей решения. Если ошибка разовая — используйте вкладку дополнительных отпусков. Если ошибка системная — проведите корректировку остатков и вернитесь к типовому виду отпуска. Помните, что архитектура ЗУП 3.1 построена на приоритете предопределенных элементов, и работа в рамках этой логики избавит вас от проблем при расчете зарплаты.