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