Здесь уже есть тема про 6НФДЛ, туда нужно было писать.
В той теме был близкий вопрос по этой теме . Повторю, что за эту работу отвечает класс CL_HRPAYRU_INTAXRTE_CONTROL, который должен оценить запись ВО. Оценка - это фактически определение ставки налога.
Когда к CL_HRPAYRU_INTAXRTE_CONTROL приходит новый ТН, он по настройкам налогов создает коллекцию классов от CL_HRPAYRU_INTAXRTE. Полный возможный набор перечислен в таблице T77PAYRU_TAX_CLS, вот он
Code:
CL_HRPAYRU_INTAXRTE_4WORK
CL_HRPAYRU_INTAXRTE_4WORK_NRES
CL_HRPAYRU_INTAXRTE_4WORK_HQS
CL_HRPAYRU_INTAXRTE_OTH_HQS
CL_HRPAYRU_INTAXRTE_WIN
Далее CL_HRPAYRU_INTAXRTE_CONTROL передает поступившую запись каждому классу из списка для оценки. После этого CL_HRPAYRU_INTAXRTE_CONTROL проверяет, чтобы существовала только одна оценка для вида оплат. Если оценок будет больше, чем одна, то возникнет описанная ошибка. Конкретно это происходит в методе IF_HRPAYRU_REPORT_CONTROL_CS~ON_CHECK_WAGE.
Нужно поймать эту ошибку, выявить какие два класса из списка оценили проблемный ВО, понять какой класса оценивает ВО ошибочно и разбираться уже с ним.