При переносе данных из конфигурации Зарплата и управление персоналом в Бухгалтерию предприятия часто возникает проблема: структуры подразделений в двух базах не совпадают. В результате документы Отражение зарплаты в бухучете содержат некорректные или «битые» ссылки, что делает невозможным правильное распределение затрат по счетам. Рассмотрим, как решить эту проблему, используя как штатные инструменты системы, так и программный подход.
Если вам нужно разово исправить данные без написания собственного кода, воспользуйтесь стандартным инструментом, который доступен в разделе «Администрирование». Это самый быстрый и надежный способ избежать ошибок в логике обработки объектов.
Документ.ОтражениеЗарплатыВБухучете.Подразделение.Если вы решили автоматизировать процесс через код, важно понимать, что реквизит Подразделение в табличной части — это не просто строка с названием, а ссылка на элемент справочника Подразделения. Попытки присвоить строковое значение или использовать неверные методы поиска приведут к ошибкам или пустым ячейкам.
Рассмотрим, как правильно реализовать цикл обхода табличной части:
// Выполняем код на сервере
&НаСервере
Процедура ИсправитьПодразделенияНаСервере()
// Предположим, мы нашли нужный документ или работаем с объектом
Для Каждого Стр Из Объект.НачисленнаяЗарплатаИВзносы Цикл
// Ищем подразделение по наименованию или коду
// Важно искать именно Ссылку на справочник
НайденноеПодразделение = Справочники.Подразделения.НайтиПоНаименованию("Бухгалтерия");
Если ЗначениеЗаполнено(НайденноеПодразделение) Тогда
Стр.Подразделение = НайденноеПодразделение;
КонецЕсли;
КонецЦикла;
// Обязательно записываем объект для фиксации изменений
Объект.Записать();
КонецПроцедуры
Важные нюансы при написании кода:
&НаСервере для манипуляций с данными, так как изменение объектов базы доступно только на сервере 1С.Стр.Подразделение.Наименование.Объект.Записать(). Если вы работаете с формой, изменения в ней не сохранятся автоматически в базе без записи объекта.Если проблема возникает регулярно, исправлять её вручную или программно после каждой выгрузки — неэффективно. Лучше один раз настроить правила соответствия:
Помните, что массовая замена подразделений в документах Отражение зарплаты в бухучете напрямую влияет на аналитический учет. Эти документы формируют проводки по затратным счетам (20, 26, 44). Если документы уже проведены и период закрыт, то изменение подразделения повлечет за собой:
Перед внесением любых массовых изменений обязательно создавайте резервную копию базы и выполняйте операции только в тестовой среде, чтобы убедиться, что оборотно-сальдовая ведомость формируется корректно.