Как добавить учет по подразделениям на счета 50 и 51 в 1С:Бухгалтерия 3.0?

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

В практической работе бухгалтера и финансового аналитика часто возникает необходимость видеть движение денежных средств не только в разрезе статей движения (ДДС) или банковских счетов, но и по конкретным обособленным подразделениям или филиалам. Особенно остро этот вопрос встает, когда руководство или главный бухгалтер требуют предоставить оборотно-сальдовую ведомость (ОСВ) по счетам 50.01 («Касса организации») или 51 («Расчетные счета») с детализацией по подразделениям.

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

Почему ручное добавление субконто в версии ПРОФ — это тупик?

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

  1. Проблема проведения документов. План счетов — это лишь структура хранения данных. Сами данные туда записывают документы (такие как ПоступлениеНаРасчетныйСчет, СписаниеСРасчетногоСчета, ПриходныйКассовыйОрдер, РасходныйКассовыйОрдер). В версии ПРОФ на экранных формах этих документов просто нет полей для выбора подразделения применительно к денежным счетам. Но самое главное — в программных модулях проведения (в процедурах обработчиков проведения документов) полностью отсутствует алгоритм, который бы считывал это подразделение и записывал его в субконто регистра бухгалтерии Хозрасчетный. Соответственно, даже после добавления субконто в Конфигураторе, при проведении документов оно будет оставаться пустым.
  2. Сложности с обновлением. При первом же автоматическом обновлении конфигурации измененный план счетов вступит в конфликт с обновлением из шаблона. Вам придется постоянно использовать ручное объединение конфигураций, сопоставлять объекты метаданных и контролировать, чтобы типовой релиз не затер ваши изменения. Одно неверное действие при обновлении — и вся накопленная аналитика по субконто будет безвозвратно удалена.
  3. Программные блокировки платформы. Разработчики фирмы «1С» заблокировали редактирование субконто на некоторых счетах на уровне программного кода. Это сделано для защиты целостности данных. Попытка обойти эту блокировку программным путем может нарушить работу встроенных механизмов закрытия месяца и формирования регламентированной отчетности.

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

Решение №1: Использование возможностей программного продукта «БИТ.ФИНАНС»

Если в вашей организации установлена связка «1С:Бухгалтерия 3.0 ПРОФ» + «БИТ.ФИНАНС», вам вообще нет необходимости вносить изменения в план счетов регламентированного учета. Программа «БИТ.ФИНАНС» изначально спроектирована для ведения сложного управленческого учета и бюджетирования параллельно с бухгалтерским.

Давайте разберем по шагам, как организовать этот учет правильно:

Таким образом, финансовая служба получает идеальную отчетность по движению денег в разрезе подразделений (через отчеты «БИТ.ФИНАНС»), а бухгалтерский учет остается полностью типовым и обновляется без проблем.

Решение №2: Переход на версию «1С:Бухгалтерия КОРП»

Если для вашей компании критически важно видеть подразделения именно на бухгалтерских счетах 50 и 51 в стандартной оборотно-сальдовой ведомости, единственным правильным решением будет переход на версию 1С:Бухгалтерия КОРП.

В версии КОРП учет по подразделениям реализован на уровне платформы для всех счетов учета. Для этого в плане счетов предусмотрен специальный признак (флажок) «Учет по подразделениям». В кассовых и банковских документах появляются штатные поля для выбора подразделений (как головной организации, так и обособленных филиалов), а алгоритмы проведения автоматически заполняют эти разрезы в регистре бухгалтерии. Для анализа таких данных подойдёт внешний отчет по движению денежных средств в разрезе подразделений.

Важное методологическое предупреждение! Перед переходом на КОРП проанализируйте бизнес-процессы компании. Если у вас один расчетный счет, но платежи совершаются централизованно в интересах разных подразделений, вы неизбежно столкнетесь с проблемой «красноты» в ОСВ по счету 51. Например, если деньги поступили на «Головное подразделение», а списаны на «Филиал Запад», то в разрезе подразделений на счете 51 возникнет перекос (плюс по одному подразделению и минус по другому), хотя общий остаток по счету будет верным. Для исправления таких ситуаций в КОРП приходится использовать внутренние расчеты (счет 79) или делать регулярные корректировки аналитики.

