После переноса данных из устаревших конфигураций (например, 1С:ЗиК 2.3 или 1С:ЗУП 2.5) в программу 1С:Зарплата и Управление Персоналом ред. 3.1 пользователи часто сталкиваются с ситуацией: документы переноса перенесены корректно, регистры накопления заполнены суммами и днями, однако при попытке рассчитать документ Командировка или Отпуск таблица расчета среднего заработка остается пустой.
В этой статье мы подробно разберем, по какому принципу система собирает сведения для среднего заработка, почему происходит сбой связи между документами переноса и расчетными документами, а также опишем пошаговое решение этой проблемы.
Рассмотрим порядок хранения данных, необходимых для расчета средних выплат в конфигурации «Зарплата и Управление Персоналом» (редакция 3.1). При загрузке исторической информации формируются документы типа Перенос данных со специальными префиксами номеров:
ЗП_СЗО — формирует записи в регистрах накопления для расчета общего среднего заработка:Данные о времени для расчета среднего (общий);Данные о начислениях для расчета среднего заработка (общий).ЗП_СЗФСС — фиксирует заработок и время для пособий и больничных листов в регистрах:Данные о начислениях для расчета среднего заработка (ФСС);Данные страхователей для расчета среднего заработка (ФСС);Данные о времени для расчета среднего (ФСС).Важно учитывать архитектурный приоритет регистров в 1С:ЗУП 3.1:
Перенос данных или документами начисления зарплаты.Сведения о времени для расчета среднего (общий), Сведения о начислениях для расчета среднего заработка (общий), а также регистр Данные о времени для расчета общего среднего заработка (корректировка).Если в регистрах сведений по сотруднику присутствуют записи (например, введенные вручную по кнопке «Карандаш» в форме редактирования среднего), алгоритм расчета полностью игнорирует регистры накопления и берет данные исключительно из регистров сведений. Если же там пусто, система запрашивает информацию из регистров накопления.
Если регистры накопления Данные о времени для расчета среднего (общий) и Данные о начислениях для расчета среднего заработка (общий) заполнены, а регистры сведений пусты, но средний заработок все равно равен нулю — проанализируем условие отбора в запросе платформы.
В 1С:ЗУП 3.1 выборка сумм и отработанного времени при расчете общего среднего заработка выполняется по конкретной ссылке на элемент справочника Сотрудники:
|(Отбор.Сотрудник = ДанныеРегистра.Сотрудник)
При автоматическом переносе из 1С:ЗиК 2.3 часто возникает скрытое задвоение элементов справочника Сотрудники. В списке физических лиц числится один человек, но в справочнике Сотрудники создаются два элемента с одинаковым ФИО и табельным номером.
В результате получается следующая коллизия:
ЗП_СЗО) делают записи по первой ссылке на сотрудника;Отпуск или Командировка) ссылаются на второй дублирующий элемент справочника Сотрудники.При снятом флаге «Скрыть сотрудников, расчеты по которым завершены» и отключенном отборе в форме списка может отображаться только одна запись, однако в базе данных реально существуют две разные уникальные ссылки (UUID).
Для подтверждения наличия дублей проанализируем базу данных с помощью Консоли запросов. Выполним следующий запрос к справочнику Сотрудники:
ВЫБРАТЬ
Сотрудники.Ссылка КАК Ссылка,
Сотрудники.Код КАК ТабельныйНомер,
Сотрудники.Наименование КАК ФИО,
Сотрудники.ФизическоеЛицо КАК ФизическоеЛицо
ИЗ
Справочник.Сотрудники КАК Сотрудники
ГДЕ
Сотрудники.Наименование ПОДОБНО &ФИО
Если запрос возвращает две или более строки для одного и того же человека с одинаковым полем ФизическоеЛицо, проблема нерасчета среднего заработка подтверждена: записи регистров переноса оторваны от текущей кадровой записи сотрудника.
Для исправления проблемы воспользуемся стандартной встроенной обработкой Поиск и удаление дублей (раздел Администрирование — Обслуживание — Корректировка данных):
Сотрудники.Сотрудники, используемый в текущих кадровых документах, и укажем его как основной.Обработка автоматически заменит ссылки на нерасчетного сотрудника в документах переноса данных ЗП_СЗО и регистрах накопления на актуальную ссылку. После выполнения этой операции перерасчет документа Командировка или Отпуск начнет корректно затягивать перенесенные суммы и отработанное время.
Если проверка показала отсутствие дублей элементов справочника, проанализируем другие возможные причины:
Начисления. У видов расчета, занесенных при переносе, на закладке Средний заработок должна быть четко указана категория вхождения (общий заработок, премия и т. д.). Если категория не задана, суммы из регистров игнорируются платформой.