Документ «Регистрация разовых удержаний работников организаций»

Документ регистрирует единовременные (разовые) удержания из заработной платы сотрудников — возврат займа, удержание по исполнительному листу, удержание за спецодежду, возврат излишне выплаченных сумм. Заполняем список сотрудников и сумм, жмём «Рассчитать», проводим. При проведении документ пишет только в зарплатные регистры накопления (ВзаиморасчетыСРаботникамиОрганизаций и ВыплаченныеДоходыРаботникамОрганизацийНУ) — бухгалтерских проводок Дт/Кт он не делает: их формирует отдельный документ «Отражение зарплаты в бухучёте». Документ модуля «Зарплата» в Бухгалтерии для Казахстана 3.0.

Бухгалтерия для Казахстана, ред. 3.0 · v3.0.72.1 · обновлено 2026-06-04

🎯 Что это и зачем

Не каждое удержание из зарплаты — постоянное. Алименты или ОПВ считаются каждый месяц автоматически, а вот разовые удержания нужно зарегистрировать руками: сотрудник вернул часть займа, бухгалтерия удержала стоимость спецодежды, по исполнительному листу прошла единичная сумма, нужно вернуть переплату прошлого месяца. Для всего этого и служит документ «Регистрация разовых удержаний работников организаций».

Что он делает: - фиксирует, у кого, какой вид удержания и на какую сумму применяется в выбранном месяце; - уменьшает сумму к выплате — удержание подхватывается ведомостью на выплату зарплаты; - ведёт взаиморасчёты с работником (например, остаток непогашенного займа) в специальном регистре; - отражает удержанные суммы в данных для налоговой отчётности по зарплате (ИПН, формы по зарплате).

Кто работает: бухгалтеры по зарплате и кадровые специалисты, как правило, ежемесячно — в период расчёта зарплаты.

