КА 2 (2.4.12.81)
Есть два сотрудника. Для них было проведено разовое начисление, которое не облагается НДФЛ. Теперь я создаю документ "Отражение зарплаты в финансовом учете" и заполняю его по кнопке. После этого заполняется таблица "Начисления и взносы". Одна из строк в этой таблице - это мое разовое начисление без НДФЛ. Проблема заключается в том, что в эту строку попадает только один сотрудник, а должно быть два. Все движения по этим двум сотрудникам одинаковы.
Нашел нужную функцию в общем модуле, которая отвечает за "не облагается НДФЛ":
Процедура ДополнитьТаблицуНачислений(ТаблицаНачислений) Экспорт
Если ТаблицаНачислений.Колонки.Найти("НеОблагаетсяНДФЛ") = Неопределено Тогда
ТаблицаНачислений.Колонки.Добавить("НеОблагаетсяНДФЛ", Новый ОписаниеТипов("Булево"));
КонецЕсли;
Если ТаблицаНачислений.Колонки.Найти("Начисление") = Неопределено Тогда
Возврат;
КонецЕсли;
НачисленияНеОблагаемыеНДФЛ = Новый Соответствие;
Для Каждого СтрокаТаблицы Из ТаблицаНачислений Цикл
Если НачисленияНеОблагаемыеНДФЛ[СтрокаТаблицы.Начисление] = Истина Тогда
СтрокаТаблицы.НеОблагаетсяНДФЛ = Истина;
ИначеЕсли НачисленияНеОблагаемыеНДФЛ[СтрокаТаблицы.Начисление] = Неопределено Тогда
НачисленияНеОблагаемыеНДФЛ.Вставить(СтрокаТаблицы.Начисление,
НачислениеНеОблагаетсяНДФЛ(СтрокаТаблицы.Начисление));
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Функция НачислениеНеОблагаетсяНДФЛ(Начисление)
Если ТипЗнч(Начисление) = Тип("ПланВидовРасчетаСсылка.Начисления")
ИЛИ ТипЗнч(Начисление) = Тип("СправочникСсылка.ВидыВыплатБывшимСотрудникам")
ИЛИ ТипЗнч(Начисление) = Тип("СправочникСсылка.ВидыПрочихДоходовФизическихЛиц") Тогда
Возврат НЕ ЗначениеЗаполнено(Начисление.КодДоходаНДФЛ);
ИначеЕсли ТипЗнч(Начисление) = Тип("ПеречислениеСсылка.ВидыОсобыхНачисленийИУдержаний") Тогда
Возврат Начисление = Перечисления.ВидыОсобыхНачисленийИУдержаний.ПособиеНаПогребение
ИЛИ Начисление = Перечисления.ВидыОсобыхНачисленийИУдержаний.СтоимостьПодарковПризов;
КонецЕсли;
Возврат Ложь;
КонецФункции
Получается, что при обходе таблицы начислений если начисления текущей строки нет в соответствии НачисленияНеОблагаемыеНДФЛ, то текущая строка не изменяется (т.к. строка облагается ндфл), а для всех последующих все корректно.
Не могу понять это ошибка или что-то не так делаю. Два сотрудника совершенно одинаковы, но для одного из них вот такая вот беда с начислением. При отладке уперся в процедуру выше. Дальше по коду не таблица меняется. Процедуры находятся в общем модуле "ОтражениеЗарплатыВФинансовомУчетеУП".
В ERP, которая заполняется другими сотрудниками, аналогичная история. Думаю это баг. Интересно было бы узнать, что там в зупе
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший