Основная страницаОСОБЕННОСТИ РАБОТЫ С БУХГАЛТЕРСКИМИ ИТОГАМИ


 

Использование метода "Актуальность"

Метод "Актуальность" объекта "БухгалтерскиеИтоги" чаще всего используется в двух случаях:

1) Для оптимизации группового проведения документов в монопольном режиме средствами встроенного языка.

2) Для получения в процессе проведения документа доступа к итогам, учитывающим уже записанные в ходе данного проведения проводки.

Оптимизация группового проведения документов достигается за счет того, что все объекты типа "БухгалтерскиеИтоги" автоматически используют итоги полученные некоторым объектом типа "БухгалтерскиеИтоги" у которого включен признак актуальности. Для того чтобы объект мог воспользоваться уже рассчитанными итогами другого объекта (имеющего признак актуальности) должны выполняться следующие условия:

- у объекта с признаком "Актуальность" должен быть выполнен метод "Рассчитать";

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

- область запрашиваемых данных итогов должна входить в область рассчитанных итогов актуального объекта "БухгалтерскиеИтоги" (во временном расчете должны участвовать те счета и виды итогов, по которым запрашиваются данные).

Оптимизация группового проведения документов выполняется следующим образом:

- в обработке выполняющей проведение документов в монопольном режиме создается объект "БухгалтерскиеИтоги" и ему устанавливается признак "Актуальность";

- в процессе обхода документов выполняется  временный расчет этого объекта на момент каждого проводимого документа;

- при проведении документов все обращения  различных объектов типа "БухгалтерскиеИтоги"  к данным на момент документа автоматически используют итоги рассчитанные объектом с признаком "Актуальность".

Благодаря тому, что  итоги объекта находятся в актуальном состоянии, их расчет на момент следующего документа выполняется достаточно быстро, так как обрабатываются только проводки от последнего момента, на который были рассчитаны итоги,  до требуемого. При этом не обязательно, чтобы итоги рассчитывались на каждый документ, необходимо лишь, чтобы каждая последующая граница расчета была позже предыдущей. Заметим, что для такой оптимизации не нужно вносить никаких изменений в модули документов. В типовой конфигурации 1С:Бухгалтерии 7.7 такая оптимизация реализована в обработке "ОбработкаДокументов".

Кроме того, при выполнении группового проведения документов штатным режимом 1С:Предприятия, а не средствами встроенного языка, объект "БухгалтерскиеИтоги"  с признаком "Актуальность" создается системой автоматически, что позволяет оптимизировать проведение документов обращающихся к бухгалтерским итогам на момент документа.

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

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

Разумеется, использование метода "Актуальность" при проведении документа имеет смысл только, если для этого объекта выполняется метод "Рассчитать", так как при обращении к отдельным итогам по установленному периоду кратному месяцу или при выполнении запроса будут использованы основные итоги, которые всегда находятся в актуальном состоянии и обновляются при выполнении метода "ЗаписатьПроводки". Таким образом, реально использование метода "Актуальность" при проведении документа целесообразно главным образом при необходимости получения итогов на документ, причем с учетом уже записанных в процессе данного проведения проводок. Заметим, что такая потребность возникает достаточно редко, так как в большинстве случаев требуемый алгоритм можно реализовать и без учета в итогах уже записанных проводок, а затраты на выполнение временного расчета могут весьма существенно сказаться на производительности.

Особенности получения итогов при отключении отдельных видов учета по субконто

В 1С:Предприятии 7.7 при настройке аналитического учета в плане счетов существует возможность отключения некоторых видов учета для конкретных видов субконто настроенных для счета. Например, в типовой конфигурации отключен суммовой учет по счету 10 (материалы) по субконто "Места хранения".

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

Это значит, например, что если выполнить запрос объекта "БухгалтерскиеИтоги" по счету 10 по субконто "Места хранения" на первом уровне и по субконто "Материалы" на втором, то итоги по субконто "Материалы" будут выдаваться без суммовых итогов, так как вышестоящая группировка субконто "Места хранения" не имеет итогов по сумме. Аналогично не будут выдаваться суммовые итоги по материалам, если в запросе установлен отбор по конкретному значению субконто "Места хранения".

Если же, разворачивать итоги по "Материалам", а внутри материалов по "Местам хранения", то итоги по материалам будут выводиться в суммовом выражении.

               Получение итогов по пустому значению субконто

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

По умолчанию объект "БухгалтерскиеИтоги" воспринимает заданное в методе "ИспользоватьСубконто" конкретное значение субконто, как указание отбирать по данному значению вне зависимости от того, какое значение передано в параметре "ТипФильтра". Но если в качестве конкретного значения субконто передано пустое значение, а в параметр "ТипФильтра" передано значение 1 ("Разворачивать"), то будет выполняться разворот по всем значениям данного вида субконто.

Если необходимо отобрать итоги именно по пустому значению субконто, то нужно непосредственно указывать значение параметра "ТипФильтра" метода "ИспользоватьСубконто" -  2 ("Отбирать").

Использование параметра "ФлагВсе" при обходе результатов запроса

В методах выборки итогов запроса объекта "БухгалтерскиеИтоги" ("ВыбратьСчета", "ВыбратьСубконто" и др.) может использоваться параметр "ФлагВсе". Он позволяет получить выборку значений группировки запроса на данном уровне включая не только те значения, по которым есть итоги по текущим значениям вышестоящих группировок, но и включая те значения, по которым есть значения данной группировки во всем запросе или в пределах одной из вышестоящих группировок.

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

Развернутое сальдо по счету, который является группой

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

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

По 62 счету настроены виды субконто Контрагенты и Основания. В данном случае можно получить развернутое по Контрагентам и/или Основаниям сальдо по 62 счету. Но развернутое по ВариантамРеализации сальдо получить нельзя, хотя данный вид субконто настроен у субсчета

Особенности бухгалтерского запроса по нескольким видам субконто

Иногда требуется получить бухгалтерские итоги в разрезе нескольких видов субконто. Для задания видов субконто, по которым нужно получить итоги, используются методы "ИспользоватьСубконто" и "ИспользоватьКорСубконто".

При использовании данных методов надо учитывать следующую особенность их поведения. Указанные в методе виды субконто, используется как фильтр для отбора итогов и проводок. При многократном использовании метода "ИспользоватьСубконто" указанные виды субконто накладывают ограничение на выборку данных соединяясь по "И" а не по "ИЛИ". То есть если перед запросом вызвать метод "ИспользоватьСубконто" два раза, сначала с видом субконто МестаХранения, а потом с видом субконто Материалы, то будут отобраны итоги и проводки, в которых присутствуют оба вида субконто и МестаХранения и Материалы, а не те в которых есть МестаХранения или Материалы. Поэтому применение метода "ИспользоватьСубконто" не имеет смысла больше чем максимальное количество субконто определенное в конфигурации.

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






Рекомендации по конфигурированию и администрированию