Как изменить вид организации, если она стала обособленным подразделением после синхронизации 1С:БП и 1С:ЗУП

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

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

В этой статье мы подробно разберем, почему возникает этот неприятный сбой, как обойти жесткие блокировки платформы и вернуть организации статус юридического лица, а также выясним, что делать с внезапно выросшим размером базы данных и загадочным файлом $NEW$ в рабочей папке.

Раздел 1. Почему организация стала обособленным подразделением? Выясняем причины

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

Проанализируем основные предпосылки возникновения этой ошибки:

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

Раздел 2. Как исправить вид организации через групповое изменение реквизитов

Многие пользователи пробуют исправить ситуацию "в лоб" с помощью встроенной обработки Групповое изменение реквизитов, но сталкиваются с тем, что программа игнорирует изменения. Это происходит потому, что при обычной записи элемента срабатывает внутренняя бизнес-логика конфигурации. База БП видит заполненное поле Головная организация и жестко блокирует попытку снять флаг обособленного подразделения, считая это нарушением целостности данных.

Рассмотрим, как обойти эту проверку и принудительно очистить системные поля по шагам:

  1. Создание резервной копии. Перед выполнением любых низкоуровневых операций обязательно создайте резервную копию вашей информационной базы!
  2. Открытие обработки. Перейдем в Главное меню (три полоски в левом верхнем углу) — Функции для технического специалиста (в старых релизах — Все функции). Если данный пункт скрыт, включим его: Главное меню — Настройки — Параметры — установить галочку Отображать команду "Функции для технического специалиста". Находим в списке обработок Групповое изменение реквизитов.
  3. Настройка отбора. В поле Изменять: выберем справочник Организации. Нажмем на ссылку Все элементы рядом и добавим условие отбора: Ссылка Равно [Ваша пострадавшая организация]. Это критически важно, чтобы случайно не изменить данные других юридических лиц в базе.
  4. Активация режима разработчика. Нажмем на кнопку Дополнительные параметры в самом низу формы обработки. В открывшемся окне перейдем на вкладку Специальные возможности и установим флажки "Режим разработчика", "Показывать служебные реквизиты" и, если доступно, "Отключать проверки при записи". Нажмем ОК.
  5. Изменение реквизитов. Теперь в списке реквизитов нам доступны скрытые системные поля. Найдем строку "Головная организация" и в колонке "Новое значение" выберем действие Очистить (оставим поле абсолютно пустым). Найдем строку "Обособленное подразделение" (или "Вид организации") и установим для нее значение Ложь (снимем флажок).
  6. Выполнение. Нажмем кнопку Изменить реквизиты. В режиме разработчика платформа запишет изменения напрямую в базу данных в обход стандартных экранных проверок. Вид организации вернется к стандартному юридическому лицу.

Раздел 3. Программный способ исправления (для программистов)

Если групповая обработка по каким-то причинам не справилась с задачей, мы можем прибегнуть к программной перезаписи объекта. Для этого воспользуемся внешней обработкой "Групповой запуск кода" или встроенным конфигуратором. Нам необходимо отключить выполнение бизнес-логики при записи с помощью свойства ОбменДанными.Загрузка.

Проанализируем следующий пример программного кода:


// Выбираем нужную организацию по ИНН
ОрганизацияСсылка = Справочники.Организации.НайтиПоРеквизиту("ИНН", "7701020304");

Если Не ОрганизацияСсылка.Пустая() Тогда
    // Получаем объект для редактирования
    ОрганизацияОбъект = ОрганизацияСсылка.ПолучитьОбъект();
    
    // Сбрасываем привязку к головной организации
    ОрганизацияОбъект.ГоловнаяОрганизация = Справочники.Организации.ПустаяСсылка();
    
    // Отключаем признак обособленного подразделения
    ОрганизацияОбъект.ОбособленноеПодразделение = Ложь;
    
    // Включаем режим обмена данными, чтобы обойти стандартные проверки транзакции
    ОрганизацияОбъект.ОбменДанными.Загрузка = Истина;
    
    // Записываем изменения в базу
    ОрганизацияОбъект.Записать();
    
    Сообщить("Вид организации успешно восстановлен программным путем!");КонецЕсли;

Этот простой скрипт гарантированно очистит заблокированные реквизиты карточки организации, вернув ей стандартный вид.

Раздел 4. Как настроить синхронизацию в ЗУП, чтобы избежать повторного сбоя

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

Выполним следующие действия:

  1. Откроем базу 1С:Зарплата и управление персоналом.
  2. Перейдем в раздел Администрирование — Синхронизация данных — Настройки синхронизации.
  3. Откроем параметры нашего обмена с Бухгалтерией и перейдем по кнопке Настроить правила отправки данных.
  4. Обратим внимание на переключатель состава отправляемых данных. Вместо значения по умолчанию По всем организациям, установим переключатель в положение "Только по выбранным организациям".
  5. В появившемся списке отметим галочкой только нашу головную организацию. Это исключит случайную выгрузку некорректных признаков подразделений и защитит базу БП от повторного искажения структуры.

Раздел 5. Откуда взялся файл $NEW$ и почему база выросла на 800 МБ?

После проведения масштабных процедур синхронизации и исправления ошибок пользователи часто замечают, что в каталоге с базой данных (для файлового варианта работы) появляется огромный файл с расширением вида _$NEW$_.1CD, а свободное место на диске резко сокращается.

Разберем природу этого явления. Файл _$NEW$_.1CD представляет собой временную копию базы данных, создаваемую платформой 1С:Предприятие 8.3 при выполнении сложных транзакций, реструктуризации таблиц или тестировании физической целостности (например, при работе утилиты chdbfl.exe).

Если этот файл остался на диске после закрытия программы, это свидетельствует о следующем:

Как безопасно вернуть дисковое пространство:

  1. Полностью завершите работу всех пользователей в информационной базе 1С.
  2. Перейдите в каталог хранения вашей файловой базы данных через проводник Windows.
  3. Убедитесь, что файлы блокировок (с расширением *.1cl) отсутствуют.
  4. Найдите файл _$NEW$_.1CD и смело удалите его вручную. Это освободит занятые мегабайты на жестком диске.
  5. После удаления временного файла откройте базу в режиме Конфигуратор, перейдите в меню Администрирование — Тестирование и исправление и запустите проверку логической и ссылочной целостности базы данных, чтобы исключить скрытые ошибки транзакций.

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

← На главную