Утро началось с того, что прочитал новость об очередной проблеме в ЗУП на БЭ https://buhexpert8.ru/1s-zup/glavnaya-1s-zup/novosti-zup/oshibka-v-zup-3-1-23-653-3-1-25-37-ne-rasschityvaetsya-ndfl-s-avansa.html
Проверил - в одной из организаций проблема проявляется.
В документе "Начисление за первую половину" в ТЧ "Начисления" - 60 человек, в ТЧ "НДФЛ" - 20 (в предыдущие месяца - количество +/- совпадало).
Не поленился, написал простое расширение для перерасчета каждого сотрудника (стандартное - выделить всех и "Пересчитать сотрудника") проблемы не решает.
В расширении - заимствовал процедуру "ПриСозданииНаСервере" формы "ФормаДокумента"
Собственно, все содержимое расширения - вот оно
&НаСервере
Процедура НДФЛА_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
НоваяКоманда = ЭтаФорма.Команды.Добавить("НДФЛА_ПересчитатьВсехСотрудников");
НоваяКоманда.Заголовок = "ПересчитатьВсехСотрудников";
НоваяКоманда.Действие = "НДФЛА_ДействиеКомандыПересчитатьВсехСотрудников"; //указываем только имя процедуры
НоваяКнопка = Элементы.Вставить("КнопкаНДФЛА_ПересчитатьВсехСотрудников", Тип("КнопкаФормы"),ЭтаФорма.Элементы.ОсновныеКоманды);
НоваяКнопка.Заголовок = "Пересчитать всех сотрудников";
НоваяКнопка.ИмяКоманды = "НДФЛА_ПересчитатьВсехСотрудников";
КонецПроцедуры
&НаКлиенте
Процедура НДФЛА_ДействиеКомандыПересчитатьВсехСотрудников()
Для каждого стр из Объект.Начисления цикл
Массив = Новый Массив();
Массив.Добавить(стр.НомерСтроки-1);
НДФЛА_ДействиеРасчетСотрудникаБезИтогов("Начисления",Массив,"Сотрудник",Тип("СправочникСсылка.Сотрудники"));
КонецЦикла;
НДФЛА_ДействиеРасчетИтогов();
КонецПроцедуры
&НаСервере
Процедура НДФЛА_ДействиеРасчетСотрудникаБезИтогов(ИмяТаблицы, ВыбранныеСтроки, ВедущееПоле, ТипВедущегоПоля)
РасчетЗарплатыРасширенный.ПересчитатьСотрудникаНаСервере(ЭтаФорма, ИмяТаблицы, ВыбранныеСтроки, ВедущееПоле, ТипВедущегоПоля);
КонецПроцедуры
&НаСервере
Процедура НДФЛА_ДействиеРасчетИтогов()
РассчитатьИтогиПоДокументу();
КонецПроцедуры
То есть - добавил новую команду, новую кнопку, назначил этой кнопке добавленную команду, и, собственно, выполнение этой добавленной команды путём обхода ТЧ "Начисления" и выполнения стандартного действия перерасчета.
Не самый быстрый вариант (чуть больше секунды на одного сотрудника), но - какой есть.
Методика:
0. Добавляем расширение в конфигурацию, перезапускаем, чтобы оно сработало.
1. Создаём документ, стандартно заполняем.
2. Смотрим на сумму НДФЛ, количество сотрудников в ТЧ "НДФЛ"
3. Нажимаем добавленную кнопку "Пересчитать всех сотрудников", ждём
4. Смотрим на сумму НДФЛ, количество сотрудников в ТЧ "НДФЛ"
Всё.
Проверялось на ЗУП ПРОФ 3.1.23.653 и 3.1.25.37