При переносе данных из предыдущих версий (например, 1С:Бухгалтерии 7.7) или при самостоятельной настройке видов начислений пользователи нередко сталкиваются с ситуацией: в документе Начисление зарплаты для стандартного оклада дни и часы рассчитываются автоматически, а по вновь созданному или скопированному начислению отработанное время остается пустым.
Разберем архитектурные особенности «1С:Бухгалтерии 8» (редакция 3.0), выясним причину такого поведения программы и рассмотрим правильные варианты решения этой задачи.
В отличие от специализированной конфигурации «1С:Зарплата и управление персоналом», в «1С:Бухгалтерии 3.0» подсистема расчета зарплаты и кадрового учета представлена в упрощенном виде. Автоматический расчет отработанного времени по графику пятидневной рабочей недели жестко привязан к предопределенному элементу плана видов расчета Начисления — «Оплата по окладу».
У каждого начисления в конфигурации существует скрытый реквизит КатегорияНачисления (значение перечисления КатегорииНачисленийИНеоплаченногоВремени):
Повременная оплата труда. Именно при наличии этого значения алгоритм документа Начисление зарплаты обращается к производственному календарю и автоматически заполняет отработанные дни и часы.КатегорияНачисления программно присваивается значение Прочее. Этот реквизит намеренно не выведен на форму начисления, поэтому изменить его стандартными средствами пользовательского интерфейса нельзя.В результате по всем пользовательским начислениям программа считает сумму фиксированной величиной (как доплату или разовую премию) и не рассчитывает рабочее время.
Чаще всего новые начисления (например, «Оплата оклад 20», «Оплата оклад 26», «Оплата оклад 44») создают исключительно ради того, чтобы разнести затраты по зарплате разных сотрудников на разные бухгалтерские счета (20.01, 26, 44.01, 25). В «1С:Бухгалтерии 3.0» дублировать начисления для этой цели не требуется и методически неверно.
Проанализируем типовой механизм распределения расходов. В программе действует четкая иерархия определения способа отражения зарплаты в бухучете:
Зарплата и кадры → справочник Сотрудники. В карточке нужного сотрудника откроем ссылку Выплата, учет затрат и в поле Учет расходов выберем требуемый способ отражения (с нужным счетом затрат: 20, 26, 44 и соответствующими субконто).Главное или Зарплата и кадры → Подразделения) и заполним поле Способ отражения зарплаты в бухучете.Зарплата и кадры → Настройки зарплаты → Порядок учета зарплаты → вкладка Зарплата → поле Способ отражения в бух. учете.При таком подходе в самом начислении «Оплата по окладу» поле Способ отражения оставляют пустым. Программа сама подставит нужный счет затрат из карточки сотрудника или подразделения, а отработанное время рассчитается корректно без лишних доработок.
Если специфика учета действительно требует сохранения отдельного вида начисления с автоматическим расчетом времени, реквизит можно скорректировать техническими средствами.
Вариант 1. Обработка «Групповое изменение реквизитов»
Администрирование → Обслуживание → Корректировка данных → Групповое изменение реквизитов.Начисления (План видов расчета).Категория начисления и выберем значение Повременная оплата труда.Вариант 2. Программный код во внешней обработке
Для гарантированной установки значения можно выполнить следующий фрагмент кода:
ОбъектНачисления = СсылкаНаНачисление.ПолучитьОбъект();
ОбъектНачисления.КатегорияНачисления = Перечисления.КатегорииНачисленийИНеоплаченногоВремени.ПовременнаяОплатаТруда;
ОбъектНачисления.Записать();
Внимание: принудительное изменение категории начисления может повлиять на автоматическое заполнение среднего заработка для больничных, отпусков и регламентированных отчетов. Рекомендуется использовать базовое предопределенное начисление «Оплата по окладу».
Если даже при использовании типового начисления дни и часы не рассчитываются, проверим следующие настройки:
Справочники → Производственные календари. Календарь на текущий расчетный год должен быть создан, заполнен и записан.Зарплата и кадры → Настройки зарплаты, чтобы переключатель стоял в положении В этой программе, а не во внешней базе ЗУП.