Механизм бухгалтерских итогов, поддерживаемый компонентой «Бухгалтерский учет» системы 1С:Предприятие релизует хранение накопленных итогов для обеспечения быстрого обращения к ним при составлении отчетов и выполнения различных вычислений.
Хранение итогов поддерживается системой с детализацией до месяца. Кроме того, хранятся не все возможные итоги, а те, обращение к которым выполняется наиболее часто — это остатки и обороты по счетам с детализацией по объектам аналитики (субконто), а также обороты между счетам (без учета аналитики). Такие итоги называются основными. Обращение к этим итогам выполняется системой непосредственно. Для получения других итогов (с детализацией меньше месяца, с получением оборотов между различными объектами аналитики, а также сложных выборок) требуется выполнение предварительных действий — временного расчета или запроса.
Объект «БухгалтерскиеИтоги» может работать в 3-х различных режимах:
При создании объекта
он работает в режиме работы с основными итогами. Переключение его в остальные
режимы выполняется методами Рассчитать и ВыполнитьЗапрос. В зависимости
от режима изменяется состав и использование атрибутов и методов объекта.
Общие свойства
Работа объекта «БухгалтерскиеИтоги» во всех режимах имеет некоторые общие особенности. Значение типа «Счет» в параметры методов объекта может передаваться в виде строки, содержащей код счета. При ведении учета по нескольким планам счетов или с использованием разделителя учета на получение итогов в различных режимах запроса влияют установки методов ИспользоватьПланСчетов и ИспользоватьРазделительУчета.
ИспользоватьПланСчетов(<ПланСчетов>)
Метод ИспользоватьПланСчетов задает план счетов для метода получения итогов и ВыполнитьЗапрос для тех случаев, когда конкретный счет не указан или задается строкой символов.
Если план счетов не установлен функцией ИспользоватьПланСчетов, будет использоваться основной план счетов, заданный в метаданных.
Пример.
БухИтоги.ИспользоватьПланСчетов(ПланыСчетов.Рабочий);
ИспользоватьРазделительУчета(<РазделительУчета>)
Метод ИспользоватьРазделительУчета задает значения разделителя учета для методов получения итогов и ВыполнитьЗапрос. Применение данного метода имеет смысл только если используется разделителель учета.
Пример.
БухИтоги.ИспользоватьРазделительУчета (Константа.ОснФирма);
Основными итогами называются остатки и обороты по счетам и объектам аналитического учета, а также обороты между счетами за любой рассчитанный период с детализацией до месяца.
В пункте меню «Управление бухгалтерскими итогами» устанавливается последний рассчитанный период. В режиме работы с основными итогами обращение может выполняться только к итогам по рассчитанный период включительно. В этом режиме работают два вида методов — получение остатков и оборотов, а также установка периода за который выдаются итоги. По умолчанию используется период, выбранный пользователем интерактивно через меню Сервис => Параметры => Бухгалтерские итоги.
Остатки и обороты по счетам
Метод
|
Описание
|
СНД | дебетовое сальдо по счету на начало периода |
СНК | кредитовое сальдо по счету на начало периода |
СКД | дебетовое сальдо по счету на конец периода |
СКК | кредитовое сальдо по счету на конец периода |
ДО | дебетовый оборот по счету за период |
КО | кредитовый оборот по счету за период |
Синтаксис (у всех одинаковый): СНД (<Счет>, <ТипСуммы>, <Валюта>, <Субконто1>...)
Параметр
|
Описание
|
<Счет> | Значение типа «Счет» — счет расчета итогов. Может использоваться строка — код счета. |
<ТипСуммы> |
Необязательный параметр. Число или строка — тип возвращаемой суммы. Может принимать одно из следующих значений:
Если параметр не указан, метод возвращает сумму. |
<Валюта> | Необязательный параметр. Значение типа «Справочник.Валюты». Если параметр не указан итоги выдаются без учета валюты. Если указана валюта, то данные выдаются по конкретной валюте. Валютная сумма может выдаваться только по конкретной валюте. |
<Субконто1> <Субконто2> ...… |
Необязательный параметр. Значения субконто. Их количество зависит от настройки субконто для данного счета. Если параметры не указаны, итоги выдаются без учета аналитики. |
Пример
БухИтоги = СоздатьОбъект("БухгалтерскиеИтоги);
ОстатокНаСчетеНаНачалоПериода
= БухИтоги.СНД("51");
ОстатокНаСчетеНаКонецПериода
= БухИтоги.СКД("51");
ПриходГвоздейНаСкладЗаПериод = БухИтоги.ДО("10.1",3,,МатериалГвозди,ЦентрСклад);
Обороты между счетами
ОБ(<СчетДеб>, <СчетКред>, <ТипСуммы>, <Валюта>)
Метод возвращает оборот с дебета счета <СчетДеб> в кредит счета <СчетКред>.
Пример
КассаБанк = БухИтоги.ОБ("50", "51");
Развернутое сальдо по субсчетам
Функции СНДР, СНКР, СКДР, СККР предназначены для расчета остатков по счетам, у которых учет ведется на субсчетах. Каждая функция из этой группы возвращает остаток как сумму соответствующих остатков (дебетовых или кредитовых) всех субсчетов указанного счета. При этом учитываются остатки по субсчетам являющихся собственно счетами, а не группами.
Метод
|
Описание
|
СНДР | дебетовое развернутое сальдо по субсчетам на начало периода |
СНКР | кредитовое развернутое сальдо по субсчетам на начало периода |
СКДР | дебетовое развернутое сальдо по субсчетам на конец периода |
СККР | кредитовое развернутое сальдо по субсчетам на конец периода |
Пример
* Для помещения в бухгалтерский баланс вычисляется развернутое сальдо по 68 счету, учет на котором ведется на субсчетах. Дебетовая составляющая должна попасть в актив баланса, кредитовая составляющая — в пассив.
БухИтоги = СоздатьОбъект(
"БухгалтерскиеИтоги);
ДебСальдоНаНач = БухИтоги.СНДР("68");
ДебСальдоНаКон = БухИтоги.СКДР("68");
КрСальдоНаНач = БухИтоги.СНКР("68");
КрСальдоНаКон = БухИтоги.СККР("68");
Развернутое сальдо по субконто
Функции СНДРС, СНКРС, СКДРС, СККРС предназначены для расчета остатков по счетам, у которых ведется аналитический учет по субконто. Каждая функция из этой группы возвращает остаток как сумму соответствующих остатков (дебетовых или кредитовых) по всем объектам аналитического учета.
Если аналитический учет по счету ведется по двум и более субконто, то для развернутого сальдо параметр <ТипФильтра> устанавливает участие данног вида субконто в получении развернутого сальдо. В зависимости от значения этого параметра данное субконто может участвовать в «развороте» остатка, или накладывать дополнительное ограничение (отбирать) на анализируемые остатки, или никак не влиять на результат функции.
Метод
|
Описание
|
СНДРС | дебетовое развернутое сальдо по субконто на начало периода |
СНКРС | кредитовое развернутое сальдо по субконто на начало периода |
СКДРС | дебетовое развернутое сальдо по субконто на конец периода |
СККРС | кредитовое развернутое сальдо по субконто на конец периода |
Синтаксис (у всех одинаковый):
СНДРС(<Счет>,
<ТипСуммы>, <Валюта>, <Субконто1>, <ТипФильтра1>,
<Субконто2>, <ТипФильтра2>...)
<ТипФильтра>. Необязательный параметр. Тип использования субконто. (Строка или число).
Значения по умолчанию:
"*" (1) — для первого субконто, " " (3) — для остальных
субконто.
Пример
//Получим развернутое
сальдо дебетовое на начало периода по счету 60,
// учет ведется по субконто Организации.
СР60 = БухИтоги.СНДРС("60");
//Получим развернутое
сальдо дебетовое на начало периода по счету 10
//конкретному складу в разрезе материалов, учет ведется по субконто «Материалы»
и «Склады».
СР10 = БухИтоги.СНДРС("10", 1, , , "*", ВыбСклад, "!");
Установка периода итогов
Метод
|
Описание
|
ПериодД |
Устанавливает
произвольный период в качестве периода расчета итогов. |
ПериодКВ |
Устанавливает
квартал в качестве периода расчета итогов. |
ПериодКВН |
Устанавливает
в качестве периода расчета итогов период с начала года до конца
указанного квартала. |
ПериодМ |
Устанавливает
в качестве периода расчета итогов месяц. |
ПериодМНК | Устанавливает
в качестве периода расчета итогов период с начала квартала до конца
указанного месяца. ПериодМНК(<Дата>|<НомерМесяца>, <Год>) |
ПериодМНГ | Устанавливает
в качестве периода расчета итогов период с начала года до конца указанного
месяца. ПериодМНГ(<Дата>|<НомерМесяца>, <Год>) |
НачПериода | Возвращает начальную дату установленного в данный момент периода основных итогов. |
КонПериода | Выдает конечную дату установленного в данный момент периода основных итогов. |
Другие методы
Метод ОсновныеИтоги переводит объект в режим работы с основными итогами. Вызов этого метода имеет смысл тогда, когда был выполнен расчет временных итогов или запрос, и нужно вернуть объект к работе с основными итогами. При этом результаты запроса или расчета временных итогов теряются.
Для переключения в режим работы с временными итогами следует выполнить метод Рассчитать. После этого объект позволяет получать остатки и обороты по счетам за произвольный период, заданный при вызове метода Рассчитать.
Для получения временных итогов используются те же методы, что и для получения основных итогов (СНД, СНК , СКД , СКК, ДО, КО, ОБ и другие). Параметры метода Рассчитать определяют итоги, которые будут доступны для получения этими методами.
Метод Рассчитать
Синтаксис
Рассчитать(<НачалоПериода>, <КонецПериода> , <ФильтрПоСчетам>,
<ТолькоСинтетика> , <ПланСчетов>, <РазделительУчета>)
Параметр
|
Описание
|
<НачалоПериода> |
Необязательный параметр. Выражение типа дата, документ или позиция документа начала периода расчета временных итогов. Если этот параметр не указан, будут вычисляться конечные сальдо на момент, указанный в параметре <КонецПериода>. |
<КонецПериода> |
Необязательный параметр. Выражение типа дата, документ или позиция документа конца периода расчета временных итогов. Если этот параметр не указан, будут вычисляться начальные сальдо на момент, указанный в параметре <НачалоПериода>. Если из двух параметров периода задан только параметр начала периода, метод Рассчитать вычислит начальные остатки — без оборотов. Наоборот, если задан параметр конца периода, будут вычисленные конечные остатки. |
<ФильтрП, рСчетам> | Необязательный параметр. Счета, для которых будет выполняться временный расчет итогов. Задается значением типа «Счет» или объектом типа «СписокЗначений», содержащим значения типа «Счет», либо строкой содержащей список кодов счетов, разделенных символом ", " или ";". |
<ТолькоСинтетика> | Необязательный
параметр:
1 — рассчитывать
сальдо только по счетам; Установка параметра <ТолькоСинтетика> в 1 задает выполнение расчета итогов только по счетам, без субконто. В этом случае функции для получения развернутого сальдо по субконто СНДРС, СКДРС, СНКРС, СККРС для счетов, по которым ведется аналитический учет по субконто будут возвращать 0, даже если реально в информационной базе есть остатки по этим счетам. Если параметр <ТолькоСинтетика> не указан или равен 0, временный расчет итогов будет выполнен и по счетам, и по субконто. |
<ПланСчетов> | Необязательный параметр. Ограничение расчета одним планом счетов. |
<РазделительУчета> | Необязательный параметр. Значение разделителя учета. Ограничение расчета одним значением разделителя учета. |
Метод Актуальность
Устанавливает или сбрасывает признак актуальности временных итогов.
Данный метод позволяет организовать поддержку временного расчета итогов в актуальном состоянии. При установке объекту «БухгалтерскиеИтоги» признака поддержки в актуальном состоянии, в нем будут отражаться все изменения в итогах, выполняемые операциями. При этом данный актуальный объект «БухгалтерскиеИтоги» смогут автоматически использовать временные расчеты и запросы других объектов «БухгалтерскиеИтоги» с аналогичными фильтрами, что позволяет оптимизировать время расчета.
Данную возможность следует использовать только в специальных случаях, например, для оптимизации больших регламентных расчетов. Данная возможность может применяться только при работе программы в монопольном режиме или, если не в монопольном режиме, то только при проведении документа.
Синтаксис: Актуальность(<Флаг>)
<Флаг>: 1 — поддерживать временный расчет в актуальном состоянии; 0 — не поддерживать;
Про работу объекта БухгалтерскиеИтоги
в режиме запроса вы можете прочитать здесь.
Когда тот или иной физик использует понятие "физический вакуум", он либо не понимает абсурдности этого термина, либо лукавит, являясь скрытым или явным приверженцем релятивистской идеологии.
Понять абсурдность этого понятия легче всего обратившись к истокам его возникновения. Рождено оно было Полем Дираком в 1930-х, когда стало ясно, что отрицание эфира в чистом виде, как это делал великий математик, но посредственный физик Анри Пуанкаре, уже нельзя. Слишком много фактов противоречит этому.
Для защиты релятивизма Поль Дирак ввел афизическое и алогичное понятие отрицательной энергии, а затем и существование "моря" двух компенсирующих друг друга энергий в вакууме - положительной и отрицательной, а также "моря" компенсирующих друг друга частиц - виртуальных (то есть кажущихся) электронов и позитронов в вакууме.
Однако такая постановка является внутренне противоречивой (виртуальные частицы ненаблюдаемы и их по произволу можно считать в одном случае отсутствующими, а в другом - присутствующими) и противоречащей релятивизму (то есть отрицанию эфира, так как при наличии таких частиц в вакууме релятивизм уже просто невозможен). Подробнее читайте в FAQ по эфирной физике.