Как изменить список доступных счетов затрат в документе «Отчет производства за смену»

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

В типовой конфигурации 1С:Бухгалтерия 8 (редакция 3.0) при заполнении документа Отчет производства за смену пользователи часто сталкиваются с ограничением: в поле «Счет затрат» программа позволяет выбрать только счета 20.01 «Основное производство» или 23 «Вспомогательные производства». Однако производственные процессы на предприятиях бывают специфичными, и бухгалтерии может потребоваться указать, например, счет 29 «Обслуживающие производства и хозяйства» или даже 26 «Общехозяйственные расходы» (несмотря на методологические ограничения стандарта ФСБУ 5/2019).

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

Выясняем причину ограничения: программный код формы

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


// Включим предопределенные счета и их субсчета
УчетПроизводства.ОграничитьВыборСчетамиПрямыхРасходов(Элементы.СчетЗатрат);

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

В расширении следует создать обработчик-последователь (&После) для процедуры ПриСозданииНаСервере и попытаться либо отменить фильтр, либо переопределить его. Если же вы работаете в копии базы для тестов или конфигурация уже снята с поддержки, простое комментирование этой строки — первый шаг к решению задачи.

Настройка параметров выбора в метаданных

Часто одного изменения кода в форме недостаточно. Даже после удаления программного фильтра пользователь может увидеть пустой список или все те же счета 20 и 23. Это происходит потому, что ограничения могут быть заданы на уровне свойств самого реквизита в дереве метаданных. Проанализируем реквизит СчетЗатрат в объекте Документ.ОтчетПроизводстваЗаСмену.

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

  1. Найдите реквизит СчетЗатрат в метаданных документа (или в расширении).
  2. Откройте свойство Параметры выбора.
  3. Проверьте наличие условия Отбор.Ссылка. Обычно там указано: В Иерархии (Счета 20, 23).
  4. Добавьте в этот список необходимые вам счета (например, 29 или 25).
  5. Если вы хотите полностью убрать ограничения, очистите это свойство, но помните, что это позволит пользователям выбирать счета, абсолютно не предназначенные для учета производства (например, 50 или 60), что приведет к ошибкам.

Особенности работы со счетом 29 и функциональные опции

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

В системе существует настройка «Параметры учета», которая управляет видимостью функционала для обслуживающих производств. Если в разделе «Главное» — «Функциональность» на закладке «Производство» не установлена галочка «Обслуживающие производства», система может блокировать использование счета 29 на уровне прав доступа или программных проверок в общих модулях. Проверьте эту настройку перед тем, как приступать к доработке кода.

Проблема сброса счета при копировании документа

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

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

Методологические риски и ФСБУ 5/2019

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

  1. Закрытие месяца: Алгоритмы регламентной операции «Закрытие счетов 20, 23, 25, 26» жестко запрограммированы на распределение затрат. Согласно ФСБУ 5/2019, счет 26 теперь относится к расходам периода и списывается целиком на счет 90.08.
  2. Расчет себестоимости: Если вы укажете счет 26 в документе выпуска, программа может не найти базу для распределения или вовсе проигнорировать этот выпуск, так как она не ожидает увидеть аналитику производства на 26 счете.
  3. Налоговый учет: Прямые и косвенные расходы в налоговой декларации могут распределиться некорректно, что вызовет вопросы у контролирующих органов.

Если заказчику необходимо отражать затраты, которые являются общими для нескольких видов продукции, мы рекомендуем использовать счет 25 «Общепроизводственные расходы». Он методологически предназначен для распределения на счет 20 и технически гораздо проще интегрируется в документы выпуска, чем управленческий 26 счет.

Резюме по шагам реализации

Подведем итог. Чтобы изменить список доступных счетов затрат, выполните следующие действия:

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

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

← На главную