В практике работы бухгалтера в программе 1С:Бухгалтерия государственного учреждения (редакция 1.0) нередко возникают ситуации, когда инвентарный номер основного средства в карточке объекта не совпадает с номером, отраженным в отчетах по амортизации или стоимости. Особенно остро эта проблема проявляется после масштабных обновлений конфигурации (например, переход на релизы 43.0 или 63.2) или после импорта данных из сторонних систем, таких как "Парус 7".
Основная сложность заключается в том, что простое изменение номера в справочнике Основные средства не приводит к автоматическому обновлению данных в регистрах накопления, которые уже были сформированы документами прошлых периодов. Перепроведение документов за несколько лет — процедура рискованная и трудозатратная. В этой статье мы разберем, как навести порядок в учете "безболезненно".
Для начала выясним причину проблемы. В архитектуре 1С инвентарный номер — это не просто текстовое поле, а ссылка на элемент справочника Инвентарные номера. Когда вы проводите документ Начисление амортизации ОС, программа записывает в регистр накопления Амортизация объектов ОС текущую ссылку на инвентарный номер. Если позже вы измените инвентарный номер в карточке ОС (выберете другой элемент справочника или создадите новый), записи в регистре останутся привязанными к старому элементу.
При обновлении конфигурации или переносе данных из "Паруса" часто возникают дубли или "слетают" привязки, из-за чего отчеты начинают подтягивать данные из первичных регистров, где сохранились неактуальные сведения. Нам необходимо синхронизировать эти данные.
Рассмотрим самый простой и эффективный способ, предусмотренный разработчиками 1С. В составе обновлений конфигурации (обычно в папке Дополнения к конфигурации) присутствует специализированная обработка.
Выполним следующие шаги для исправления ситуации:
.../1c/ExtForms/Дополнения к конфигурации/). Найдем файл с названием КорректировкаИнвентарногоНомераВРегистрах.epf.Файл — Открыть и выберем этот файл.Заполнить. Программа автоматически проанализирует основные средства, НМА и НПА, у которых инвентарные номера в разных регистрах учета различаются. Система проверит:
События ОС;Состояние и местонахождение ОС;Стоимость объектов ОС;Амортизация объектов ОС.Инвентарный номер укажем верное значение. После этого нажмем кнопку Корректировать.Важный момент: эта обработка редактирует данные непосредственно в регистрах. Сами первичные документы (акты, ведомости) останутся без изменений, что позволит избежать пересчета амортизации и изменения налоговой базы за прошлые периоды.
Бывают случаи, когда стандартная обработка не видит объект (например, если объект помечен на удаление или по нему была выполнена свертка базы). Проанализируем ситуацию с "Циркулярной помпой" из обсуждения, когда номер отличается только в одном месяце. В таком случае мы можем воспользоваться документом Корректировка записей регистров. Для упрощения этого процесса подойдёт инструмент для автоматического переноса движений исходных документов в корректировку регистров.
Разберем алгоритм действий:
Операции — Документы — Корректировка записей регистров.Настройка регистров) выберем регистр накопления Амортизация объектов ОС.Расход. Указываем старый (ошибочный) инвентарный номер и сумму амортизации, которую нужно "снять".Приход. Указываем правильный инвентарный номер и ту же сумму амортизации.Состояние и местонахождение ОС, чтобы будущие начисления подхватывали верный номер.Если документов много, а стандартная обработка по каким-то причинам не подходит, можно воспользоваться инструментом Универсальная обработка для групповой корректировки регистров. Это позволяет точечно изменить измерения регистра (в нашем случае — поле Инвентарный номер) в уже существующих записях документов Начисление амортизации. Для этой задачи можно использовать готовую обработку для автоматической корректировки регистров ОС и амортизации в БГУ 1.0.
Рассмотрим пример логики такой правки:
// Пример логики для разработчика при написании внешней обработки
Выборка = РегистрыНакопления.АмортизацияОбъектовОС.Выбрать(ДатаНачала, ДатаОкончания);
Пока Выборка.Следующий() Цикл
Если Выборка.ИнвентарныйНомер = СтарыйИН Тогда
НаборЗаписей = РегистрыНакопления.АмортизацияОбъектовОС.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
НаборЗаписей.Прочитать();
Для Каждого Запись Из НаборЗаписей Цикл
Если Запись.ОсновноеСредство = ТекущееОС Тогда
Запись.ИнвентарныйНомер = НовыйИН;
КонецЕсли;
КонецЦикла;
НаборЗаписей.Записать();
КонецЕсли;
КонецЦикла;
Внимание: использование подобных методов требует предварительного создания резервной копии базы данных! Для надежного сохранения данных перед любыми массовыми корректировками регистров можно настроить процесс автоматического архивирования информационных баз 1С.
Часто в процессе исправления номеров пользователи пытаются удалить "неправильный" элемент из справочника Инвентарные номера, но система выдает ошибку: "Объект не может быть удален, так как на него есть ссылки в базе".
Выясним причину: пока в любом регистре (даже за 2014 год) существует хотя бы одна запись, где фигурирует этот номер, ссылка считается "жесткой". Чтобы удалить дубль:
КорректировкаИнвентарногоНомераВРегистрах.epf, чтобы заменить этот номер на правильный во всех исторических записях.Удаление помеченных объектов.Для исправления инвентарных номеров в регистрах 1С:БГУ 1.0 не нужно перепроводить документы за 2 года. Мы рассмотрели три пути решения: использование штатной обработки (самый надежный вариант), ручную корректировку записей регистров (для единичных случаев) и групповую правку наборов записей (для продвинутых пользователей). Помните, что ключевым условием корректного учета является единообразие инвентарного номера во всех связанных регистрах одновременно.