Рассмотрим ситуацию, когда в программе «1С:Бухгалтерия предприятия 3.0» требуется изменить сотруднику оклад документом Кадровый перевод, но документ не проводится. В сообщении об ошибке обычно указывается, что в регистре сведений уже существует запись с такими ключевыми полями, например в регистре ПлановыеНачисления, а также может быть указан номер строки.
Такая ошибка означает, что при проведении кадрового документа программа пытается записать в регистр плановых начислений сведения, которые уже существуют в базе с теми же параметрами. Проще говоря, для одного сотрудника, одного начисления и одной даты действия в базе сформировались дублирующие данные. Разберем по шагам, почему это происходит, как найти источник дубля и как безопасно исправить ситуацию.
Документ Кадровый перевод в «1С:Бухгалтерии 3.0» используется не только для изменения подразделения, должности, графика работы или условий труда. Через него также можно изменить размер оклада и другие плановые начисления сотрудника.
Когда в документе устанавливается флажок изменения начислений, программа записывает новые сведения в регистр ПлановыеНачисления. В этом регистре хранится история условий оплаты труда: какой вид начисления назначен сотруднику, с какой даты он действует и какой размер установлен.
Например, сотрудник получает оклад 50 000 рублей. С 1 октября ему необходимо установить оклад 60 000 рублей. При проведении кадрового перевода программа должна прекратить действие прежнего значения и зарегистрировать новое значение оклада с даты перевода.
Если в базе уже есть запись по этому сотруднику, этому начислению и этой дате, документ не сможет записать вторую аналогичную строку. В результате появится ошибка о существовании записи с такими ключевыми полями.
Важно: сама ошибка не всегда означает, что пользователь неверно заполнил текущий кадровый перевод. Нередко причина находится в ранее введенном документе, старом кадровом переводе, документе приема на работу, корректировке начальных данных, переносе информации из другой базы или внешней обработке.
Наиболее вероятная причина — дублирование записей в регистре ПлановыеНачисления. Такое дублирование может появиться, когда один и тот же оклад был назначен сотруднику несколько раз на одну дату.
Например, сотрудник был принят на работу с окладом 40 000 рублей. Затем бухгалтер создал кадровый перевод на ту же дату приема и снова указал оклад 40 000 рублей. Позже другой пользователь оформил изменение оклада также с той же даты. В результате в истории условий оплаты труда могли появиться пересекающиеся записи.
Рассмотрим типовую последовательность, которая может привести к конфликту:
В такой ситуации необходимо не удалять данные из регистра вручную, а найти документ, который сформировал лишнюю запись. В типовой конфигурации регистр является техническим хранилищем сведений, а кадровые документы являются первичным источником данных. Поэтому корректировать нужно именно документы-регистраторы.
Не удаляйте строки регистра напрямую без резервной копии и анализа причин. Ручное удаление движения может временно убрать ошибку, но нарушить историю начислений, расчет зарплаты, НДФЛ, страховых взносов и данные кадрового учета.
Сначала проанализируем кадровую историю конкретного сотрудника. Нам потребуется найти все документы, которые могли изменить его плановые начисления.
Рассмотрим документы, которые необходимо проверить в первую очередь:
ПриемНаРаботу.КадровыйПеревод.Начнем с кадровых переводов. Откроем список кадровых документов сотрудника и отсортируем документы по дате. Особое внимание уделим документам, оформленным на ту же дату, что и проблемный кадровый перевод.
Далее сравним следующие реквизиты в каждом документе:
Если обнаружим два документа, которые одновременно назначают сотруднику один и тот же вид начисления с одинаковой даты, необходимо определить, какой из них является правильным по фактической кадровой истории.
Например, если кадровый перевод от 1 октября был введен ошибочно, а затем создан второй правильный кадровый перевод также от 1 октября, необходимо отменить проведение ошибочного документа. После отмены проведения следует перепровести корректный документ.
Если документ уже использовался при расчете зарплаты за закрытый период, не следует сразу отменять его без оценки последствий. Сначала необходимо создать резервную копию базы, проверить расчеты за затронутые месяцы и определить порядок перепроведения документов.
Для изменения оклада в «1С:Бухгалтерии 3.0» необходимо использовать кадровый документ, а не изменять размер начисления в справочнике начислений и не исправлять данные непосредственно в регистре.
Разберем стандартный порядок оформления повышения оклада:
КадровыйПеревод.При изменении только суммы оклада не нужно создавать новое начисление в справочнике. Следует использовать уже существующий вид начисления, например «Оплата по окладу», и указать новый размер в кадровом документе.
Например, если сотруднику установлен вид начисления «Оплата по окладу» в размере 45 000 рублей, а с 1 ноября оклад становится 50 000 рублей, в документе нужно изменить только размер. Не следует одновременно добавлять вторую строку с тем же начислением «Оплата по окладу», если первая строка уже присутствует в табличной части начислений.
Важно: в кадровом переводе должно быть одно актуальное плановое начисление определенного вида для сотрудника на дату начала его действия. Повторяющиеся строки с одинаковым видом начисления могут привести к ошибке проведения или к двойному начислению зарплаты.
Очень часто проблема возникает, когда несколько кадровых изменений оформляются одной датой. Например, сначала бухгалтер меняет должность сотрудника, затем отдельно меняет оклад, а затем создает еще один кадровый перевод для исправления данных.
В типовой работе лучше объединять связанные изменения в одном кадровом документе, если они вступают в силу в одну дату. Например, при переводе сотрудника в другое подразделение с одновременным увеличением оклада достаточно оформить один документ КадровыйПеревод, указать новое подразделение и изменить начисления.
Рассмотрим пример. Сотрудника переводят из отдела продаж в отдел закупок с 1 декабря. Одновременно оклад увеличивается с 55 000 до 65 000 рублей. Не следует сначала проводить кадровый перевод только по подразделению, а затем вторым документом с той же даты менять оклад, если в первом документе также были заполнены начисления.
Корректнее оформить один документ, в котором будут указаны:
Если по организационным причинам необходимо оформить два отдельных документа одной датой, необходимо внимательно проверить, чтобы оба документа не меняли одно и то же плановое начисление. Один документ может изменять кадровые условия, а другой — начисления, но пересечение данных должно быть исключено.
Иногда кадровый перевод не проводится после попытки исправить старый документ. Например, сначала был проведен документ с неверным окладом, затем пользователь создал новый кадровый перевод вместо исправления исходного документа. В результате оба документа могут формировать движения в регистре плановых начислений.
В такой ситуации необходимо определить, можно ли исправить первоначальный документ, а не создавать новый. Для этого рассмотрим дату ошибки и состояние расчетного периода.
Если ошибка относится к открытому периоду и расчет зарплаты еще не выполнен, обычно безопаснее отменить проведение ошибочного документа, исправить его и провести заново.
Если ошибка относится к прошлому периоду, который уже закрыт и по которому рассчитана зарплата, необходимо действовать осторожнее. В этом случае не следует менять документы задним числом без проверки последствий. Изменение кадровых данных в прошлом периоде может потребовать перерасчета зарплаты, аванса, НДФЛ, страховых взносов и выплаты.
Разберем безопасный порядок действий для прошлого периода:
Если исправление старого кадрового документа приводит к существенным перерасчетам, необходимо оценить, требуется ли отражать исправление текущей датой. Конкретный способ зависит от периода, вида изменения и фактической кадровой ситуации.
Для диагностики ошибки полезно посмотреть содержимое регистра ПлановыеНачисления. В типовой базе доступ к техническим объектам может быть ограничен правами пользователя. Обычно для просмотра используется команда «Все функции», если она включена в настройках интерфейса и у пользователя есть необходимые права.
В регистре необходимо найти записи по проблемному сотруднику и проанализировать строки с той же датой, которая указана в кадровом переводе.
При проверке регистра обратим внимание на следующие поля:
Если в регистре присутствуют две строки, которые относятся к одному сотруднику, одному начислению и одной дате, необходимо определить документы-регистраторы. Именно по реквизиту регистратора можно понять, какой документ создал лишнюю запись.
Например, в регистре могут быть две строки:
Такая ситуация сама по себе требует анализа. Если оба документа действительно должны действовать с одной даты, программа не сможет однозначно определить, какой оклад считать актуальным. Необходимо оставить только корректный документ либо перенести дату одного из документов, если это соответствует фактическим условиям труда.
Если в регистре есть дублирующие записи, созданные одним и тем же документом, вероятна проблема в структуре документа, ранее выполненной загрузке данных или программной доработке.
Отдельно рассмотрим ситуацию, когда кадровые данные создавались не вручную, а загружались из внешнего файла, обмена, обработки переноса данных или нетиповой доработки.
Внешняя обработка может добавлять одинаковые строки в табличную часть документа или записывать движения регистра без проверки существующих записей. В результате пользователь видит обычный кадровый документ, но при его проведении программа пытается записать дублирующиеся данные.
Если в базе используются доработки, необходимо передать задачу специалисту по 1С для технической проверки. Специалисту потребуется проанализировать:
КадровыйПеревод.ПередЗаписью, ПриЗаписи и ОбработкаПроведения.РегистрыСведений.ПлановыеНачисления.Для технической диагностики обычно используются объекты Движения, НаборЗаписей, РегистрыСведений.ПлановыеНачисления, а также методы СоздатьНаборЗаписей(), Прочитать(), Записать(), Провести() и ОтменитьПроведение().
При наличии доработок важно проверить, не добавляет ли обработчик одну и ту же запись несколько раз. Также необходимо убедиться, что при записи движения заполняются ключевые реквизиты и номер строки, а набор записей не содержит повторов.
Важно: если ошибка возникла после обмена, загрузки данных или установки расширения, не следует ограничиваться перепроведением кадрового документа. Необходимо сначала устранить причину формирования дублей, иначе ошибка появится снова при следующей загрузке или обмене.
Если в ходе анализа найден документ, который создает лишнюю запись, рассмотрим порядок исправления.
Первый вариант — ошибочный документ не должен существовать. Например, кадровый перевод был создан дважды или был введен по ошибке. В этом случае необходимо отменить проведение лишнего документа и затем проверить проведение правильного документа.
Второй вариант — документ нужен, но в нем неверно заполнены начисления. Например, в кадровом переводе случайно добавлен второй оклад или повторно назначено уже действующее начисление. В этом случае необходимо отменить проведение документа, исправить состав начислений и провести его заново.
Третий вариант — дата кадрового изменения указана неверно. Например, повышение оклада фактически действует с 1 ноября, но один документ введен с 1 октября, а другой — с 1 ноября. В таком случае необходимо привести даты документов в соответствие с кадровыми приказами и фактическими условиями труда.
Разберем общий порядок исправления:
После исправления необходимо проверить расчет зарплаты за месяц, в котором действует изменение оклада. Если расчет уже выполнялся, следует открыть документ начисления зарплаты, выполнить перерасчет при необходимости и проверить итоговые суммы.
Иногда пользователь не может отменить проведение старого документа, потому что период закрыт, зарплата рассчитана, ведомости на выплату проведены, а отчетность уже сдана. В таком случае нельзя принимать решение только по ошибке регистра. Необходимо сначала определить, влияет ли исправление на уже отраженные обязательства перед сотрудником и бюджетом.
Если изменение оклада фактически должно действовать в прошлом периоде, но данные в программе введены неправильно, потребуется согласованное исправление кадровых и расчетных документов. В зависимости от ситуации может потребоваться перерасчет зарплаты, корректировка НДФЛ, пересчет страховых взносов и уточнение отчетности.
Если ошибка возникла только из-за технического дубля, а суммы начислений ранее были рассчитаны правильно, необходимо особенно осторожно подходить к исправлению. В такой ситуации лучше сначала воспроизвести проблему на копии базы и проверить последствия каждого действия.
Разберем безопасную последовательность работы с закрытым периодом:
Такой подход позволит избежать ситуации, когда ошибка проведения устранена, но в расчетах появляются новые расхождения.
В рассматриваемой ситуации используется платформа «1С:Предприятие 8.3» версии 8.3.24.1201 и конфигурация «Бухгалтерия предприятия, редакция 3.0» версии 3.0.143.32. Такая версия конфигурации относится к более ранним релизам.
Обновление само по себе не всегда исправляет уже существующее дублирование записей. Однако перед сложным исправлением кадровых данных необходимо проверить актуальность конфигурации и наличие исправлений разработчика для кадрового учета и расчета зарплаты. При работе с несколькими базами для регулярного создания резервных копий и их обновления применяется инструмент автоматического обновления и обслуживания баз 1С.
Рассмотрим правильный порядок обновления:
Важно: не следует обновлять конфигурацию в надежде, что дублирующие записи исчезнут автоматически. Если дубль уже записан в информационной базе, его источник все равно необходимо выявить и исправить.
Если кадровые документы заполнены корректно, дублирующих документов не найдено, внешние обработки не используются, а ошибка сохраняется, необходимо исключить повреждение структуры данных информационной базы.
В такой ситуации можно использовать штатный механизм тестирования и исправления базы. Эту процедуру следует выполнять только после создания резервной копии и желательно в период, когда пользователи не работают в базе.
Тестирование и исправление не должно быть первым действием при любой ошибке проведения. Сначала необходимо проверить кадровые документы и регистр плановых начислений. Если причина в ошибочно введенном документе, тестирование базы не заменит корректировку данных.
Процедура может быть полезна, если:
Перед запуском тестирования необходимо убедиться, что имеется актуальная резервная копия. После выполнения процедуры следует повторно проверить кадровый перевод, регистр плановых начислений и расчет зарплаты.
Для профилактики подобных ситуаций рассмотрим наиболее частые ошибки при оформлении изменения оклада.
Чтобы избежать дублирования, необходимо вести кадровую историю последовательно. Каждое изменение должно иметь понятную дату действия, документ-основание и единственный источник регистрации в программе.
Соберем решение в единый алгоритм. Такой порядок позволит последовательно найти причину и устранить ее без риска нарушить расчет зарплаты.
ПлановыеНачисления по сотруднику и дате.Таким образом, ошибка проведения кадрового перевода с изменением оклада обычно связана не с самим размером оклада, а с конфликтующими данными в регистре плановых начислений. Рассмотрим проблему как задачу по восстановлению правильной кадровой истории: найдем документ, который создал дублирование, исправим первичный источник данных, перепроведем документы в правильной последовательности и проверим результаты расчета зарплаты.
Информация носит справочный характер