Как получить обороты счета по подразделениям в 1С:Комплексная автоматизация 1.1

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

При переходе с современных конфигураций вроде КА 2.4 или ERP 2.0 на более старые версии, такие как 1С:Комплексная автоматизация 1.1 (построенная на базе УПП 1.3), специалисты часто сталкиваются с проблемой отсутствия привычного разреза по подразделениям в бухгалтерских отчетах. В этой статье мы разберем, почему в КА 1.1 подразделения не отображаются по умолчанию во всех счетах, и рассмотрим несколько способов решения этой задачи: от изменения настроек до использования аналитики документов.

Архитектурные особенности учета по подразделениям в КА 1.1

Прежде всего, проанализируем ситуацию и выясним причину отличий. В современных версиях 1С (начиная с 2.0) подразделение является обязательным измерением регистра бухгалтерии, которое «пронизывает» все проводки. В 1С:КА 1.1 архитектура иная. Здесь учет по подразделениям может быть реализован тремя способами:

  1. Как измерение регистра бухгалтерии (общий разрез для всего плана счетов, если включена соответствующая опция).
  2. Как субконто (на конкретных счетах затрат, например, 20, 25, 26).
  3. Как реквизит документа (подразделение указано в шапке документа, но не попадает в проводку, если на счете не включен учет по подразделениям).

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

Способ 1. Проверка глобальных настроек и признаков учета в плане счетов

Если нам необходимо видеть обороты в стандартных отчетах (Оборотно-сальдовая ведомость по счету, Анализ счета), первым делом проверим настройки учетной политики и плана счетов. Разберем по шагам:

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

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

Способ 2. Получение данных через «Универсальный отчет»

Если мы не хотим вносить изменения в план счетов, попробуем воспользоваться мощным инструментом — «Универсальным отчетом». Он позволяет работать напрямую с регистрами, обходя ограничения стандартных бухгалтерских форм.

Выполним следующие действия:

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

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

Способ 3. Использование аналитики регистратора

Часто бывает так, что в самой проводке подразделения нет, но в документе (например, «Реализация товаров и услуг» или «Поступление товаров и услуг»), который породил эту проводку, подразделение заполнено в шапке. Мы можем «дотянуться» до этого реквизита через поле Регистратор.

Рассмотрим, как это сделать в стандартной ОСВ по счету:

  1. Откроем настройки отчета.
  2. Перейдем на вкладку «Дополнительные поля».
  3. Нажмем «Добавить» и в дереве выбора полей найдем путь: Регистратор -> Подразделение (или ПодразделениеОрганизации).
  4. Разместим это поле «В отдельной колонке».

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

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

Если стандартных средств недостаточно и стоит задача программно собрать отчет, нам придется определять правила получения подразделения для каждого счета индивидуально. Как справедливо замечено в обсуждении, для счета 10 это может быть подразделение склада, а для счета 70 — подразделение сотрудника.

Посмотрим на пример логики, которую можно реализовать в консоли отчетов или внешней обработке:


// Пример логики определения подразделения для разных счетов
Если Счет = ПланыСчетов.Хозрасчетный.Материалы Тогда
    // Берем подразделение из склада, указанного в субконто
    Подразделение = Субконто1.Склад.Подразделение;
ИначеЕсли Счет = ПланыСчетов.Хозрасчетный.РасчетыСПерсоналомПоОплатеТруда Тогда
    // Берем подразделение из данных сотрудника
    Подразделение = Субконто1.Подразделение;
КонецЕсли;

Такой подход требует написания запроса к виртуальным таблицам Обороты или ДвиженияССубконто, где в качестве полей выбора будут выступать реквизиты объектов, хранящихся в субконто.

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

Выясним, какой путь наиболее эффективен в вашей ситуации:

Помните, что КА 1.1 — система с жесткой структурой, и попытка сделать её похожей на КА 2.4 без изменения метаданных всегда будет иметь ограничения в части группировок и итогов по неиндексированным полям.

← На главную