⚠️ Важно: этот документ не делает бухгалтерских проводок. Как и большинство расчётных зарплатных документов в Бухгалтерии для Казахстана, он пишет в специализированные регистры накопления по зарплате, а не в план счетов. Проводки в бухучёт (например, Дт 3350 «Краткосрочная задолженность по оплате труда» в корреспонденции со счётом удержания) формирует отдельный документ — «Отражение зарплаты в бухучёте» / «Отражение зарплаты в регламентированном учёте». Поэтому в окне «Дт/Кт» у этого документа проводок не будет — и это нормально (см. [Часть 2](#-часть-2-для-программиста)).

🧭 Где найти в программе

Раздел «Зарплата» → группа «Удержания» → пункт «Регистрация разовых удержаний работников организаций». Откроется журнал документов; новый создаём кнопкой «Создать».

📷 СКРИН 01
СКРИН 01 — раздел «Зарплата», открытый журнал «Регистрация разовых удержаний». (AccountingKZ30 во Fresh; маршрут: Зарплата → Удержания → Регистрация разовых удержаний)
⚠️ Пробел в маршрутах. Объекта Документ.РегистрацияРазовыхУдержанийРаботниковОрганизаций нет в карте навигации navigation-map.json. Раздел «Зарплата» определён по подсистеме объекта и по разбору objects/ (меню «Зарплата и кадры» → «Удержания»). Точное имя пункта в левом меню Fresh нужно сверить вживую — см. поле issues, метка [KZ30-NAV-RRU].

👤 Часть 1. Для пользователя

Проходим по шагам, как в курсе: от пустого документа до проведённого удержания и проверки результата. Документ всегда работает в два этапа — сначала заполнить и рассчитать, потом провести.

Урок 1. Разовое удержание у нескольких сотрудников

Когда: нужно зарегистрировать удержание у 1–5 человек — например, разовое погашение займа или возврат переплаты.

Шаг 1. Создаём документ

«Создать» в журнале. Откроется пустая форма документа.

📷 СКРИН 02
СКРИН 02 — пустая форма нового документа.

Шаг 2. Заполняем шапку

📷 СКРИН 03
СКРИН 03 — заполненная шапка (Организация, Период регистрации, Подразделение).
💡 Подсказка. Удержание за январь регистрируйте с периодом 01.01.2025 (первое число месяца). Списки сотрудников при заполнении фильтруются именно по этой дате — только работающие на неё.

Шаг 3. Добавляем сотрудников и виды удержаний

В табличной части «Удержания» нажимаем «Добавить» (или подбираем физлицо), затем по каждой строке заполняем: - Физлицо — сотрудник, у которого удерживаем (фильтруется по организации); - Вид расчёта — вид удержания из плана видов расчёта «Удержания организаций» (например, «Возврат займа», «Удержание по исполнительному листу»). Определяет алгоритм расчёта; - Размер — сумма в тенге или процент (зависит от настроек вида удержания); - Способ отражения в бухучёте — необязательно; индивидуально для строки, переопределяет шапку.

📷 СКРИН 04
СКРИН 04 — табличная часть «Удержания» с заполненными строками (Физлицо, Вид расчёта, Размер).
⚠️ Важно. Колонку «Результат» на этом шаге не трогаем — она заполняется автоматически расчётом (см. Шаг 4). Вручную её можно править только в особом режиме (Урок 4).

Шаг 4. Рассчитываем

Нажимаем кнопку «Рассчитать» на командной панели. Система пройдёт по строкам, применит алгоритм каждого вида удержания к Размеру и заполнит колонку «Результат» — итоговую сумму удержания в тенге.

📷 СКРИН 05
СКРИН 05 — таблица после расчёта — заполнена колонка «Результат».
💡 Если строк много, по конкретному сотруднику можно пересчитать только его строку — командой «Рассчитать сотрудника» (быстрее, чем весь документ).

Шаг 5. Проводим

«Провести» или «Записать и закрыть».

📷 СКРИН 06
СКРИН 06 — проведённый документ.
⚠️ Важно. Провести документ с пустой колонкой «Результат» не получится — сначала всегда «Рассчитать». Поля Организация и Период регистрации обязательны; в таблице должна быть хотя бы одна строка.
💡 Где проверить результат? Не в «Дт/Кт» (проводок тут нет), а в зарплатных отчётах и в ведомости на выплату — удержание уменьшит сумму к выдаче. Текущий долг работника (например, остаток займа) виден в отчётах по регистру «Взаиморасчёты с работниками организаций».

Урок 2. Заполнение по списку сотрудников подразделения

Когда: одно и то же удержание нужно применить ко всем сотрудникам подразделения (классика — удержание за спецодежду).

  1. Создаём документ, заполняем шапку (Урок 1, шаги 1–2).
  2. Заполняем Структурное подразделение — оно задаёт список сотрудников.
  3. На панели таблицы жмём «Заполнить по списку сотрудников».
  4. В диалоге отмечаем галочками нужных сотрудников (список уже отфильтрован по организации, подразделению и дате периода).
  5. Подтверждаем — таблица заполнится строками по выбранным людям.
  6. Для всех строк выбираем один Вид расчёта и Размер (можно через групповое изменение).
  7. «Рассчитать» → «Провести».
📷 СКРИН 07
СКРИН 07 — диалог «Заполнить по списку сотрудников» с отмеченными физлицами.
⚠️ Важно. «Заполнить по списку сотрудников» очищает уже введённые строки. Если в таблице что-то было — система переспросит подтверждение. Список формируется на дату Периода регистрации: уволенный до этой даты сотрудник в список не попадёт.

Урок 3. Заполнение по другому документу

Когда: нужно повторить состав удержаний из прошлого месяца — например, продолжаем погашать заём теми же людьми.

  1. Создаём документ, заполняем шапку.
  2. На панели таблицы жмём «Заполнить по документу».
  3. Выбираем документ-источник (другой документ расчёта зарплаты/удержаний).
  4. Таблица заполнится: скопируются Физлицо, Вид расчёта и Размер. Колонка Результат не копируется — её пересчитываем заново.
  5. При необходимости правим Размер (скажем, уменьшаем сумму последнего платежа по займу).
  6. «Рассчитать» → «Провести».
💡 Команда тоже очищает существующие строки — подтвердите очистку, если таблица не пуста.
⚠️ Если кто-то из скопированных сотрудников уже уволен на дату периода — система предупредит. Проверьте такие строки перед проведением.

Урок 4. Ручная корректировка результата

Когда: автоматический расчёт даёт не ту сумму или нужно зафиксировать конкретное значение (например, округлить по договорённости).

  1. Открываем документ.
  2. В шапке ставим флаг «Ручная корректировка».
  3. Колонка «Результат» становится доступной для ручного ввода — вписываем нужные суммы.
  4. «Записать» → «Провести».
📷 СКРИН 08
СКРИН 08 — установленный флаг «Ручная корректировка» и редактируемая колонка «Результат».
⚠️ Важно. При включённой ручной корректировке кнопка «Рассчитать» больше не перезаписывает «Результат» — суммы остаются ровно теми, что вы ввели. Это же поведение действует и при проведении: документ возьмёт ваши суммы как есть.

Урок 5. Пересчёт проведённого документа

Проведённый документ пересчитать «на месте» нельзя. Если изменили Размер или добавили строки:

  1. Открываем документ.
  2. Жмём «Рассчитать» — программа сама предложит отменить проведение (расчёт по проведённому документу заблокирован). Соглашаемся.
  3. Документ распроводится, расчёт выполнится, колонка «Результат» обновится.
  4. Снова «Провести».
💡 При повторном проведении старые движения регистров удаляются и записываются новые — по пересчитанным суммам.

Урок 6. Печать ведомости удержаний

  1. Открываем записанный документ.
  2. «Печать» → «Ведомость удержаний» (единственная печатная форма документа).
  3. Проверяем табличный документ, печатаем или сохраняем в файл.
💡 Ведомость формируется с группировкой/сортировкой по ФИО физлиц; печать доступна для записанных документов.

🛠 Часть 2. Для программиста

Источник: реальный код релиза 3.0.72.1 (Documents/РегистрацияРазовыхУдержанийРаботниковОрганизаций/Ext/ObjectModule.bsl и …/Ext/ManagerModule.bsl), метаданные документа из конфигурации, плюс разбор objects/ и business-logic/.

Структура объекта

Реквизиты шапки (имена — точно из метаданных):

Реквизит Тип Обязательность Назначение
Организация СправочникСсылка.Организации ShowError Организация-работодатель; контекст расчёта и движений.
ПериодРегистрации Дата ShowError Месяц начисления (работает с месячной точностью).
СтруктурноеПодразделение СправочникСсылка.ПодразделенияОрганизаций DontCheck Подразделение; фильтр сотрудников и аналитика.
СпособОтраженияВБухучете СправочникСсылка.СпособыОтраженияЗарплатыВРеглУчете DontCheck Общий способ отражения для документа (переопределяется строкой).
РучнаяКорректировка Булево DontCheck Флаг ручного ввода сумм; отключает авто-расчёт и авто-движения.
Ответственный СправочникСсылка.Пользователи DontCheck Ответственный за документ.
Автор СправочникСсылка.Пользователи DontCheck Автор; служебный, не переносится при заполнении по структуре.
Комментарий Строка DontCheck Произвольный комментарий.
КраткийСоставДокумента Строка DontCheck Авто-представление состава (список физлиц).
КраткийСоставВидовРасчетаДокумента Строка DontCheck Авто-список видов удержаний.

Табличная часть Удержания:

Колонка Тип Назначение
Физлицо СправочникСсылка.ФизическиеЛица Сотрудник, у которого удерживаем.
ВидРасчета ПланВидовРасчетаСсылка.УдержанияОрганизаций Вид удержания; определяет алгоритм расчёта.
Размер Число Сумма или процент (по настройке вида расчёта).
Результат Число Итоговая сумма удержания (заполняется расчётом).
СпособОтраженияВБухучете СправочникСсылка.СпособыОтраженияЗарплатыВРеглУчете Индивидуальный способ для строки.
⚠️ Несостыковка [KZ30-RRU-01] (имя колонки). В метаданных колонка названа Физлицо, но во всём коде (ObjectModule, ManagerModule) обращение идёт строкой "ФизЛицо" — с заглавной «Л»: Удержания.ВыгрузитьКолонку("ФизЛицо"), Рассчитать(Объект, ФизЛицо = …). Платформа разрешает идентификаторы регистронезависимо, поэтому ошибки нет; но при написании запросов/кода ориентируйтесь на метаданное имя Физлицо, а строковые литералы в типовом коде встречаются в варианте ФизЛицо.

Формы: ФормаДокумента (основная), ФормаСписка (с групповым изменением), ФормаВыбора. Печатная форма (макет): ПФ_MXL_ВедомостьУдержаний («Ведомость удержаний»).

Приоритет способа отражения (3 уровня, по убыванию): 1) колонка Удержания.СпособОтраженияВБухучете → 2) шапка СпособОтраженияВБухучете → 3) способ из вида расчёта (ВидРасчета).

