При работе в программе «1С:Зарплата и управление персоналом 8» (редакция 3.1) пользователи иногда сталкиваются с неожиданным поведением системы при оформлении командировок. Типичный сценарий: бухгалтер создает документ Командировка, заполняет все ключевые реквизиты, но при попытке рассчитать документ или выбрать вид расчета вручную программа выдает ошибку о том, что подходящие начисления не найдены, либо оставляет поле выбора пустым. При этом стоит лишь установить флажок «Командировка на неполный день (внутрисменная)», как нужные виды расчета мгновенно появляются в списке.
В этой статье мы подробно разберем, почему программа ведет себя подобным образом, изучим внутренние алгоритмы подбора начислений в 1С:ЗУП 3.1 и пошагово исправим эту ошибку.
Для того чтобы понять природу этой ошибки, нам необходимо заглянуть в логику работы конфигурации. Документ Командировка не просто предлагает пользователю весь список начислений из справочника Начисления. Программа выполняет жесткую фильтрацию по определенным критериям программного кода. Если начисление не соответствует хотя бы одному из условий, оно полностью скрывается из интерфейса документа.
Фильтрация выполняется по двум основным параметрам карточки начисления:
Основное в поле Назначение начисления должно быть строго выбрано значение Оплата командировки. Никакие другие варианты (например, «Повременная оплата труда» или «Прочие начисления и выплаты») документом не воспринимаются.Учет времени у каждого начисления есть переключатель, определяющий, как именно рассчитывается время:
Учет времени установлено значение Полные смены.Неполные смены (или «За работу неполную смену в пределах нормы времени»).Проанализируем ситуацию: если в базе данных для предопределенного вида расчета Командировка была случайно или намеренно изменена настройка учета времени на Неполные смены, то при попытке провести обычную командировку программа не найдет ни одного подходящего начисления для полных смен и выдаст ошибку. Но как только мы включаем признак внутрисменного отсутствия, фильтр поиска меняется, и ошибочно настроенное начисление сразу становится доступным.
Для восстановления корректной работы программы выполним следующие действия. Нам понадобится проверить настройки видов расчета в справочнике начислений.
Перейдем в раздел меню Настройка и выберем пункт Начисления. Перед нами откроется весь список доступных в системе видов расчета.
В строке поиска введем слово «Командировка». Программа отфильтрует список. В стандартной базе здесь должно быть как минимум два начисления:
Командировка — предназначенное для оплаты дней отсутствия (полнодневное).Командировка (внутрисменная) — предназначенное для оплаты часов отсутствия в течение рабочей смены.Откроем двойным щелчком мыши карточку основного начисления Командировка (которое должно использоваться для полных дней) и выполним проверку:
Основное убедимся, что в поле Назначение начисления выбрано значение Оплата командировки. Также проверим, что переключатель Начисление выполняется установлен в положение По отдельному документу (в качестве документа-основания должен быть указан документ Командировка).Учет времени. Найдем группу настроек, отвечающую за использование времени.Полные смены. Если там ошибочно стояло значение Неполные смены, переключим его в правильное положение.Записать и закрыть.Для предотвращения будущих ошибок аналогично проверим начисление Командировка (внутрисменная):
Основное также должно быть указано назначение Оплата командировки.Учет времени переключатель должен стоять в положении Неполные смены (так как это начисление рассчитывается в часах для внутрисменных отсутствий).После выполнения этих простых шагов вернемся в документ Командировка, снимем флажок внутрисменного отсутствия и убедимся, что программа теперь безошибочно подбирает нужное полнодневное начисление.
Рассмотрим подробнее другие технические нюансы, которые могут приводить к похожим симптомам, когда документ командировки не рассчитывается или рассчитывается неверно.
Иногда пользователи в процессе оптимизации списка начислений ошибочно помечают предопределенные виды расчета как неиспользуемые. В карточке любого начисления в правом нижнем углу есть флажок Начисление больше не используется. Если его установить, начисление полностью исключается из всех механизмов автоматического подбора документов. Обязательно проверьте, чтобы этот флаг был снят у всех актуальных видов командировок.
Очень часто бухгалтеры сталкиваются с требованием руководства: «Если средний заработок за время командировки получается меньше, чем если бы сотрудник просто работал по окладу, нужно доплатить ему до оклада». Либо вовсе оплатить дни поездки исходя из текущего оклада сотрудника.
Пытаясь реализовать это требование самостоятельно, пользователи совершают грубую ошибку: они заходят в стандартную Командировку и меняют назначение начисления на Повременная оплата труда, чтобы привязать расчет к тарифной ставке. Делать это категорически запрещено! Документ Командировка жестко завязан на средний заработок. Если вам необходимо реализовать оплату по окладу или доплату до оклада, это нужно делать через создание отдельного поддерживающего начисления (например, доплаты), которое будет рассчитываться в документе Начисление зарплаты и взносов, вытесняя или дополняя основную оплату, но сам документ Командировка трогать не нужно.
Еще одна неочевидная техническая проблема — нарушение механизма вытеснения. На вкладке Приоритет в карточке начислений настраивается, какие виды расчета должны исключать друг друга. Например, время нахождения в командировке должно исключать начисление оклада за эти же дни.
Если после обновления конфигурации или неаккуратных действий пользователей эти настройки сбились, программа может одновременно начислить сотруднику и оклад, и командировочные за один и тот же день. Чтобы этого не происходило, проанализируем настройки приоритетов:
Оклад по дням (или иного основного начисления сотрудника).Приоритет.Командировка. Если его там нет, его следует добавить вручную.Чтобы функционал командировок на неполный день вообще был доступен в программе и работал без сбоев, необходимо правильно настроить параметры учетной политики расчета зарплаты. Посмотрим на эту настройку:
Настройка — Расчет зарплаты.Настройка состава начислений и удержаний.Учет отсутствий.Командировки.В том числе внутрисменные.Если флаг внутрисменных командировок отключен, то в самом документе Командировка физически не будет возможности установить флажок «Командировка на неполный день», и система будет работать только в режиме целых дней.
Мы выяснили, что видимость видов расчета в документах 1С:ЗУП 3.1 напрямую зависит от связки реквизитов Назначение начисления и параметров вкладки Учет времени. Регулярная проверка этих настроек, особенно после обновлений базы данных или переноса данных из других конфигураций, позволит избежать ошибок при расчете среднего заработка и обеспечит корректное отражение рабочего времени сотрудников в табеле учета рабочего времени.