Как в 1С:УНФ 3.0 перейти от учета по одной компании к учету по нескольким организациям?

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

В практике автоматизации на базе 1С:Управление нашей фирмой 3.0 часто встречается ситуация, когда бизнес начинает свой путь как небольшая компания с одной организацией. В этом случае в настройках устанавливается флаг «Учет по компании в целом». Это упрощает интерфейс и автоматизирует заполнение реквизитов. Однако со временем структура бизнеса усложняется, появляются новые юридические лица, и возникает необходимость видеть раздельный «Анализ бизнеса» по каждой организации.

Проблема заключается в том, что система 1С официально не поддерживает простой переход в обратную сторону. Если учет велся «по компании в целом», то все движения в регистрах уже зафиксированы на одну предопределенную организацию. Разберем, как сделать «невозможное возможным» и корректно разделить учет, сохранив исторические данные.

Анализ причин системного ограничения

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

  1. Отчет «Анализ бизнеса» продолжит выводить данные в одну «кучу», так как он опирается на измерения регистров.
  2. Механизмы Intercompany (передачи между организациями) не смогут корректно подхватить остатки, числящиеся на «старой» компании.
  3. Документы Закрытия месяца, сформированные до перехода, будут некорректны с точки зрения новой структуры.

Шаг 1: Подготовка и изменение констант

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

  1. Создаем полную копию базы (особенно актуально для облачных версий, где эксперименты на «живых» данных недопустимы).
  2. В настройках параметров учета находим раздел «Организации».
  3. Снимаем флаг «Учет по компании в целом». В этот момент система может выдать предупреждение, но технически флаг будет снят.
  4. Создаем новые элементы в справочнике Организации, соответствующие реальным юридическим лицам.

После этого новые документы уже можно будет вводить от разных лиц, но старые данные все еще «висят» на общей компании. Переходим к самому сложному — корректировке истории.

Шаг 2: Программная корректировка регистров

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


// Пример упрощенной логики обхода регистров
Для Каждого Регистр Из Метаданные.РегистрыНакопления Цикл
    // Проверяем наличие измерения Организация
    Если Регистр.Измерения.Найти("Организация") <> Неопределено Тогда
        // Выбираем записи, где установлена старая "Компания"
        Запрос = Новый Запрос;
        Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ Регистратор ИЗ РегистрНакопления." + Регистр.Имя + " ГДЕ Организация = &СтараяОрганизация";
        Запрос.УстановитьПараметр("СтараяОрганизация", СтараяОрганизация);
        
        Выборка = Запрос.Выполнить().Выбрать();
        Пока Выборка.Следующий() Цикл
            // Перезаписываем набор записей в режиме обмена данными
            Набор = РегистрыНакопления[Регистр.Имя].СоздатьНаборЗаписей();
            Набор.Отбор.Регистратор.Установить(Выборка.Регистратор);
            Набор.Прочитать();
            
            Для Каждого Запись Из Набор Цикл
                // Берем организацию из самого документа
                Запись.Организация = Выборка.Регистратор.Организация;
            КонецЦикла;
            
            Набор.ОбменДанными.Загрузка = Истина;
            Набор.Записать();
        КонецЦикла;
    КонецЕсли;
КонецЦикла;

Важный момент: Мы используем свойство ОбменДанными.Загрузка = Истина. Это критически важно, так как позволяет избежать запуска стандартных проверок и обработчиков при записи, что ускоряет процесс и предотвращает блокировки логикой конфигурации.

Шаг 3: Обработка исключений и «подводных камней»

Проанализируем ситуацию, с которой столкнулись пользователи на практике. Даже после массовой перезаписи регистров некоторые данные могут остаться некорректными. Выясним причину:

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

Шаг 4: Настройка Intercompany и остатков

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

Проанализируем два пути решения:

Особенности работы в облаке (1С:Фреш и аналоги)

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

Итоги и проверка результата

После завершения всех манипуляций обязательно выполните следующие действия:

  1. Перепроведите документы «Закрытие месяца» за все периоды, подвергшиеся корректировке. Это обновит финансовый результат в разрезе новых организаций.
  2. Сформируйте отчет «Анализ бизнеса». Теперь в группировках должна появиться возможность выбрать измерение Организация.
  3. Проверьте регистр «Финансовый результат» — именно он является «сердцем» управленческой отчетности в УНФ.

Таким образом, переход с одной организации на несколько в 1С:УНФ 3.0 вполне возможен программным путем. Главное — обеспечить идентичность данных в документах-регистраторах и их движениях в регистрах накопления, а также уделить особое внимание документам финансового закрытия.

← На главную