Жизненный цикл обработчиков (ObjectModule)

Обработчик Строк Что делает
ОбработкаЗаполнения ~14 При заполнении структурой удаляет Автор, переносит свойства, вызывает ЗаполнениеДокументов.ЗаполнитьШапкуДокумента.
ПередЗаписью ~13 Вне обмена данными формирует КраткийСоставДокумента и КраткийСоставВидовРасчетаДокумента из ТЧ Удержания.
ОбработкаПроведения ~33 Готовит наборы записей; при ручной корректировке выходит; иначе формирует движения по двум регистрам накопления.
ПриКопировании ~5 Ставит дату нового документа на начало текущего дня пользователя.
ЗаполнитьНаборыЗначенийДоступа (обл. «Управление доступом») ~6 Формирует наборы RLS по организации, подразделению и списку физлиц.

Отдельно, в ManagerModule:

Процедура/функция Строк Что делает
Рассчитать(Объект, ФизЛицо, КомментироватьРасчет) ~16 После ПроверитьЗаполнение() делегирует расчёт ПроведениеРасчетовСервер.РассчитатьДокумент(...).
ПодготовитьПараметрыПроведения(Ссылка, Отказ) ~53 Запросом собирает реквизиты и таблицу удержаний в структуру параметров проведения.
ДобавитьКомандыПечати / Печать / ПечатьВедомость 46 / 33 / 263 Регистрация и вывод печатной формы «Ведомость удержаний».
⚠️ Несостыковка [KZ30-RRU-02]. В разборе objects/ указана процедура ОбработкаПроверкиЗаполнения с перечнем проверок. В реальном ObjectModule.bsl её нет — как и любых Сообщить/ВызватьИсключение. Обязательность Организация/ПериодРегистрации/строк ТЧ обеспечивается свойствами «Заполнять проверку» в метаданных (стандартный механизм платформы) и вызовом ПроверитьЗаполнение() внутри ManagerModule.Рассчитать. Списки «проверок» из objects/ — реконструкция, а не код.

