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

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

В процессе работы с конфигурацией 1С:Бухгалтерия предприятия 2.0 (БП 2.0) пользователи могут столкнуться с ситуацией, когда на счете 45.01 («Покупные товары отгруженные») по субконто «Номенклатура» не установлен признак Суммовой. Это приводит к тому, что в оборотно-сальдовой ведомости и других отчетах по данному счету отображается только количество товаров, а суммовые показатели отсутствуют. Рассмотрим подробнее, почему это происходит и как исправить ситуацию программным и методическим способами.

Методическая причина: Настройка параметров учета

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

Выясним причину в интерфейсе:

  1. Перейдем в меню Предприятие — Настройка параметров учета.
  2. Откроем закладку Запасы.
  3. Проверим наличие галочки Вести суммовой учет по складам.

Хотя счет 45.01 не имеет субконто «Склады», внутренние механизмы типовой конфигурации могут блокировать изменение признака суммового учета для вида субконто «Номенклатура», если общие параметры учета ТМЦ настроены специфическим образом. В некоторых релизах БП 2.0 это является следствием жесткой логики кода конфигурации, которая «наследует» свойства учета запасов для всех счетов 40-й группы.

Программное решение проблемы

Если интерактивно изменить настройку не удается, мы можем воспользоваться программным методом. Нам необходимо получить объект счета из плана счетов Хозрасчетный, найти в его табличной части нужный вид субконто и установить соответствующий признак.

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


// Получаем ссылку на нужный счет
СчетСсылка = ПланыСчетов.Хозрасчетный.ПокупныеТоварыОтгруженные; // Это счет 45.01

// Получаем объект для редактирования
ОбъектСчета = СчетСсылка.ПолучитьОбъект();

// Определяем вид субконто, который нам нужен (Номенклатура)
НужныйВидСубконто = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура;

// Ищем строку в табличной части "ВидыСубконто"
СтрокаСубконто = ОбъектСчета.ВидыСубконто.Найти(НужныйВидСубконто, "ВидСубконто");

Если СтрокаСубконто <> Неопределено Тогда
    // Устанавливаем признак суммового учета
    СтрокаСубконто.Суммовой = Истина;
    
    // Записываем изменения в план счетов
    ОбъектСчета.Записать();
    Сообщить("Признак 'Суммовой' для счета 45.01 успешно установлен.");
Иначе
    Сообщить("Вид субконто 'Номенклатура' не найден на счете 45.01");
КонецЕсли;

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

Технические нюансы и предопределенные счета

Проанализируем ситуацию с точки зрения платформы. Счет 45.01 является предопределенным. В некоторых случаях платформа 1С может ограничивать изменение состава или свойств субконто предопределенных счетов, если они жестко заданы в Конфигураторе.

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

  1. Временно очистить имя предопределенного узла в коде: ОбъектСчета.ИмяПредопределенныхДанных = "";
  2. Выполнить запись.
  3. Изменить свойства субконто.
  4. Вернуть имя предопределенного узла обратно и снова записать.

Однако в типовой БП 2.0 программное изменение свойства Суммовой обычно проходит успешно без таких радикальных мер.

Действия после изменения плана счетов

Установка флажка в плане счетов — это только половина дела. Проанализируем последствия: простое включение признака не приведет к автоматическому появлению цифр в отчетах за прошлые периоды.

Чтобы данные начали отображаться корректно, необходимо выполнить два критически важных действия:

  1. Пересчет итогов: После изменения структуры регистра бухгалтерии (коим является план счетов с признаками учета) необходимо выполнить полный пересчет итогов. Это можно сделать через режим «Тестирование и исправление информационной базы» или через консоль управления итогами. Без этого Оборотно-сальдовая ведомость может показывать пустые значения сумм при наличии количественных остатков.
  2. Групповое перепроведение документов: Записи в регистр бухгалтерии формируются в момент проведения документов (например, «Реализация товаров и услуг»). Старые проводки по счету 45.01 хранят только количество. Чтобы в регистре появились суммы, документы за нужный период (например, с начала года) необходимо перепровести.

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

← На главную