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