Как формируется проведение — реальный код (3.0.72.1)

Главное: документ не делает проводок Дт/Кт. ОбработкаПроведения пишет в два регистра накопления по зарплате через серверный модуль РасчетЗарплатыСервер. Бухгалтерское отражение — задача отдельного документа «Отражение зарплаты в бухучёте».

Источник — ObjectModule.bsl, процедура ОбработкаПроведения (реальный код, без сокращений):

Процедура ОбработкаПроведения(Отказ, РежимПроведения)

    // ПОДГОТОВКА ПРОВЕДЕНИЯ ПО ДАННЫМ ДОКУМЕНТА

    ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект);
    Если РучнаяКорректировка Тогда
        Возврат;
    КонецЕсли;

    ПараметрыПроведения = Документы.РегистрацияРазовыхУдержанийРаботниковОрганизаций.ПодготовитьПараметрыПроведения(Ссылка, Отказ);
    Если Отказ Тогда
        Возврат;
    КонецЕсли;

    Реквизиты = ПараметрыПроведения.Реквизиты[0];

    ТаблицаВыплаченныеДоходы = РасчетЗарплатыСервер.ПодготовитьТаблицуВыплаченныеДоходыНУ(Реквизиты,
                                                                                    ПараметрыПроведения.Удержания,
                                                                                    Движения.ВыплаченныеДоходыРаботникамОрганизацийНУ.ВыгрузитьКолонки(),
                                                                                    ВидДвиженияНакопления.Приход,
                                                                                    Отказ);

    РасчетЗарплатыСервер.СформироватьДвижения(ТаблицаВыплаченныеДоходы,      "ВыплаченныеДоходыРаботникамОрганизацийНУ", Движения, Отказ);

    // Взаиморасчеты с работниками
    ТаблицаВзаиморасчетыСРаботниками = РасчетЗарплатыСервер.ПодготовитьТаблицуВзаиморасчеты(Реквизиты,
                                                                                    ПараметрыПроведения.Удержания,
                                                                                    Движения.ВзаиморасчетыСРаботникамиОрганизаций.ВыгрузитьКолонки(),
                                                                                    ВидДвиженияНакопления.Приход,
                                                                                    Отказ);
    РасчетЗарплатыСервер.СформироватьДвижения(ТаблицаВзаиморасчетыСРаботниками, "ВзаиморасчетыСРаботникамиОрганизаций", Движения, Отказ);

