При работе в системе 1С пользователи часто сталкиваются с ситуацией, когда документ, даже помеченный на удаление или находящийся в закрытом периоде, продолжает формировать движения в регистрах накопления. Это может приводить к расхождениям в учете и некорректным данным в отчетах. В частности, речь идет о проблеме, когда ошибочная запись в регистре накопления, таком как ДенежныеСредстваУПодотчетныхЛиц, требует исправления или удаления, но прямое вмешательство кажется рискованным, особенно если период закрыт.
Давайте разберем эту непростую ситуацию, рассмотрим различные подходы к ее решению и выясним, какой из них является наиболее безопасным и корректным.
Представьте, что у нас есть документ, который по каким-то причинам был помечен на удаление. Однако этот документ, несмотря на свою "ненужность", все равно успел сделать движения в регистре накопления. При попытке удалить эту запись напрямую возникает вопрос: не нарушит ли это закрытие месяца, если период уже закрыт? Также существует опасение, что использование стандартного механизма Корректировки регистров приведет к увеличению общей суммы оборотов в отчетах, что в свою очередь вызовет расхождения с бухгалтерскими данными.
Автор исходной проблемы столкнулся именно с такой ситуацией, когда документ, помеченный на удаление, создал запись в регистре ДенежныеСредстваУПодотчетныхЛиц. Было замечено, что после попытки сделать корректировку, общая сумма в отчете Денежные средства увеличилась, итоговые суммы перестали сходиться с бухгалтерской обороткой.
Прежде чем принимать решение о способе исправления данных, рассмотрим несколько важных моментов:
ДенежныеСредстваУПодотчетныхЛиц), зачастую не участвуют напрямую в расчетах, формирующих бухгалтерские проводки при закрытии месяца. Однако это не означает, что риска нет совсем. Если данные из этого регистра агрегируются или являются источником для других регистров, влияющих на финансовый учет, то изменения могут потребовать перепроведения регламентных операций. Всегда рекомендуется проводить любые изменения на копии базы данных, прежде чем применять их в рабочей базе.Рассмотрим два основных подхода к исправлению ошибочных движений в регистре накопления.
Этот метод подразумевает непосредственное удаление конкретной записи или набора записей из регистра накопления. Он может быть применен в случаях, когда требуется полное исключение записи из истории, и нет необходимости в сохранении факта ее создания и последующего исправления. Однако, как мы уже отметили, с точки зрения аудита и сохранения истории этот метод менее предпочтителен.
Для прямого удаления записей из регистра накопления программно, мы можем использовать следующий код в обработке или консоли запросов/кода:
// Предполагаем, что у нас есть ссылка на некорректный документ
// Например, Док = Документы.НашДокумент.НайтиПоНомер("0000001", ДатаНачала, ДатаОкончания);
// Или Док = Документы.НашДокумент.ПолучитьСсылку(Новый УникальныйИдентификатор("..."));
// Получаем менеджер регистра накопления
МенеджерРегистра = РегистрыНакопления.ДенежныеСредстваУПодотчетныхЛиц;
// Создаем набор записей регистра
НаборЗаписей = МенеджерРегистра.СоздатьНаборЗаписей();
// Устанавливаем отбор по регистратору (документу, который сделал движения)
НаборЗаписей.Отбор.Регистратор.Установить(Док);
// Считываем записи, соответствующие отбору
НаборЗаписей.Прочитать();
// Очищаем набор записей. Это приведет к удалению всех записей,
// которые попали под отбор, при следующей операции Записать()
НаборЗаписей.Очистить();
// Записываем пустой набор записей, что фактически удаляет движения документа
// из регистра.
НаборЗаписей.Записать();
Сообщить("Движения документа " + Док.Вид() + " №" + Док.Номер + " от " + Док.Дата + " из регистра " + МенеджерРегистра.Метаданные().Имя + " успешно удалены.");
Предостережения:
Этот метод является наиболее предпочтительным, поскольку он позволяет исправить ошибочные движения, сохраняя при этом полную историю изменений. Документ Корректировка регистров создает новую запись, которая компенсирует некорректную, не стирая ее из истории, что очень важно для аудита и анализа данных.
Давайте разберем по шагам, как использовать этот подход для решения нашей проблемы:
В большинстве типовых конфигураций 1С существует стандартный документ Корректировка регистров. Мы создаем новый экземпляр этого документа. Обычно он находится в разделе "Операции" или "Учет и отчетность".
В документе Корректировка регистров мы должны указать, какие регистры будут корректироваться. В нашем случае это регистр накопления ДенежныеСредстваУПодотчетныхЛиц.
На закладке, связанной с регистрами накопления, мы добавляем новую строку для корректируемого регистра.
Именно здесь кроется ключевой момент для правильного сторнирования.
Предположим, ошибочная запись создала движение с ВидомДвижения = Приход и положительной суммой. Нам нужно "отменить" это движение.
Мы создаем новую запись в табличной части корректировки для регистра ДенежныеСредстваУПодотчетныхЛиц со следующими параметрами:
Расход. Это важно, чтобы компенсировать исходный Приход. Если исходная запись была Расход, то здесь мы указываем Приход.Расход с минусом.Таким образом, мы формируем запись, которая нейтрализует эффект от ошибочной записи, не увеличивая при этом общие обороты, поскольку сторно-запись по своей сути является "отменяющей" записью.
В сообщении 10 автор успешно применил этот подход: "Сделала документ корректировки регистра, с записью Расход, сумма с минусом, сторно - да. Все село правильно." Это подтверждает эффективность данного метода.
После заполнения всех необходимых полей, мы проводим документ Корректировка регистров. Система сформирует необходимые движения в регистре накопления, которые исправят ошибочные данные.
После проведения документа Корректировка регистров со сторно-записью, необходимо тщательно проверить следующие моменты:
ДенежныеСредстваУПодотчетныхЛиц (например, универсальный отчет по движениям регистра) за период, включающий как ошибочную, так и корректирующую записи. Убедитесь, что конечные остатки и обороты теперь корректны.ДенежныеСредстваУПодотчетныхЛиц влияет на них). Убедитесь, что они показывают правильные данные.ДенежныеСредстваУПодотчетныхЛиц является регистром накопления управленческого характера, его данные часто должны быть согласованы с соответствующими счетами бухгалтерского учета. Убедитесь, что исправление не привело к новым расхождениям в бухгалтерском учете. Если обнаружились расхождения, возможно, потребуется также провести корректировки в бухгалтерском или налоговом учете (например, через операции, введенные вручную, или другие специализированные документы корректировки, если это предусмотрено конфигурацией).Корректировка регистров с явной сторно-записью оставляет четкий след о том, кто, когда и что исправил, что значительно упрощает анализ и контроль.Мы выяснили, что наиболее безопасным и корректным способом исправления ошибочной записи в регистре накопления, такой как ДенежныеСредстваУПодотчетныхЛиц, созданной помеченным на удаление документом в закрытом периоде, является использование документа Корректировка регистров. Ключевым моментом здесь является создание сторно-записи с видом движения, противоположным ошибочному, отрицательной суммой и установленным флагом "Сторно - Да". Этот метод позволяет сохранить целостность данных, обеспечивает аудируемость и предотвращает искажение оборотов в отчетах.
Хотя прямое удаление записей программными средствами возможно, оно сопряжено с большими рисками для целостности и аудируемости данных. Всегда отдавайте предпочтение методам, которые сохраняют историю изменений и позволяют легко отследить все корректировки.