() набросал на скорую руку, может кому пригодится, заменить функцию:
&НаСервереБезКонтекста
Функция УдалитьВычетыНаСервере(ОбъектФормы, ИмяФормыВладельца)
Организация = ОбъектФормы.Организация;
Если ОбъектФормы.Свойство("ДатаНачалаБазовогоПериода") Тогда
ДатаНачала = ОбъектФормы.ДатаНачалаБазовогоПериода;
ИначеЕсли ОбъектФормы.Свойство("ДатаНачала") Тогда
ДатаНачала = ОбъектФормы.ДатаНачала;
ИначеЕсли ОбъектФормы.Свойство("ПериодРегистрации") Тогда
ДатаНачала = ОбъектФормы.ПериодРегистрации;
ИначеЕсли ОбъектФормы.Свойство("МесяцНачисления") Тогда
ДатаНачала = ОбъектФормы.МесяцНачисления;
КонецЕсли;
ЭтоСписочныйДокумент = ОбъектФормы.Начисления.Выгрузить(Новый Массив).Колонки.Найти("НДФЛ") <> Неопределено;
Результат = "";
Для Каждого ТекущаяСтрока из ОбъектФормы.НДФЛ Цикл
ТаблЗначВычеты = ОбъектФормы.ПримененныеВычетыНаДетейИИмущественные.Выгрузить(Новый Структура("ИдентификаторСтрокиНДФЛ", ТекущаяСтрока.ИдентификаторСтрокиНДФЛ), "РазмерВычета");
ВычетовВсего = ТекущаяСтрока.ПримененныйВычетЛичный + ТаблЗначВычеты.Итог("РазмерВычета");
Если ВычетовВсего > 0 Тогда
ФизическоеЛицо = ТекущаяСтрока.ФизическоеЛицо;
ДобавитьНДФЛ = Окр(ВычетовВсего * 0.13, 0);
БылНалог = ТекущаяСтрока.Налог;
СталНалог = БылНалог + ДобавитьНДФЛ;
ТекущаяСтрока.ПримененныйВычетЛичный = 0;
Результат = Результат + Символы.ПС + ФизическоеЛицо;
Результат = Результат + Символы.ПС + " - Удалён вычет";
ОсновнойСотрудник = КадровыйУчетРасширенный.ОсновнойСотрудникФизЛица(ФизическоеЛицо, Организация, ДатаНачала, Истина);
Начисления = ОбъектФормы.Начисления.НайтиСтроки(Новый Структура("Сотрудник", ОсновнойСотрудник));
Если Начисления.Количество() = 0 Тогда
Результат = Результат + Символы.ПС + " - Налог не пересчитан, т.к. в начислениях нет основного места работы!";
ИначеЕсли Не ЭтоСписочныйДокумент Тогда
Результат = Результат + Символы.ПС + " - Налог не пересчитан, т.к. в НДФЛ редактируется в отдельной форме!";
Иначе
РасчетНалога = 0;
Для каждого ТекСтрока из Начисления Цикл
Если ОсновнойСотрудник = ТекСтрока.Сотрудник Тогда
РасчетНалога = ОКР((ТекСтрока.Результат - ?(ТекСтрока.Свойство("СуммаВычета"), ТекСтрока.СуммаВычета, 0)) * 0.13, 0, 2);
ТекСтрока.НДФЛ = РасчетНалога;
ТекСтрока.КВыплате = ТекСтрока.Результат - РасчетНалога - ТекСтрока.Удержания;
Результат = Результат + Символы.ПС + " - Пересчитан налог и сумма к выплате";
/////////////////////////////////////////////
//РАСПРЕДЕЛЕНИЕ НДФЛ
МассивТиповВидУдержания = Новый Массив;
МассивТиповВидУдержания.Добавить(Тип("ПеречислениеСсылка.ВидыОсобыхНачисленийИУдержаний"));
МассивТиповВидУдержания.Добавить(Тип("ПланВидовРасчетаСсылка.Удержания"));
Таблица = Новый ТаблицаЗначений;
//Таблица.Колонки.Добавить("ИдентификаторСтроки", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(7, 0)));
Таблица.Колонки.Добавить("ВидУдержания", Новый ОписаниеТипов(МассивТиповВидУдержания));
Таблица.Колонки.Добавить("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.Сотрудники"));
Таблица.Колонки.Добавить("Подразделение", Новый ОписаниеТипов("СправочникСсылка.ПодразделенияОрганизаций"));
Таблица.Колонки.Добавить("ПодразделениеУчетаЗатрат", Новый ОписаниеТипов("СправочникСсылка.ПодразделенияОрганизаций"));
Таблица.Колонки.Добавить("СтатьяФинансирования", Новый ОписаниеТипов("СправочникСсылка.СтатьиФинансированияЗарплата"));
Таблица.Колонки.Добавить("СтатьяРасходов", Новый ОписаниеТипов("СправочникСсылка.СтатьиРасходовЗарплата"));
Таблица.Колонки.Добавить("ВидДоходаИсполнительногоПроизводства", Новый ОписаниеТипов("ПеречислениеСсылка.ВидыДоходовИсполнительногоПроизводства"));
Таблица.Колонки.Добавить("Результат", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 2)));
Таблица.Колонки.Добавить("КодСтатьиФинансирования", Новый ОписаниеТипов("Строка",,Новый КвалификаторыСтроки(7)));
РезультатРаспределенияНачисления = ТекСтрока.РезультатРаспределения;
РезультатРаспределенияУдержания = ТекущаяСтрока.РезультатРаспределения;
РезультатРаспределенияУдержанияМ = Новый Массив(РезультатРаспределенияУдержания);
РезультатРаспределенияУдержанияНовый = Новый Массив();
Если РезультатРаспределенияУдержанияМ.Количество() = 0 Тогда
СтрокаРаспределенияНДФЛ = Таблица.Добавить();
ЗаполнитьЗначенияСвойств(СтрокаРаспределенияНДФЛ, РезультатРаспределенияНачисления[0]);
СтрокаРаспределенияНДФЛ.Подразделение = СтрокаРаспределенияНДФЛ.ПодразделениеУчетаЗатрат;
СтрокаРаспределенияНДФЛ.ВидУдержания = Перечисления.ВидыОсобыхНачисленийИУдержаний.НДФЛ;
СтрокаРаспределенияНДФЛ.Результат = РасчетНалога;
СтрокаРаспределенияНДФЛ.Сотрудник = ТекСтрока.Сотрудник;
СтруктураСтроки = ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(СтрокаРаспределенияНДФЛ);
РезультатРаспределенияУдержанияНовый.Добавить(СтруктураСтроки);
Иначе
Для каждого СтрокаРРУ Из РезультатРаспределенияУдержанияМ Цикл
СтрокаРаспределения = Новый Структура(СтрокаРРУ);
СтрокаРаспределения.Результат = РасчетНалога;
РезультатРаспределенияУдержанияНовый.Добавить(СтрокаРаспределения);
КонецЦикла;
КонецЕсли;
ТекущаяСтрока.РезультатРаспределения = Новый ФиксированныйМассив(РезультатРаспределенияУдержанияНовый);
/////////////////////////////////////////////
КонецЕсли;
КонецЦикла;
ТекущаяСтрока.Налог = РасчетНалога;
КонецЕсли;
КонецЕсли;
КонецЦикла;
ОбъектФормы.ПримененныеВычетыНаДетейИИмущественные.Очистить();
Возврат Результат;
КонецФункции
Показать