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