Как настроить удержание в 1С:ЗУП 3.1 с условием по виду начисления и проверкой на наличие дохода

Бухгалтер 1С v8.3 (Управляемые формы) Сфера услуг, туризм и социальный сектор
← На главную

При расчете стипендий студентам часто возникает задача настроить удержание за проживание в общежитии, размер которого напрямую зависит от статуса студента. Основная сложность заключается в реализации логики «трех состояний»: когда у студента есть социальная стипендия (удерживаем одну сумму), когда есть только обычная стипендия (удерживаем другую сумму) и когда начислений нет вовсе (удержание должно быть нулевым).

Стандартная формула вида ?(РасчетнаяБаза > 0, X, Y) при назначении только социальной стипендии в базу не решает проблему: если у студента нет вообще никаких начислений, система видит, что условие не выполняется, и ошибочно применяет значение Y. В этой статье мы разберем, как правильно сконструировать формулу и настроить показатели, чтобы избежать подобных ошибок.

Анализ задачи и выбор методики

Проанализируем ситуацию: нам необходимо, чтобы программа сначала проверяла сам факт наличия какого-либо дохода (стипендии), а затем выбирала тариф удержания. Для реализации этой логики нам потребуется использовать Расчетную базу как предохранитель и Дополнительный показатель как переключатель режимов.

Рассмотрим пошаговый алгоритм настройки системы.

Шаг 1: Создание необходимых показателей

Прежде чем настраивать само удержание, создадим показатели, которые будут участвовать в формуле. Перейдем в раздел Настройка — Показатели расчета зарплаты.

  1. СуммаОбщежитияСоц (X) — числовой показатель, фиксированная сумма.
  2. СуммаОбщежитияОбщая (Y) — числовой показатель, фиксированная сумма.
  3. СтудентНаСоцОбеспечении — это будет наш «маркер». Настроим его следующим образом:
    • Назначение показателя: Для сотрудника.
    • Тип показателя: Числовой (или логический/булево).
    • Использование: Во всех месяцах после ввода значения (постоянное использование).

Использование постоянного показателя позволит нам один раз назначить студенту статус «социальщика», и формула будет автоматически подхватывать нужное значение каждый месяц.

Шаг 2: Настройка вида расчета (удержания)

Создадим новое удержание в справочнике Удержания (раздел Настройка). На вкладке Основное установим переключатель в положение Результат рассчитывается по формуле.

Разберем логику построения формулы. Нам нужно проверить два условия:

  1. Есть ли вообще база для удержания (любая стипендия)?
  2. Является ли студент получателем социальной стипендии?

Сформулируем итоговую формулу для поля Редактировать формулу:


?(РасчетнаяБаза = 0, 0, ?(СтудентНаСоцОбеспечении > 0, СуммаОбщежитияСоц, СуммаОбщежитияОбщая))

Проанализируем, как работает эта конструкция:

Шаг 3: Настройка расчетной базы

Это критически важный этап. Чтобы внешнее условие РасчетнаяБаза = 0 работало корректно, необходимо на вкладке Расчет базы в список Базовые начисления включить все виды стипендий, которые могут быть выплачены студенту: и социальную, и академическую, и прочие.

Важный нюанс: Период расчета базы следует установить как Текущий месяц. Это обеспечит синхронизацию удержания с фактом начисления стипендии в том же документе Начисление зарплаты и взносов.

Шаг 4: Назначение удержания студентам

Рассмотрим, какими документами вводить эти настройки в эксплуатацию. Для того чтобы удержание заработало, нам нужно выполнить два действия:

  1. Назначить плановое удержание: Используем документ Удержание профсоюзных взносов или Постоянное удержание в пользу третьих лиц (в зависимости от настроек шаблонов). Здесь мы выбираем наше новое удержание и указываем дату начала.
  2. Установить значение показателя: Если мы создали показатель СтудентНаСоцОбеспечении, его значение можно ввести документом Данные для расчета зарплаты или через Изменение условий оплаты труда.

Альтернативный метод: Разделение на два удержания

Если работа со сложными формулами вызывает затруднения, рассмотрим более простой, но менее автоматизированный способ. Можно создать два отдельных удержания:

  1. Удержание за общежитие (социальное): В расчетную базу входит только «Соц. стипендия». Формула: Результат = X.
  2. Удержание за общежитие (общее): В расчетную базу входят все остальные стипендии. Формула: Результат = Y.

В этом случае 1С:ЗУП 3.1 по умолчанию не будет рассчитывать удержание, если в текущем месяце нет начислений из его базы. Однако этот метод требует внимательности при назначении: если студенту по ошибке назначить оба удержания, и он получит оба вида стипендий, удержания могут задвоиться.

Выясним причины возможных ошибок

Если при расчете вы видите, что сумма Y все равно удерживается при нулевом доходе, проверьте следующие настройки:

Таким образом, использование вложенного условия в формуле с обязательной проверкой РасчетнаяБаза является наиболее надежным стандартным средством 1С для реализации подобных бизнес-задач.

← На главную