Как заполнить подразделения в проводках при переходе с 1С:Бухгалтерии 3.0 ПРОФ на КОРП?

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

Переход с версии ПРОФ на КОРП в «1С:Бухгалтерии 8» — это не просто техническое обновление конфигурации, а фундаментальное изменение структуры хранения данных. Основная сложность, с которой сталкиваются специалисты, заключается в том, что в версии ПРОФ учет по подразделениям на счетах бухгалтерского учета практически отсутствует (измерение Подразделение не используется в регистре бухгалтерии), тогда как в КОРП это измерение становится ключевым для большинства счетов. Рассмотрим подробно, как правильно перенести данные и заполнить «пустые» поля в исторических записях.

Почему поле «Подразделение» остается пустым после перехода

Проанализируем ситуацию: в версии ПРОФ справочник Подразделения существует, но он используется преимущественно для кадрового учета и формирования печатных форм. Физически в таблицах базы данных (в регистре бухгалтерии Хозрасчетный) измерения Подразделение в версии ПРОФ нет. При обновлении конфигурации до КОРП это измерение появляется в структуре таблиц, но система не может автоматически определить, какое именно подразделение должно быть проставлено в старых проводках.

Даже если в настройках организации вы укажете «Основное подразделение», это не решит проблему ретроспективно. Программа не «угадывает» данные для прошлых периодов, поэтому после обновления вы увидите пустые субконто в ОСВ и пустые измерения в движениях документов. Выясним, какими методами можно исправить эту ситуацию.

Настройка плана счетов после обновления

Прежде чем приступать к заполнению данных, необходимо убедиться, что функционал КОРП-версии полностью активирован. Разберем по шагам необходимые действия в интерфейсе:

  1. Перейдем в раздел Настройки программы — Параметры учета.
  2. Откроем Настройка плана счетов.
  3. Проверим ссылку Учет по подразделениям. Здесь должен быть включен признак «По подразделениям» на тех счетах, где это необходимо. Обычно в КОРП-версии это не только счета затрат (20, 26, 44), но и балансовые счета, такие как 01, 10, 41, а также счета расчетов 60 и 62.

Использование штатного «Помощника перехода»

В современных релизах конфигурации предусмотрен специализированный Помощник перехода на КОРП. Рассмотрим его возможности. Он предназначен для автоматизации процесса и может предложить заполнить подразделения в остатках на дату перехода. Однако, как показывает практика, для исторических документов за прошлые периоды (если вам нужно сохранить красивую историю учета за год) его возможностей часто бывает недостаточно. В этом случае мы прибегаем к написанию внешней обработки.

Программное заполнение данных: алгоритм решения

Самый надежный способ восстановить аналитику — это групповое заполнение реквизитов документов и их движений. Разберем логику работы такой обработки. Нам необходимо не просто проставить ссылку в документе, но и обновить записи в регистре бухгалтерии.

Важный нюанс: просто перезаписать документ через Записать(РежимЗаписиДокумента.Запись) может быть недостаточно, а Записать(РежимЗаписиДокумента.Проведение) в закрытых периодах крайне нежелательно, так как это может привести к изменению сумм или копеек из-за пересчета логики документа. Поэтому мы будем использовать метод прямой записи набора записей регистра.

Рассмотрим пример кода для обработки документов:


// Пример заполнения подразделения в документе и его движениях
Процедура ЗаполнитьПодразделение(ДокументОбъект, ВыбранноеПодразделение)
    
    // 1. Заполняем реквизит в самом документе, если он там есть
    // В КОРП версии у многих документов появляется реквизит ПодразделениеОрганизации
    Попытка
        ДокументОбъект.ПодразделениеОрганизации = ВыбранноеПодразделение;
        ДокументОбъект.ОбменДанными.Загрузка = Истина; // Чтобы не срабатывали проверки при записи
        ДокументОбъект.Записать(РежимЗаписиДокумента.Запись);
    Исключение
        Сообщить("Не удалось записать документ: " + ДокументОбъект);
    КонецПопытки;

    // 2. Работаем с движениями регистра бухгалтерии
    НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Регистратор.Установить(ДокументОбъект.Ссылка);
    НаборЗаписей.Прочитать();

    Для Каждого Запись Из НаборЗаписей Цикл
        // Проверяем, есть ли у счета признак учета по подразделениям
        Если Запись.СчетДт.УчетПоПодразделениям Тогда
            Запись.ПодразделениеДт = ВыбранноеПодразделение;
        КонецЕсли;
        
        Если Запись.СчетКт.УчетПоПодразделениям Тогда
            Запись.ПодразделениеКт = ВыбранноеПодразделение;
        КонецЕсли;
    КонецЦикла;

    Если НаборЗаписей.Количество() > 0 Тогда
        НаборЗаписей.ОбменДанными.Загрузка = Истина;
        НаборЗаписей.Записать();
    КонецЕсли;

КонецПроцедуры

Почему нельзя ограничиться только проводками?

Проанализируем ситуацию, если мы обновим только РегистрБухгалтерии. В этом случае отчеты (ОСВ, Карточка счета) будут выглядеть корректно. Однако, если пользователь позже откроет документ и перепроведет его вручную, программа снова возьмет данные из реквизитов шапки документа. Если в шапке реквизит Подразделение остался пустым, проводки снова «очистятся». Именно поэтому мы рекомендуем заполнять данные параллельно: и в реквизитах документа, и в его движениях.

Влияние на налоговый учет и закрытие месяца

Посмотрим на ситуацию со стороны регламентированной отчетности. В версии КОРП подразделения играют критическую роль в расчете налога на прибыль. Если организация имеет обособленные подразделения, то декларация по прибыли заполняется в разрезе этих подразделений. Даже если у вас нет филиалов, алгоритмы Закрытия месяца в версии КОРП (особенно в части распределения косвенных расходов) жестко завязаны на аналитику по подразделениям. Пустые значения приведут к тому, что регламентные операции не увидят базу для распределения или не смогут корректно закрыть счета 20, 25, 26.

Специфика счетов расчетов (60, 62)

В КОРП-версии часто включают детализацию расчетов с контрагентами по подразделениям. Это позволяет видеть, какой отдел или филиал «принес» задолженность. При заполнении исторических данных крайне важно соблюдать единообразие: если вы проставили «Головное подразделение» в документе поступления, то и в документе оплаты должно стоять оно же. В противном случае возникнет ситуация, когда по субконто «Контрагенты» и «Договоры» сальдо будет нулевым, а в разрезе подразделений возникнет «разрыв» (дебет на одном подразделении, кредит на другом).

Итоги и рекомендации

Подведем итог нашим действиям для успешного перехода:

  1. Выполните обновление конфигурации до версии КОРП и убедитесь, что в Плане счетов включен учет по подразделениям для нужных счетов.
  2. Создайте в справочнике Подразделения элемент (например, «Администрация» или «Головной офис»), который будет использоваться по умолчанию для старых данных.
  3. Используйте внешнюю обработку для циклического обхода документов за прошлые периоды.
  4. В коде обработки обязательно используйте флаг ОбменДанными.Загрузка = Истина, чтобы избежать лишних проверок и изменения движений по другим регистрам (например, регистрам накопления НДС), которые могли быть изменены вручную.
  5. После программного заполнения обязательно сформируйте Оборотно-сальдовую ведомость с группировкой по подразделениям и убедитесь, что «пустая» аналитика исчезла.

Таким образом, системный подход к заполнению данных позволит вам плавно перейти на расширенный функционал версии КОРП, сохранив при этом целостность бухгалтерского и налогового учета.

← На главную