В ходе работы часто возникает необходимость отражать зарплату разных сотрудников на разных счетах бухгалтерского учета. Например, зарплату работников основного производства нужно относить на 20 счет, а административно-управленческого персонала (АУП) — на 26. В этой статье мы подробно разберем, как правильно выполнить такую настройку в "1С:Бухгалтерия 3.0" и почему стандартные настройки в карточке сотрудника могут не сработать.
Часто пользователи пытаются решить эту задачу, создавая несколько одинаковых по сути видов начислений, например, "Оклад производственный" и "Оклад АУП", и в каждом из них указывают свой способ отражения. Этот путь является избыточным и может привести к другим проблемам, таким как некорректный расчет отработанного времени. Рассмотрим, как сделать это правильно, используя стандартный механизм приоритетов.
Прежде чем перейти к решению, важно понять, в каком порядке программа определяет, какую проводку сформировать для начисления зарплаты. В "1С:Бухгалтерия 3.0" заложен четкий иерархический механизм. Программа ищет настройку способа отражения в следующем порядке, от высшего приоритета к низшему:
"Учет расходов" непосредственно в карточке сотрудника. Это позволяет гибко настроить учет для каждого работника индивидуально.Основная проблема, с которой столкнулся автор на форуме, заключалась в том, что настройка в начислении (пункт 1) переопределяла настройку в карточке сотрудника (пункт 2). Разберем по шагам, как это исправить.
Проанализируем ситуацию: мы хотим, чтобы зарплата одного сотрудника отражалась по Дт 26, а другого — по Дт 20, при этом оба получают "Оплату по окладу".
Сначала убедимся, что в системе есть необходимые нам способы отражения зарплаты. Если их нет — создадим.
Это самый важный этап, на котором чаще всего допускают ошибку. Чтобы настройки из карточек сотрудников начали работать, нужно убрать "главную" настройку из самого вида начисления.
Важно: Если оставить в этом поле значение, программа проигнорирует все индивидуальные настройки для сотрудников и подразделений и будет использовать только его.
Теперь, когда мы сняли блокирующую настройку с начисления, можно задавать индивидуальные правила для каждого сотрудника.
После выполнения всех настроек необходимо проверить результат. Если документ "Начисление зарплаты" уже был заполнен, его данные могут быть неактуальны.
Для более глубокого понимания проанализируем, как система выбирает способ отражения на уровне кода. Автор на форуме исследовал общий модуль ОтражениеЗарплатыВБухучете и нашел в нем запрос, логика которого сводится к следующему:
ВЫБРАТЬ
...
ВЫБОР
КОГДА ЕСТЬNULL(СведенияОБухучетеНачислений.СпособОтраженияЗарплатыВБухучете, ...) <> ...
ТОГДА СведенияОБухучетеНачислений.СпособОтраженияЗарплатыВБухучете
ИНАЧЕ СведенияОБухучетеЗарплатыСотрудников.СпособОтраженияЗарплатыВБухучете
КОНЕЦ КАК СпособОтраженияЗарплатыВБухучете
...
Расшифруем этот фрагмент:
СведенияОБухучетеНачислений — это данные из карточки вида начисления.СведенияОБухучетеЗарплатыСотрудников — это данные из карточки сотрудника (настройка "Учет расходов").Конструкция ВЫБОР ... КОГДА ... ТОГДА ... ИНАЧЕ ... работает так: если способ отражения в начислении (СведенияОБухучетеНачислений) заполнен, то берется именно он. И только в противном случае (ИНАЧЕ) система обращается к способу отражения, указанному для сотрудника (СведенияОБухучетеЗарплатыСотрудников). Это и объясняет, почему очистка поля в начислении является ключевым действием для активации индивидуальных настроек.
Таким образом, для гибкого управления счетами затрат на зарплату не нужно создавать дубликаты начислений. Достаточно один раз правильно настроить иерархию способов отражения, оставив поле в самом начислении пустым, и далее управлять учетом через карточки сотрудников или подразделений. Если же в исключительных ситуациях требуется изменить проводки напрямую в документе, можно использовать расширение для ручной корректировки проводок по зарплате в 1С:Бухгалтерии 3.0.