Как удалить вторую организацию в базовой версии «1С:Бухгалтерия 8.3», если она заблокировала работу?

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

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

В этой статье мы подробно разберем, почему возникает эта проблема, и рассмотрим несколько эффективных способов её решения — как для программистов (с написанием кода), так и для обычных пользователей (штатными инструментами «1С» без изменения конфигурации).

Выясним первопричину: почему при обмене создается дубль организации?

При обмене данными между конфигурациями (например, «1С:ЗУП» и «1С:Бухгалтерия») система сопоставляет объекты по ключевым полям. Для справочника Организации такими полями являются:

  1. Уникальный идентификатор объекта (GUID).
  2. Реквизиты ИНН и КПП.
  3. Наименование организации.

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

Проанализируем доступные методы исправления этой ситуации.

Решение 1. Использование механизма «ОбменДанными.Загрузка = Истина» (через внешнюю обработку)

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

Суть метода заключается в использовании специального свойства объекта — ОбменДанными.Загрузка. Если установить его в значение Истина перед записью объекта в базу данных, система отключит выполнение стандартных проверок платформы (включая проверку базовой версии на количество организаций) и позволит безболезненно установить пометку удаления.

Для реализации этого метода напишем следующий код в модуле внешней обработки:


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

После выполнения данного кода лишняя организация успешно пометится на удаление. После этого мы можем перейти в раздел Администрирование — Обслуживание — Удаление помеченных объектов и полностью очистить базу от некорректной записи.

Решение 2. Штатное «Групповое изменение реквизитов» (для обычных пользователей)

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

Разберем по шагам последовательность действий:

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

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

Решение 3. Инструмент «Поиск и удаление дублей»

Если лишняя организация создалась с теми же реквизитами ИНН и КПП, программа считает их полными дубликатами. В этом случае мы можем воспользоваться встроенным поиском дублей:

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

Решение 4. Разделение баз при переходе с версии ПРОФ (Танцы с бубном)

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

  1. В исходной базе версии ПРОФ настроим РИБ с фильтрацией по конкретной организации.
  2. Выполним синхронизацию и создадим периферийную базу, куда перенесутся данные только по одной организации.
  3. Отключим созданную периферийную базу от главного узла РИБ, сделав ее самостоятельной. Это можно выполнить с помощью программного кода или сторонних обработок, сбросив признак подчиненности узла.
  4. Выполним даунгрейд конфигурации до базовой версии:
    • В Конфигураторе базы перейдем в меню Конфигурация — Поддержка — Настройка поддержки и отключим возможность изменения конфигурации.
    • Через меню Конфигурация — Загрузить конфигурацию из файла выберем чистый файл конфигурации базовой версии (расширение .cf) того же релиза.
    • Обновим базу данных. Теперь у нас есть лицензионная базовая версия, содержащая ровно одну организацию.

Как предотвратить появление дублей организаций при будущих обменах?

Чтобы избежать повторения этой неприятной ситуации, придерживайтесь двух простых правил:

← На главную