КонецПроцедуры

Разбор по строкам: 1. ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению(ЭтотОбъект) — инициализирует наборы записей всех регистров документа (унифицированный механизм проведения). 2. Если РучнаяКорректировка Тогда Возврат — при ручной корректировке авто-формирование движений полностью пропускается: записи остаются такими, какими их подготовил/отредактировал пользователь. Это зеркало флага из шапки. 3. ПодготовитьПараметрыПроведения(Ссылка, Отказ) — функция ManagerModule, собирает запросом реквизиты документа и нормализованную таблицу удержаний (см. ниже). При Отказ = Истина — выходим. 4. ВыплаченныеДоходыРаботникамОрганизацийНУ — РасчетЗарплатыСервер.ПодготовитьТаблицуВыплаченныеДоходыНУ(...) строит таблицу движений (вид движения Приход), затем СформироватьДвижения(...) записывает её в одноимённый регистр. Это данные для налогового учёта по зарплате (ИПН, формы по доходам физлиц). 5. ВзаиморасчетыСРаботникамиОрганизаций — аналогично: ПодготовитьТаблицуВзаиморасчеты(...) (вид движения Приход) → СформироватьДвижения(...). Это взаиморасчёты с работником (например, движение по остатку займа/задолженности).

Кто что формирует (вызов → смысл):

Вызов в коде Что пишет
ПроведениеСервер.ПодготовитьНаборыЗаписейКПроведению инициализация наборов записей регистров
…ПодготовитьПараметрыПроведения (ManagerModule) сбор реквизитов + таблицы удержаний запросом
РасчетЗарплатыСервер.ПодготовитьТаблицуВыплаченныеДоходыНУ + СформироватьДвижения регистр ВыплаченныеДоходыРаботникамОрганизацийНУ (НУ по зарплате)
РасчетЗарплатыСервер.ПодготовитьТаблицуВзаиморасчеты + СформироватьДвижения регистр ВзаиморасчетыСРаботникамиОрганизаций (долги работника)

А вот функция сбора параметров — ManagerModule.ПодготовитьПараметрыПроведения (фрагмент реального кода, начало):

