Регистры бухгалтерии. Виртуальная таблица оборотов
Виртуальная таблица оборотов регистра бухгалтерии. Принцип работы, особенности и кое-что еще.
- Описание
- Подробнее
Описание
Введение
В предыдущей статье по регистрам бухгалтерии "Регистры бухгалтерии. Настройки, субконто и движения с субконто" мы подробным образом рассмотрели работу настроек этого регистра, а также внутренности виртуальных таблиц "Субконто" и "Движения с субконто". Коснулись некоторых особенностей настроек и их влияние на хранение данных регистра на стороне базы данных.
Сегодня мы продолжим анализ работы регистра, но на этот раз рассмотрим только одну виртуальную таблицу "Обороты". Такая маленькая, и такая интересная!
Все данные для публикации получены с помощью инструментов:
* Просмотр и анализ структуры базы данных (отчет на СКД)
* Помощник работы с идентификаторами
Начнем с простых запросов, которые генерирует платформа 1С, и закончим на особенностях и вопросах производительности.
Небольшое отступление
И так, начнем с простого. Все примеры продолжим делать на той же базе данных, что и в предыдущей статье.
Для чего нужна таблица оборотов? Правильно, для получения оборотов по счету (внезапно!). При этом можно получить оборот как общий по счету, так и в разрезе аналитики: измерений регистра (организация, валюта, подразделение и т.д.) или субконто счета. И, конечно же, можно получить обороты с учетом кор. счета и кор. аналитики по этому счету.
В общем, виртуальная таблица, часто используемая как в отчетах, так и в алгоритмах. Все, кто работает с учетными системами почти всегда сталкиваются с регистрами бухгалтерии и с таблицей оборотов, в частности. В самой знаменитой типовой конфигурации "Бухгалтерия предприятия" эта виртуальная таблица используется в таких отчетах как:
- Анализ состояния учета по налогу на прибыль
- Продажи
- Расшифровка платежей в бюджет
- И еще много-много всего.
Думаю, что необходимость использования этой виртуальной таблицы очевидна. Перейдем к первому примеру и рассмотрим, что именно делает платформа 1С с этой виртуальной таблицей.
Простой пример
Первый запрос имеет мало общего с практическими задачами (и я надеюсь Вы так не делаете на рабочем базе). Получим обороты для всех счетов по сумме и количеству.
ВЫБРАТЬ
ХозрасчетныйОбороты.Счет КАК Счет,
ХозрасчетныйОбороты.СуммаОборот КАК СуммаОборот,
ХозрасчетныйОбороты.КоличествоОборот КАК КоличествоОборот
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(, , , , , , , ) КАК ХозрасчетныйОбороты
Если Вы далаете такие запросы на рабочей базе, то стоит подумать над тем, чтобы от такого отказаться. Почему? Взгляните какой запрос мы имеем на стороне базы данных.