Как исправить ошибку «Поле "Подразделение" должно быть пустым!» при переносе из 1С 7.7 в БП 3.0?

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

При переносе данных из 1С:Бухгалтерии 7.7 в 1С:Бухгалтерию предприятия 3.0 специалисты часто сталкиваются с ошибкой записи ручных операций или документов. Сообщение об ошибке выглядит следующим образом:

Ошибка при вызове метода контекста (Записать): Запись не верна! Поле "Подразделение" должно быть пустым! (Регистр бухгалтерии: Журнал проводок (бухгалтерский и налоговый учет))

Рассмотрим подробно причины возникновения этой проблемы и разберем практические способы её устранения.

Выясним причину ошибки

Проанализируем механику работы регистра бухгалтерии в платформе 1С:Предприятие 8. В отличие от версии 7.7, где подразделение могло быть добавлено как обычное субконто (аналитика счета), в 1С:Бухгалтерии 3.0 измерение Подразделение является сквозным измерением регистра бухгалтерии ЖурналПроводокЕПСБНУ.

На техническом уровне платформа контролирует заполнение измерений ПодразделениеДт и ПодразделениеКт. При попытке записать проводку платформа проверяет флаг УчетПоПодразделениям у счетов дебета и кредита в плане счетов Хозрасчетный:

  1. Если у счета признак УчетПоПодразделениям установлен в Истина, запись значения подразделения разрешена.
  2. Если у счета признак УчетПоПодразделениям равен Ложь, платформа требует, чтобы реквизиты ПодразделениеДт или ПодразделениеКт строго содержали значение Неопределено (были пустыми).

Если в выгруженных из 7.7 данных (например, по счету 68.4.1) передается подразделение, а в 1С:Бухгалтерии 3.0 для этого счета учет по подразделениям выключен, система блокирует запись операции с указанной ошибкой.

Ограничения версий 1С:Бухгалтерии (ПРОФ и КОРП)

Попытка вручную включить субконто или настроить учет по подразделениям на счете 68.4.1 в версии ПРОФ приводит к нарушению логики работы регламентных операций закрытия месяца и заполнению налоговой отчетности. В типовой конфигурации Бухгалтерия предприятия ПРОФ учет расчетов с бюджетом и денежных средств в разрезе подразделений не предусмотрен — этот функционал доступен только в версии КОРП.

Способ 1. Программная очистка подразделений при загрузке (Рекомендуемый)

Разберем наиболее эффективное решение: скорректировать обработчик загрузки данных или правила обмена. Нам необходимо принудительно очистить значения измерений ПодразделениеДт и ПодразделениеКт для тех счетов, у которых выключен учет по подразделениям.

В модуле ОбработчикиЗагрузкиИзБухгалтерии77 (или в обработчике правил конвертации ПослеЗагрузки для объекта ОперацияБух) добавим следующий алгоритм:


Если (Корреспонденция.СчетДт = ПланыСчетов.Хозрасчетный.ПустаяСсылка())
    ИЛИ (НЕ Корреспонденция.СчетДт.УчетПоПодразделениям) Тогда
    
    Корреспонденция.ПодразделениеДт = Неопределено;
КонецЕсли;

Если (Корреспонденция.СчетКт = ПланыСчетов.Хозрасчетный.ПустаяСсылка())
    ИЛИ (НЕ Корреспонденция.СчетКт.УчетПоПодразделениям) Тогда
    
    Корреспонденция.ПодразделениеКт = Неопределено;
КонецЕсли;

Этот код проверяет каждый счет проводки. Если счет не поддерживает учет по подразделениям, измерение принудительно сбрасывается в значение Неопределено, что позволяет платформе успешно записать документ.

Способ 2. Использование временного расширения конфигурации

Если вы не хотите менять типовые правила обмена или код конфигурации, можно создать временное расширение для базы 1С:Бухгалтерия 3.0 на период переноса данных.

  1. Создаем расширение конфигурации.
  2. Перехватываем событие ПередЗаписью регистра бухгалтерии ЖурналПроводокЕПСБНУ или документа ОперацияБух.
  3. В цикле по строкам проводки проверяем свойство УчетПоПодразделениям у счетов дебета и кредита.
  4. Если учет по подразделениям не ведется, присваиваем реквизитам ПодразделениеДт и ПодразделениеКт значение Неопределено.
  5. После завершения загрузки всех данных из 7.7 расширение можно отключить и удалить.

Способ 3. Переход на версию КОРП

Если организации действительно необходим полноценный учет налога на прибыль и расчетов с бюджетом по обособленным подразделениям (включая счет 68.4.1), правильным решением будет переход с версии ПРОФ на 1С:Бухгалтерию КОРП. В версии КОРП учет по подразделениям на счетах учета налогов включен штатно, и данные из 7.7 загрузятся без дополнительных доработок кода.

← На главную