Версия для печати темы (https://pro1c.org.ua/index.php?s=9d9e34fb911353fc99ede58e545f381f&showtopic=439)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Прикладные объекты _ Порядок формирования фактического периода действия регистра расчета

Автор: Batchir 21.03.09, 9:57

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

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

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

Для формирования фактического периода действия системой используются следующие данные:


Ниже мы рассмотрим влияние всех перечисленных данных на формирование записей фактического периода действия.

Вытесняющие виды расчета - описание правил формирования фактического периода действия

Для видов расчета плана видов расчета с поддержкой периода действия (свойство "Использует период действия") есть возможность задавать список вытесняющих видов расчета. Этот список используется системой при расчете фактического периода действия соответствующих регистров расчета (т.е. тех, которым назначен план видов расчета). Отношения "вытесняющий-вытесняемый" между записями регистра расчета возникают в том случае, если периоды действия записей пересекаются. На рисунке ниже приведены примеры. В них принято, что для вида расчета А вытесняющими являются виды расчета B и C, а для вида расчета B вытесняющим является вид расчета C. В примере не учитываются такие нюансы как наличие сторно-записей и период регистрации записей.

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


Влияние периода регистрации записей на формирование фактического периода действия

При вычислении фактического периода действия учитывается период регистрации записей регистров расчета.
  1. Если период регистрации записей совпадает, то фактический период действия рассчитывается, как изображено в примере на рис. 1, т.е. с учетом списков вытесняющих видов расчета.
  2. Если период регистрации некоторой записи R2 больше, чем период записи другой записи R1 (т.е. она зарегистрирована в системе позже), то ни при каких настройках списков вытесняющих видов расчета запись R2 не является "вытесняющей" для записи R1.
  3. В том случае, если более "поздней" по периоду регистрации записи R2 необходимо сохранить свой период действия, не смотря на наличие в системе более "ранней" записи R1, необходимо применять сторнирующие записи, влияние которых на расчет фактического периода действия описано ниже.

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

Влияние сторнирующих записей на формирование фактического периода действия

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

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

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

Отметим также, что существует метод набора записей регистра расчета ПолучитьДополнение, который, используя правила вытеснения, помогает вычислить период действия сторно-записей (см. Работа метода ПолучитьДополнение набора записей регистра расчета).

Вычисление фактического периода действия для сторнирующих записей

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

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

Приведем краткие выводы и определения этого раздела.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua