Статья оборотов в 1с это

Обновлено: 08.07.2024

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

1. ПОДСИСТЕМА «БЮДЖЕТИРОВАНИЕ» В 1С:УПП

1.1. Основные элементы подсистемы «Бюджетирование»

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

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

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

  • сценарий планирования;
  • статья оборотов;
  • валюта операции;
  • центр финансовой ответственности (ЦФО);
  • проект;
  • контрагент;
  • номенклатура.

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

В сценарии определяются следующие параметры:

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

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

  • признаки ведения учета по сумме и по количеству;
  • признаки ведения оборотов по номенклатуре и контрагентам;
  • источники получения фактических данных (указание связи между статьей оборотов и реквизитами управленческого и бухгалтерского учета, что необходимо для автоматического сопоставления плановых и фактических показателей) и др.

Статья оборота бюджетной операции соответствует сочетанию счета дебета и счета кредита счетов бюджетирования или совокупности таких сочетаний, которые устанавливаются в свойствах статьи оборота.

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

Справочник Статьи оборотов по бюджетам имеет иерархическую структуру. В нем можно вводить группы, например, Доходы и Расходы.

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

План счетов бюджетирования напоминает упрощенный план счетов бухгалтерского учета. Фрагменты плана счетов бюджетирования, принятого в типовой конфигурации 1С:УПП приведены в табл. 1.1. Жирным шрифтом выделены те счета, которые в дальнейшем будут использоваться в рассматриваемых ниже примерах.

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

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

Для хранения списка бюджетов, которые составляются в организации, предназначен справочник «Бюджеты» (раздел «Бюджетирование»).


Для каждого бюджета указывается краткое и полное наименование, тип бюджета:

БДР - бюджет доходов и расходов,

БДДС - бюджет движения денежных средств,

Прочие - прочие бюджеты.

Для каждого бюджета задается свой набор статей оборотов, в разрезе которых составляется бюджет и формируются отчеты.

В табличной части «Статьи бюджета» из справочника «Статьи оборотов» подбираются необходимые статьи оборотов. Для заполнения списка статей оборотов можно воспользоваться кнопкой «Подбор» .


Наименование статьи бюджета по умолчанию совпадает с наименованием статьи оборотов, но его можно изменить. Статьи бюджета могут иметь иерархическую структуру.

По кнопке «Заполнить» в табличной части можно автоматически заполнить элементы и группы на основании справочника «Статьи оборотов» .

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

Флаг «Не отображать» устанавливается для статей, которые не должны отображаться в отчетах по бюджету: «Отчет по бюджету» и «План-фактный анализ по бюджету».

Флаг «Не включать в итоги» устанавливается для статей, которые должны отображаться в отчете, но не должны учитываться в итогах по группе статей. Как правило это необходимо, когда в бюджете присутствуют статьи типа «В том числе…», к примеру, в бюджете может быть статья «Материальные расходы» и статья «В том числе топливо», «В том числе строительные материалы».

Данная возможность реализована для следующих отчетов:

  • Обороты бюджета
  • Обороты бюджета и остатки по счетам
  • План-фактный анализ бюджета
  • План-фактный анализ бюджета и остатки по счетам
  • Прогноз исполнения бюджета
  • Бюджет с расчетами

Примечание: Данный функционал недоступен для конфигураций «БИТ.ФИНАНС: Стандарт».


В предыдущей статье по регистрам бухгалтерии "Регистры бухгалтерии. Настройки, субконто и движения с субконто" мы подробным образом рассмотрели работу настроек этого регистра, а также внутренности виртуальных таблиц "Субконто" и "Движения с субконто". Коснулись некоторых особенностей настроек и их влияние на хранение данных регистра на стороне базы данных.


Сегодня мы продолжим анализ работы регистра, но на этот раз рассмотрим только одну виртуальную таблицу "Обороты". Такая маленькая, и такая интересная!

Все данные для публикации получены с помощью инструментов:

Начнем с простых запросов, которые генерирует платформа 1С, и закончим на особенностях и вопросах производительности.

Небольшое отступление

И так, начнем с простого. Все примеры продолжим делать на той же базе данных, что и в предыдущей статье.

Для чего нужна таблица оборотов? Правильно, для получения оборотов по счету (внезапно!). При этом можно получить оборот как общий по счету, так и в разрезе аналитики: измерений регистра (организация, валюта, подразделение и т.д.) или субконто счета. И, конечно же, можно получить обороты с учетом кор. счета и кор. аналитики по этому счету.

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

  • Анализ состояния учета по налогу на прибыль
  • Продажи
  • Расшифровка платежей в бюджет
  • И еще много-много всего.

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

Простой пример

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

Если Вы далаете такие запросы на рабочей базе, то стоит подумать над тем, чтобы от такого отказаться. Почему? Взгляните какой запрос мы имеем на стороне базы данных.

Как мы видим, платформа получает данные из основной таблицы регистра для получения оборотов по указанным ресурсам. Алгоритм такой:


  • Получаем обороты из основной таблицы по дебету
  • Получаем обороты из основной таблицы по кредиту
  • Объединяем полученные данные в единую таблицу и группируем по счету

В принципе все работает логично. Но может появиться вопрос: почему платформа не использует данные итогов? Ведь оптимально было бы получить общие показатели из таблиц итогов, чем рассчитывать все заново по основной таблице. Ответ в этом случае прост - в запросе не установлен отбор по периоду. Чтобы платформа 1С начала использовать таблицы итогов нужно установить фильтр по периоду, как минимум по началу периода.

Например, если в базе установлен период рассчитанных итогов для регистра бухгалтерии с 01.01.2019 по 31.07.2020, то для начала использования итогов начало периода должно быть установлено больше или равным 01.01.2019. Есть нюанс: если поставить дату начала периода меньше даты рассчитанных итогов (но не более чем на 1 месяц), то платформа все равно будет использовать итоги, а для периода до минимальной даты рассчитанных итогов будет сделан запрос к основным таблицам регистра (точнее два запроса - для дебета и для кредита). Вот так стал выглядеть запрос с началом периода.

Чтобы пример был более полным, установим параметр "НачалоПериода" как 10.12.2018, т.е. меньше минимальной даты рассчитанных итогов, но не более чем на 1 месяц. Вот такой запрос будет сформирован к базе данных.

В чем-то этот запрос похож на предыдущий пример, но значительные отличия все же присутствуют:

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

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

А если добавить субконто

Настало время усложнить пример и добавить в запрос субконто, отбор по счету и измерению "Организация".

Намешали сразу почти все, что можно в этой виртуальной таблице, кроме кор. счета и аналитики с ресурсами по нему, т.к. об этом позже. Вот какой запрос, а точнее серию запросов, в этом случае сформирует платформа 1С.

Запрос стал больше и сложнее, но на самом деле ничего сверхъестественного тут нет:


  • Сначала платформа подготавливает информацию по счету, который используется в отборах и по виду субконто.
  • Затем начинается основной запрос, в котором:
    • Получаем данные оборотов из таблицы итогов по 2 субконто. Почему именно по этой таблице? Да потому что во всех отборах нашего примера устанавливался счет 51, у которого 2 субконто (банковский счет и статья ДДС). Для получаемых значений также устанавливается фильтр по счету и субконто, а также по организации. Отбор по периоду устанавливается в промежутке от 01.01.2019 (начала периода рассчитанных итогов) до 28.02.2020 включительно.
    • Т.к. изначально отбор ставился с 10.12.2018, то платформа делает дополнительных два запроса (по дебету и кредиту) к основным таблицам регистра в период с 10.12.2018 по 31.12.2018, т.к. получить обороты из таблиц итогов за этот период нельзя.
    • Дополнительно делаются аналогичные два запроса (по дебету и по кредиту) за 01.03.2020, т.к. именно эта дата установлена как конец периода отбора. Т.к. итоги рассчитываются в разрезе месяца, то получить данные оборотов за один день с их помощью не получится. Именно поэтому и был еще раз сгенерирован запрос к основным таблицам регистра.
    • После все полученные данные группируются и возвращаются как результат.

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

    Данные кор. счета

    Немного изменим пример, добавив кор. счет с аналитикой и обороты по количеству (т.к. это не балансовый ресурс) по нему.

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

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

    Будьте осторожны с получением данных оборотов по корреспондирующим счетам и их аналитике.

    Особая периодичность

    В качестве последнего примера рассмотрим тот же запрос, но с небольшой модификацией - установим параметр виртуальной таблицы "Периодичность" в "Неделя" и посмотрим что будет.

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

    В примере выше уже была ситуация, когда для получения данных за один день платформа формировала SQL-запросы к основным таблицам регистра. Тут схожая ситуация.

    Использовать периодичность нужно очень осторожно, т.к. некорректное ее указание может значительно снизить производительность информационной системы.

    Производительность запросов

    Мы рассмотрели несколько примеров работы виртуальной таблицы "Обороты" регистра бухгалтерии. В контексте производительности напрашиваются такие выводы:


    1. Для максимальной производительности запросов к виртуальной таблице оборотов необходимо использовать итоги регистра. То есть они должны быть рассчитаны и обслуживаться ежемесячно, сдвигая дату рассчитанных итогов. Об этом мы говорили ранее.
    2. Даже если итоги в базе рассчитаны и обслуживаются, необходимо придерживаться некоторых правил написания запросов к таблице оборотов, когда это возможно в контексте поставленной задачи:
      • Периодичность не должна быть меньше месяца, иначе данные будут запрашиваться из основных таблиц регистра и итоги будут игнорироваться.
      • Обязательно нужно указывать период, за который выполняется получение данных оборотов, иначе все данные будут получаться из основных таблиц регистра. Да, если не указать период в таблице оборотов - итоги не будут использоваться. Но Вы же так не делаете, верно?
      • Использование корреспондирующих полей (кор. счет или измерения, а также ресурсы) также приводит к отключению использования итогов. Будьте осторожны.
    3. При работе с оборотами продумайте максимально возможные условия отборов, как минимум по периоду и основным измерениям регистра, счетам и субконто (виду и значениям). Это позволит избежать большинства проблем производительности при использовании этой виртуальной таблицы.
    4. Для максимальной производительности отборы должны быть максимально селективными. Если Вы получаете обороты за пару лет с указанием отбора только по счету, то потенциальный объем получаемых данных может быть очень большой. В этом случае СУБД может проигнорировать индексы, т.к. ей проще эти данные получить сканированием таблиц.

    Таким образом, использовать виртуальную таблицу оборотов регистра бухгалтерии можно и нужно, но стоит учитывать ее особенности работы.

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

    Следующий раунд

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

    Регистры бухгалтерии достаточно сложные и "тяжелые" как с точки зрения хранения данных, так и в части использования в разработке. Именно поэтому нужно использовать их для учетных задач, но никак не для оперативного учета. Представьте что было бы, если бы чеки ККМ формировали проводки при проведении :) Прощай розница! :)))

    Все данные для публикации получены с помощью инструментов:

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

    Анна Викулина

    Настройка подсистемы бюджетирования в 1С под ваши бизнес-процессы.

    Переход с 1С:УПП на 1С:ERP

    Плавный переход на 1С:ERP. Настройка обменов на этапе переходного периода. Перенос данных. Настройка и внедрение 1С:ERP.

    Подсистема Бюджетирования, имеющаяся во многих программных решениях, как фирмы 1С, так и в разработанных партнерами продуктах, для автоматизации системы бюджетирования на предприятии: финансового учета, план-фактного анализа, а также учета приходов и затрат в разрезе Центров Финансовой Ответственности.

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

    Справочник «ЦФО» в подсистеме Бюджетирование в 1С УПП

    Для начала разберемся, что может пониматься под ЦФО – Центрами Финансовой Ответственности.

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

    Руководитель ЦФО отвечает за планирование приходов, расходов и финансовый результат своего ЦФО.

    Таким образом, каждое ЦФО выступает и как заказчик, и как исполнитель: получает или оказывает услуги другим ЦФО в рамках предприятия, а также внешним контрагентам. Т.е. фактически все предприятие состоит из микро-компаний, каждая из которых имеет понятный набор услуг.

    Например, ЦФО «Бухгалтерия» может оказывать услуги начисления заработной платы для ЦФО «Отдел маркетинга», «Отдел ИТ», «Производственный отдел», а также покупать услуги по сопровождению ИТ-систем в ЦФО «Отдел ИТ» и услуги уборки помещения в ЦФО «АХО».

    Чтобы внедрить систему бюджетирования, важно определить, какие Центры Финансовой Ответственности будут выделены на Предприятии, какой набор услуг каждый из них оказывает другим ЦФО, каковы трудозатраты, себестоимость и стоимость этих услуг для предприятия.

    С точки зрения бизнеса, такой подход позволит обнаружить и улучшить следующие аспекты:

    1. Оптимизировать численность сотрудников;
    2. Вывести высоко затратные, но низкоэффективные процессы на аутсорсинг;
    3. Каждое подразделение и каждый сотрудник будет знать, какой именно продукт является результатом его деятельности, что позволит улучшить систему мотивации, качество услуг и удовлетворенность внутренних пользователей;
    4. Организовать на базе успешных ЦФО отдельные бизнес-единицы, получая с них дополнительную прибыль за счет оказания услуг внешним контрагентам.

    Например, ЦФО «Маркетинг» оказывает услуги маркетинга для ЦФО «Отдел продаж», а также берет дополнительные проекты у внешних контрагентов как маркетинговое агентство.

    Настроить ЦФО в подсистеме Бюджетирование в 1С УПП достаточно просто, для этого нужно:

    1. Открыть меню «Справочники» - «Справочник ЦФО»;
    2. Нажать кнопку «Создать»;
    3. Ввести информацию о ЦФО: наименование, руководитель, вид ЦФО;
    4. Нажать кнопку «ОК».

    Читайте также: