При переходе со старых версий программ (например, с 1С:Бухгалтерия 7.7) на современную редакцию 1С:Бухгалтерия предприятия 3.0 пользователи и специалисты нередко сталкиваются с неприятным системным ограничением. При попытке включить опцию расчета заработной платы по подразделениям программа выдает предупреждение о том, что численность сотрудников в организации превышает 60 человек, и блокирует доступ к расширенному учету. Разберем подробно, почему возникает такое ограничение, как оно реализовано в коде конфигурации и какие существуют варианты решения задачи.
Выясним причину появления данного лимита. Начиная с релиза 3.0.35, разработчики фирмы «1С» заложили концептуальное разделение функционала. Блок расчета заработной платы внутри типовой «1С:Бухгалтерии» позиционируется как упрощенное решение, предназначенное строго для небольших организаций с простой структурой и типовыми графиками работы. Если на предприятии работает более 60 человек либо требуется вести сложный учет по обособленным подразделениям с отдельными налоговыми инспекциями (разными КПП и ОКТМО), фирма «1С» рекомендует использовать связку программ: 1С:Зарплата и управление персоналом 8 (ЗУП) и 1С:Бухгалтерия 8.
Рассмотрим структуру проверки. Контроль численности срабатывает не только по фактически работающим в текущем месяце сотрудникам, но и по количеству записей в справочнике Сотрудники в рамках всей информационной базы. Если порог превышен, блокируется возможность включения флагов сложного зарплатного учета.
Проанализируем доступные варианты решения проблемы — от официальных и архитектурно правильных до программного изменения логики конфигурации.
Рассмотрим стандартный и поддерживаемый вендором подход. Если организация имеет сложную структуру подразделений, сменные графики, вредные условия труда или штат более 60 человек, расчет зарплаты внутри учетной бухгалтерской системы может создавать сложности при закрытии месяца и формировании регламентированной отчетности (6-НДФЛ, РСВ, персонифицированные сведения).
Разберем по шагам порядок действий при переходе на рекомендуемую схему:
1С:Зарплата и управление персоналом 3.1.1С:ЗУП 3.1 и 1С:Бухгалтерия 3.0 (ПРОФ или КОРП).Отражение зарплаты в бухучете.Преимущество метода: конфигурация «1С:Бухгалтерия» остается на полной типовой поддержке без доработок, отчетность по НДФЛ и взносам формируется в специализированной системе корректно и без технических ограничений.
Посмотрим на ситуацию, когда на предприятии используется простая повременная оплата труда (оклад), но численность превышает 60 человек. Проверка возможности расчета зарплаты завязана на определенные константы конфигурации.
Разберем последовательность действий в интерфейсе:
Вести учет больничных, отпусков и исполнительных документов.После отключения этого флага программа переходит в режим простого учета, в котором жесткое блокирование начислений на штат более 60 человек может перестать препятствовать проведению расчетных документов. Однако возможность автоматического расчета отпускных и учета по обособленным подразделениям при этом будет отключена.
Если специфика учета не требует внедрения отдельной конфигурации 1С:ЗУП, а функционал обособленных подразделений в 1С:Бухгалтерии необходим, проанализируем, где именно в программном коде зашиты функции проверки.
Все механизмы контроля сосредоточены в общем модуле РасчетЗарплатыДляНебольшихОрганизаций. Найдем функцию, возвращающую пороговое значение численности:
Функция ПорогЗапрета() Экспорт
Возврат 60;
КонецФункции
Обратим внимание: простое увеличение возвращаемого значения в функции ПорогЗапрета() не всегда приводит к мгновенной активации нужного флага в интерфейсе, так как система использует комплексную функцию анализа возможности ведения расчета.
Посмотрим на функцию РасчетЗарплатыДляНебольшихОрганизацийВозможен(), которая анализирует данные информационной базы и принимает итоговое решение о доступности функционала:
Функция РасчетЗарплатыДляНебольшихОрганизацийВозможен(Отказ = Ложь, ТекстОшибки = "") Экспорт
// Принудительно разрешаем использование функционала
Возврат Истина;
КонецФункции
Разберем, как применить данное исправление грамотно, не снимая конфигурацию с полной поддержки. Для этого воспользуемся механизмом Расширений конфигурации:
Адаптация или Дополнение.РасчетЗарплатыДляНебольшихОрганизаций.РасчетЗарплатыДляНебольшихОрганизацийВозможен применяем аннотацию &Вместо:
&Вместо("РасчетЗарплатыДляНебольшихОрганизацийВозможен")
Функция Расш1_РасчетЗарплатыДляНебольшихОрганизацийВозможен(Отказ = Ложь, ТекстОшибки = "")
Отказ = Ложь;
ТекстОшибки = "";
Возврат Истина;
КонецФункции
Посмотрим на результат: после применения расширения и перезапуска программы константа, отвечающая за использование начисления зарплаты по подразделениям, успешно переключается в значение Истина, а в интерфейсе открывается доступ к расчету зарплаты по обособленным подразделениям.
Важное предостережение: при программном снятии лимита ответственность за корректность расчетных алгоритмов ложится на специалиста. Встроенные в «1С:Бухгалтерию» механизмы распределения вычетов по НДФЛ и страховых взносов при большом штате и частых перемещениях между подразделениями могут требовать ручной проверки и сверки регистров налогового учета.