Функция ПодготовитьПараметрыПроведения(Ссылка, Отказ) Экспорт

    ПараметрыПроведения = Новый Структура;

    Запрос = Новый Запрос;
    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    Запрос.УстановитьПараметр("Период", КонецМесяца(Ссылка.ПериодРегистрации));
    // … ТекстЗапросаРеквизитыДокумента → ПараметрыПроведения.Реквизиты …
    // … учёт функциональной опции "ПоддержкаРаботыСоСтруктурнымиПодразделениями" …
    // … определение Налогоплательщика по структурному подразделению …
    // … ТекстЗапросаУдержания → ПараметрыПроведения.Удержания …

    Возврат ПараметрыПроведения;

КонецФункции

Важные детали из кода: - Период = КонецМесяца(Ссылка.ПериодРегистрации) — внутри проведения период всегда приводится к концу месяца. Подтверждает: ПериодРегистрации — это месяц, а не день. - Учитывается функциональная опция ПоддержкаРаботыСоСтруктурнымиПодразделениями: от неё зависит, как определяется налогоплательщик (по структурной единице или по организации) — важно для корректного НУ при обособленных подразделениях. - В структуру ПараметрыПроведения кладутся как минимум Реквизиты (шапка) и Удержания (нормализованная ТЧ) — именно их потребляет ОбработкаПроведения.

Движения по регистрам

Регистр Тип Вид движения Что пишет
ВыплаченныеДоходыРаботникамОрганизацийНУ Накопления Приход Удержанные суммы для налогового учёта по зарплате (ИПН, формы по доходам физлиц).
ВзаиморасчетыСРаботникамиОрганизаций Накопления Приход Взаиморасчёты с работником по удержанию (например, движение по остатку займа/задолженности).

Бухгалтерских проводок (Хозрасчетный/Типовой, Налоговый по счетам) документ НЕ формирует. Это типовая для зарплатного контура схема: расчётные документы пишут в зарплатные регистры, а проводки в план счетов делает документ «Отражение зарплаты в бухучёте» (Документ.ОтражениеЗарплатыВБухучете) / «Отражение зарплаты в регламентированном учёте» (Документ.ОтражениеЗарплатыВРеглУчете). Оба объекта присутствуют в конфигурации 3.0.72.1.

ℹ️ Про Дт/Кт (план счетов КЗ). Точные счета зависят от способа отражения (справочник СпособыОтраженияЗарплатыВРеглУчете) и вида удержания. Ориентир по плану счетов Казахстана для зарплатного контура: задолженность по оплате труда — 3350, ИПН к перечислению — 3120, ОПВ/соц.отчисления/соц.налог/ВОСМС — 3210/3220/3230/3240, расходы на оплату труда — 7210/8410. Удержание из зарплаты обычно отражается по дебету 3350 в корреспонденции со счётом, заданным способом отражения (возврат займа — со счётом расчётов по займу работника, возврат переплаты — со счётом затрат и т.п.). Конкретную пару Дт/Кт сверяйте по проведённому «Отражению зарплаты в бухучёте» и по способу отражения, а не по этому документу. Российские счета (70/68/69) здесь неприменимы.
⚠️ Несостыковка [KZ30-RRU-03]. В разборе objects/ регистр ВыплаченныеДоходыРаботникамОрганизацийНУ помечен как «вероятно, остатки», измерения/ресурсы перечислены гипотетически. Реальный код фиксирует только факт записи с видом движения Приход; точную структуру измерений/ресурсов обоих регистров нужно смотреть в их собственных метаданных (в разборе документа их нет). См. поле issues.

Валидации

Явных проверок в ObjectModule нет. Фактически обязательность обеспечивается так: - Свойства метаданных «Заполнять проверку = ВыдаватьОшибку» для Организация и ПериодРегистрации (ShowError) → срабатывают при стандартной ПроверитьЗаполнение(). - ManagerModule.Рассчитать перед расчётом вызывает ДокументОбъект.ПроверитьЗаполнение() и при провале — выходит (расчёт не выполняется). - Проведение без расчёта: с пустой колонкой Результат движения соберутся некорректно/пусто — поэтому на практике обязателен предварительный «Рассчитать» (кроме режима ручной корректировки, где Результат вводится руками). - RLS: ЗаполнитьНаборыЗначенийДоступа ограничивает доступ по организации, подразделению и списку физлиц — пользователь без прав на физлицо/организацию документ не увидит/не проведёт.

