Как отключить партионный учет в 1С:Бухгалтерия 2.0 и устранить ошибку на счете 10.21

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

В процессе работы со старыми базами «1С:Бухгалтерия предприятия 2.0» пользователи и технические специалисты часто сталкиваются с необходимостью изменения глобальных настроек учета. Одной из таких задач является отключение партионного учета (который в кулуарах иногда ошибочно называют «порционным»). Однако попытка просто снять соответствующий флаг в настройках параметров учета нередко приводит к критической ошибке: Ошибка при вызове метода контекста (Записать): Недопустимое изменение предопределенного счета. Особенно часто эта проблема проявляется на счете 10.21.

В данной статье мы подробно разберем, почему возникает эта ошибка, как она связана с современными требованиями законодательства (ФСБУ 5/2019) и какими методами можно решить задачу, сохранив целостность данных.

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

Для начала проанализируем ситуацию с технической точки зрения. В конфигурации «Бухгалтерия предприятия 2.0» (даже если она находится на ограниченной поддержке) были внесены изменения для соответствия ФСБУ 5/2019 «Запасы». Одним из нововведений стало появление счета 10.21 «Малоценное оборудование и запасы». Этот счет является предопределенным и имеет жестко заданную структуру субконто.

Когда мы заходим в меню Настройка параметров учета -> Запасы и пытаемся снять флаг «Ведется учет по партиям (документам поступления)», система инициирует программный цикл по всем счетам плана счетов. Цель этого цикла — удалить субконто Партии там, где оно больше не требуется. Ошибка в строке 207 формы НастройкаПараметровУчета возникает из-за того, что метод Записать() пытается изменить состав субконто у счета 10.21, для которого в метаданных конфигурации установлен запрет на редактирование списка субконто пользователем или программно через стандартные механизмы.

Рассмотрим фрагмент кода, который обычно вызывает затруднения (примерная логика работы системы):


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

Проанализируем связь с учетной политикой

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

Разберем важные условия:

  1. Если в учетной политике организации хотя бы за один период (текущий, прошлый или будущий) установлен метод «По ФИФО», система не позволит отключить партионный учет. Программа выдаст логическое предупреждение или, в худшем случае, ту самую ошибку при записи.
  2. Для отключения партионного учета необходимо, чтобы во всех актуальных записях регистра сведений УчетнаяПолитика стоял метод оценки «По средней».

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

Почему не рекомендуется отключать партионный учет (ФСБУ и прослеживаемость)

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

Пошаговое решение проблемы «Недопустимое изменение предопределенного счета»

Если решение об отключении принято окончательно и осознанно (например, для тестовых целей в копии), выполним следующие шаги:

Шаг 1: Проверка метода оценки МПЗ
Зайдем в меню Предприятие -> Учетная политика -> Учетная политика организаций. Проверим каждую запись. Убедимся, что везде установлен способ «По средней». Если где-то указано «По ФИФО», изменим на «По средней» и запишем изменения.

Шаг 2: Использование отладчика для локализации проблемы
Если вы обладаете навыками программирования, необходимо запустить базу в режиме «Конфигуратор», найти форму НастройкаПараметровУчета и установить точку останова на строке 207 (или там, где вызывается метод Записать() для счета). Это позволит увидеть, на каком именно счете «спотыкается» система. Чаще всего это счета 10.21.1, 10.21.2 или счета ГТД.

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


// Пример фрагмента кода для внешней обработки
НаборКонстант = Константы.СоздатьНабор();
НаборКонстант.ИспользоватьПартионныйУчет = Ложь;
Попытка
    НаборКонстант.Записать();
    Сообщить("Флаг партионного учета успешно снят в константах.");
Исключение
    Сообщить("Ошибка записи константы: " + ОписаниеОшибки());
КонецПопытки;

Важно: Прямое изменение константы не удалит субконто из плана счетов. Это позволит «обмануть» форму настроек, но может создать несоответствие между настройками и реальной структурой счетов. Поэтому после изменения константы может потребоваться ручная корректировка плана счетов (удаление субконто «Партии» только с тех счетов, где это разрешено).

Разберем ситуацию с «Порционным учетом»

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

Выводы

Подведем итог нашему анализу:

  1. Ошибка записи предопределенного счета 10.21 в БП 2.0 при отключении партий — это следствие «наслоения» новых стандартов ФСБУ на старую архитектуру программы.
  2. Рекомендуемое решение: Не отключать партионный учет вообще. Если бухгалтеры жалуются на сложность ввода, лучше настроить автоматический подбор партий в документах. Это сохранит аналитику для налоговой и исключит программные сбои.
  3. Если отключение критично — выполняйте его только через предварительное изменение учетной политики на «По средней» и, при необходимости, используйте внешние обработки для прямой правки констант, минуя стандартную форму настроек с ее проверками.

Помните, что любая работа с планом счетов в закрытых периодах — это высокая ответственность. Всегда проверяйте результат через отчет «Оборотно-сальдовая ведомость» до и после внесения изменений.

← На главную