Решение №3: Обходные пути в версии ПРОФ без программирования

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

Вариант А: Разделение через справочники «Банковские счета» и «Кассы»

Если количество обособленных подразделений невелико, и за каждым из них фактически закреплен свой банковский счет или своя кассовая книга, то задача решается сама собой. Справочники Банковские счета и Кассы являются первыми субконто для счетов 51 и 50 соответственно. Вам достаточно переименовать эти элементы, явно указав принадлежность к подразделению:

В этом случае любая стандартная ОСВ по счетам 50 или 51 сразу покажет остатки и обороты в разрезе нужных вам филиалов.

Вариант Б: Использование механизма дополнительных реквизитов

В платформу 1С v8.3 встроен мощный механизм создания произвольных свойств объектов без изменения конфигурации. Мы можем привязать подразделение в качестве дополнительного реквизита к банковским счетам или договорам контрагентов.

Выполним следующие шаги:

  1. Перейдем в раздел Администрирование — Общие настройки — Дополнительные реквизиты и сведения.
  2. Найдем в списке справочник Банковские счета и добавим новый дополнительный реквизит с наименованием «Подразделение-владелец» (тип значения — справочник Подразделения).
  3. Заполним этот реквизит в карточках всех расчетных счетов.

Теперь при формировании стандартных отчетов (например, «Анализ субконто» или «Обороты счета» по счету 51) мы можем зайти в настройки отчета, на вкладку Группировка, добавить поле БанковскийСчет.Подразделение-владелец и получить детальный отчет в разрезе подразделений. Конфигурация при этом остается полностью типовой!

Решение №4: Технический путь через Расширение конфигурации

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

Давайте проанализируем схему реализации такого расширения:

  1. Создаем новое расширение конфигурации в режиме Конфигуратора.
  2. Заимствуем в расширение план счетов Хозрасчетный, а также документы ПоступлениеНаРасчетныйСчет и СписаниеСРасчетногоСчет.
  3. В расширении программным кодом (например, в модуле управления планом счетов при начале работы системы) добавляем вид субконто Подразделения на нужные счета.
  4. Добавляем реквизит Подразделение на форму документов и заимствуем процедуру проведения документов для изменения движений по регистру бухгалтерии.

Пример программного переопределения движений в расширении для документа списания денежных средств:


&После("ЗаполнитьДвижения")
Процедура Расш_ЗаполнитьДвижения(ДокументОбъект, Отказ)
    
    // Проверим, созданы ли движения по регистру Хозрасчетный
    Если ЭтотОбъект.Движения.Хозрасчетный.Количество() = 0 Тогда
        Возврат;
    КонецЕсли;
    
    // Проанализируем сформированные проводки и заполним субконто
    Для Каждого Проводка Из ЭтотОбъект.Движения.Хозрасчетный Цикл
        
        // Если счет Кредита - 51 (наш расчетный счет)
        Если Проводка.СчетКр = ПланыСчетов.Хозрасчетный.РасчетныеСчета Тогда
            
            // Запишем подразделение в добавленный разрез аналитики
            ВидСубкПодразделения = ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Подразделения;
            Проводка.СубконтоКр[ВидСубкПодразделения] = ЭтотОбъект.ПодразделениеОрганизации;
            
        КонецЕсли;
        
    КонецЦикла;

КонецПроцедуры

Использование расширения защитит вашу информационную базу от проблем с автоматическим обновлением, однако требует высокой квалификации разработчика для контроля работоспособности кода при изменении типовых механизмов проведения «1С» в новых релизах.

Резюме и рекомендации

Подводя итог нашему анализу, дадим четкие рекомендации по выбору решения:

← На главную