Зависимости (общие модули)

Модуль Роль
ПроведениеСервер Подготовка наборов записей к проведению (критический).
РасчетЗарплатыСервер Построение таблиц движений и СформироватьДвижения для обоих регистров; наборы RLS.
ПроведениеРасчетовСервер Ядро расчёта удержаний — РассчитатьДокумент("УдержанияОрганизаций", …) (критический).
ПроцедурыУправленияПерсоналомСервер Формирование краткого состава документа/видов расчёта.
ЗаполнениеДокументов ЗаполнитьШапкуДокумента при заполнении по структуре.
ПроцедурыНалоговогоУчетаВызовСервераПовтИсп Определение налогоплательщика по структурной единице (НУ).
ОбщегоНазначения ТекущаяДатаПользователя, СтрокаТаблицыЗначенийВСтруктуру.
УправлениеПечатью Команды и вывод печатной формы «Ведомость удержаний».
УправлениеДоступом / УправлениеДоступомСлужебный RLS (ограничение на уровне записей).
💼 Партнёру / внедренцу. Три самых частых обращения по этому документу:
  1. «Удержания нет в Дт/Кт». Так и должно быть — проводки делает «Отражение зарплаты в бухучёте». Проверяйте отражение и способ отражения (СпособыОтраженияЗарплатыВРеглУчете), а не сам документ удержаний.
  2. «Сумма к выплате не уменьшилась». Почти всегда документ не рассчитан (Результат пуст) или не проведён, либо период регистрации не совпадает с месяцем ведомости. Цепочка строгая: заполнить → Рассчитать → провести.
  3. «Не та сумма удержания». Логика суммы — в виде расчёта (ПланВидовРасчета.УдержанияОрганизаций) и в ядре ПроведениеРасчетовСервер. Либо включён режим ручной корректировки — тогда сумма ровно та, что вписали руками.
🧩 Заметки для разработчика.
  1. Два этапа — расчёт и проведение разделены. Рассчитать (ManagerModule) лишь заполняет Результат; движения пишутся в ОбработкаПроведения. При автоматизации: сначала Документы.…Рассчитать(Объект) (или через форму), затем Записать(РежимЗаписиДокумента.Проведение).
  2. РучнаяКорректировка = Истина → ранний Возврат в ОбработкаПроведения сразу после ПодготовитьНаборыЗаписейКПроведению. Авто-движения не формируются — отвечает пользователь.
  3. Пересчёт проведённого заблокирован: цепочка из формы — отмена проведения → расчёт → проведение (ПослеЗакрытияВопросаПередРассчетом). В коде: ОтменитьПроведение() → Рассчитать() → Провести().
  4. Имя колонки физлица: метаданное Физлицо, строковый литерал в типовом коде — "ФизЛицо" (см. [KZ30-RRU-01]). Для надёжности обращайтесь к Удержания[i].Физлицо как к свойству объекта.
  5. Период всегда к месяцу: КонецМесяца(ПериодРегистрации) в проведении. Фильтры сотрудников и движения завязаны на месяц, не на день.
  6. Функциональная опция ПоддержкаРаботыСоСтруктурнымиПодразделениями меняет определение налогоплательщика — учитывайте при тестах с обособленными подразделениями.

🔗 Связанные разделы

🆕 Что нового

Версия Изменение Тип
3.0.72.1 Первичное описание документа (на релизе 3.0.72.1): проведение в регистры ВыплаченныеДоходыРаботникамОрганизацийНУ и ВзаиморасчетыСРаботникамиОрганизаций, без прямых бухгалтерских проводок. 🆕