Как переформировать проводки в 1С:ERP после смены ГФУ номенклатуры?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием Бухгалтерский учет Промышленность, строительство и АПК
← На главную

Рассмотрим частую ситуацию, возникающую при работе в системе 1С:ERP. Допустим, в текущем месяце были созданы, заполнены и проведены по регламентированному учету документы поступления или реализации. Позже выясняется, что в карточке номенклатуры была указана ошибочная Группа финансового учета (ГФУ). Пользователь исправляет ГФУ в справочнике, заново перепроводит документы, но система упорно продолжает формировать проводки по старым счетам учета. Спасает только полное пересоздание документа, что крайне неудобно при больших объемах данных. Разберем подробнее, почему так происходит и как элегантно решить эту проблему без рутинного переввода документов.

Почему простое перепроведение не помогает?

Проанализируем причину такого поведения системы. В 1С:ERP Группа финансового учета не просто считывается из карточки товара непосредственно в момент формирования бухгалтерской проводки. При первичном проведении документа (например, при поступлении товара на склад) система фиксирует текущую ГФУ в специальной служебной аналитике — в справочнике и скрытой табличной части документа ВидыЗапасов.

Выясним причину внедрения такого механизма: это сделано намеренно для обеспечения целостности партионного учета. Программа жестко «запоминает», по какой ГФУ (и, соответственно, на какой счет учета) был оприходован конкретный товар. Таким образом, если спустя время в карточке номенклатуры кто-то изменит ГФУ, система всё равно будет списывать эту партию товара с первоначального счета. Это защищает учет от возникновения разрывов между счетами прихода и расхода и предотвращает появление зависших остатков (для отслеживания подобных проблемных ситуаций полезно проводить сравнение товаров на складах и товаров организаций для поиска ошибок).

Способ 1. Очистка табличной части "Виды запасов" в документах

Посмотрим на самое прямое и технически грамотное решение проблемы. Раз старая ГФУ зафиксировалась в табличной части ВидыЗапасов, нам необходимо заставить систему перегенерировать эту аналитику.

  1. Откройте проблемный документ через встроенный редактор реквизитов объектов или любую универсальную обработку редактирования документов.
  2. Найдите скрытую табличную часть ВидыЗапасов.
  3. Полностью очистите строки в этой табличной части.
  4. Запишите и проведите документ заново.

В особо тяжких случаях, когда документов много, очистку можно выполнить программно с помощью небольшой внешней обработки. Рассмотрим пример того, как можно программно очистить движения и табличную часть:


Для Каждого ТекДокумент Из МассивПроблемныхДокументов Цикл
    ДокОбъект = ТекДокумент.ПолучитьОбъект();
    // Очищаем табличную часть видов запасов
    ДокОбъект.ВидыЗапасов.Очистить();
    // Записываем и перепроводим документ
    ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
КонецЦикла;

Способ 2. Использование типовых обработок замены значений

Разберем по шагам альтернативный метод, который подойдет пользователям без навыков программирования. Если необходимо массово заменить старый вид запасов на новый (с новой ГФУ), можно воспользоваться стандартным функционалом системы.

  1. Перейдите в раздел администрирования и откройте обработку Поиск и удаление дублей или Групповое изменение реквизитов.
  2. Найдите в системе элемент справочника ВидыЗапасов, который содержит ошибочную ГФУ.
  3. Создайте новый правильный элемент с корректной ГФУ или найдите уже существующий верный.
  4. Через обработку выполните поиск ссылок на старый вид запасов и произведите массовую замену на новый во всех документах текущего периода.
  5. После замены обязательно перепроведите документы.

Важное примечание: В некоторых версиях 1С:ERP логика работы зависит от настройки ФормироватьВидыЗапасовПоГФУ. Если эта настройка выключена, иногда достаточно просто изменить ГФУ внутри самого элемента справочника видов запасов, после чего переотразить документы в регламентированном учете.

Обязательный шаг: Процедура закрытия месяца

Выясним, почему простого перепроведения первичных документов часто бывает недостаточно. В системе 1С:ERP проводки по себестоимости и различным отклонениям формируются не в момент проведения самого первичного документа (особенно при использовании методов расчета по средней за месяц или ФИФО).

Эти проводки генерируются специальным регламентным документом РасчетСебестоимостиТоваров. Поэтому после того, как мы очистили или обновили данные в документах, обязательно нужно выполнить следующие действия:

  1. Перейдите в рабочее место Закрытие месяца.
  2. Отмените ранее выполненные операции по расчету себестоимости.
  3. Запустите расчет себестоимости и формирование движений по партиям заново.
  4. Выполните этап отражения документов в регламентированном учете.

Только после выполнения этих шагов система сформирует актуальные бухгалтерские проводки с использованием обновленных счетов учета, соответствующих новой ГФУ.

Профилактика: Настройка ГФУ по умолчанию

Проанализируем ситуацию на будущее, чтобы избежать повторения подобных инцидентов и расхождений при обмене данными. Ручное указание ГФУ в карточке товара всегда несет риски человеческого фактора. Рекомендуется жестко привязывать Группы финансового учета к справочнику ВидыНоменклатуры.

Настройте матрицу финансового учета таким образом, чтобы при создании новой карточки товара правильная ГФУ подтягивалась автоматически из вида номенклатуры. Это минимизирует количество ошибок на этапе ввода начальных данных, избавит от необходимости переформировывать виды запасов и облегчит выгрузку во внешние системы.

← На главную