Механизм сложных периодических расчетов предназначен в первую очередь для решения задач, связанных с начислением заработной платы. Он позволяет описать сложные зависимости зарплаты от каких-либо показателей. В состав механизма входят два основных прикладных объекта:
- План видов расчета - предназначен для хранения данных о видах расчетов, и их взаимном влиянии друг на друга. Взаимосвязь ПВР может быть влияющей (например, премия зависит от оклада) и вытесняющей (например, больничный вытесняет оклад), ну и независимые от других ПВР также могут быть. Пример план видов расчетов:
- Регистр расчета - предназначен для хранения данных о расчетах ЗП, как конечных, так и промежуточных. Соответственно, и представляет собой комбинацию измерений и числовых ресурсов, чем напоминает регистр накопления либо регистр бухгалтерии . Регистр расчета обязательно ссылается на план видов расчета, согласного которому и сделаны хранящиеся в регистре расчеты. Также, регистр расчета может быть привязан к графику (актуально для посменной оплаты труда), и в любом случае поддерживает перерасчеты (актуально всегда). Пример регистра расчета:
Вопрос 14.01 экзамена 1С:Профессионал по платформе. Планы видов расчета предназначены...
- для описания множеств возможных видов расчета
- для накопления информации о периодических расчетах
- для хранения информации о перерасчетах
- верно все вышеперечисленное
- верны утверждения 1 и 3
Правильный ответ первый, разбор в посте.
Вопрос 14.02 экзамена 1С:Профессионал по платформе. Виды расчета - это...
- объекты базы данных
- объекты конфигурации
- объекты встроенного языка
Правильный ответ первый, например в ПВР "Основные начисления организаций" могут входить такие виды расчетов как Оклад по дням, ГПД на месяц, и т.д.
Вопрос 14.16 экзамена 1С:Профессионал по платформе. Новые виды расчета...
- можно создавать только в режиме "1С:Предприятие"
- можно создавать только в режиме "Конфигуратор"
- можно создавать в режиме "1С:Предприятие" и в режиме "Конфигуратор"
Правильный ответ третий, можно создать и в Конфигураторе (предопределенные), и в режиме Предприятие.
Вопрос 14.21 экзамена 1С:Профессионал по платформе. Регистры расчета служат...
- для накопления информации о периодических расчетах
- для описания множеств однотипных видов расчета
- для хранения сведений о перерасчетах
Правильный ответ первый.
Вопрос 14.44 экзамена 1С:Профессионал по платформе. Выберите правильный ответ:
- Регистр расчета может быть связан с несколькими планами видов расчета
- Регистр расчета может быть связан только с одним планом видов расчета
- Регистр расчета может быть связан только с тремя планами видов расчета
Правильный ответ второй, см. в посте скриншот регистра расчета.
Правильный ответ четвертый, в регистрах расчета было бы странных хранить нечисловые значения. Если серьезно, доступен только тип Число.
Многие программисты 1С никогда не сталкивались в своей практике с компонентой «Расчет»,поэтому, когда им приходится сдавать экзамены на Специалиста по Платформе 8.0, где в каждомзадании есть задача по сложным периодическим расчетам, возникают сложности, прежде всего сложности понимания.
Попробуем разобраться с этой компонентой в 8.0. Вместо того чтобы решать различные задачи на расчет попробуем разобраться с этой компонентой так, чтобы можно было решить любую задачу по расчету. Изучив это пособие, вы поймете, как устроены иработают регистры расчета.
Для примера будем использовать каркасную конфигурацию, устанавливаемую на экзаменах.
Честно говоря, я долго пытался придумать, для чего еще нужны расчеты, но не придумал, поэтому будем рассматривать задачу расчета зарплаты.
Что такое расчеты
В принципе, конечный продукт расчета зарплаты - это набор записей регистра расчета вида:
Сотрудник |
Период |
Вид расчета |
Результат |
Данные |
Комментарий |
Измерение |
Служебный |
Служебный |
Реквизит |
||
Значение в колонке «Данные» отражают базовый оклад работника (согласно трудового договора), но эта сумма может быть увеличена премиями, уменьшена штрафами и невыходами и т.п., поэтому реальная сумма к выплате заносится после выполнения расчета в колонку «Результат». В этом и заключается расчет. Сумма по колонке «Ресурс» для данного сотрудника - причитающаяся ему зарплата.
Таким образом регистр расчета - по сути набор записей, по структуре похож на оборотный регистр накопления. Просто для выполнения сложных расчетов для него указываются дополнительные настройки, которые позволяют затем строить много виртуальных таблиц для регистра расчета, хотя, по сути этот регистр - просто набор записей, указанных на рисунке.
Каждая запись регистра расчетов относится к определенному виду расчета и периоду времени.
Виды расчетов
Каждая запись видов расчета имеет служебный реквизит - вид расчетов.
Вид расчетов можно представлять себе как элемент особого справочника типа «План видов расчетов» - он также имеет реквизиты, табличные части, предопределенные и заведенные пользователем элементы. В системе может быть несколько таких «справочников».
Для примера заведем план видов расчета Основной и в нем предопределенные виды расчета оклад , премия , невыход , командировка .
Виды расчета используются функционально для того, чтобы отразить влияние записей регистра расчета друг на друга. Но сокращенно говорят о влиянии видов расчета друг на друга:
Вид расчета |
Описание |
Пример |
По базовому периоду |
Результат расчета зависимого периода зависит от результата базового периода. Если результат базового периода изменится, то результат зависимого периода нужно пересчитать. |
Премия зависит по базовому периоду от оклада. |
Вытеснение по периоду |
Период действия зависимого периода вытесняет период действия базового периода, таким образом у базового периода появляется фактический |
Невыход влияет на фактический период действия оклада. |
Ведущие расчеты |
Расчет зависит от ведущего расчета, но не прямо а косвенно, т.е. расчет А зависит от базового расчета Б, а расчет Б зависит от базового расчета В, следовательно А косвенно зависит от В, т.е. А зависит от ведущего расчета В. В самом деле, при изменении расчета В может измениться Б и следовательно может измениться А. Система автоматически не отслеживает такие сложные зависимости, поэтому нужно указывать какие расчеты являются ведущими. |
Премия зависит по базе от оклада, но также косвенно зависит и от невыхода. |
В силу подобного влияния, период действия записи регистра расчетов делится на четыре периода:
Период |
Описание |
Период регистрации |
В каком периоде зарегистрировано событие, т.е. обычно когда введен документ. |
Период действия |
В каком периоде действует событие, т.е. к какому периоду относится событие. |
Базовый период |
Имеет смысл только для периодов, имеющих базовый период - описывает интервал базового периода. |
Фактический период действия |
Если период действия вытесняется другими видами расчетов, то фактический период действия состоит из нескольких периодов, когда этот вид расчета фактически действует. |
Период регистрации задается одним числом - началом периода, соответствующим периодичности регистра расчета. Даже если мы установим в это служебное поле другую дату, он все равно заменится на начало периода. Остальные периоды задаются двумя полями - началом и концом периода.Фактический период действия - это набор периодов, т.к. он может состоять из нескольких интервалов дат.
Графики времени
В системе имеется возможность связывать данные из регистров расчета с графиками времени, чтобы по любому периоду можно было получить количество рабочих часов.
График времени - это простой регистр сведений, одно измерение которого хранит дату, другое связывается с измерением регистром расчета, а один из ресурсов используется для учета времени.
Измерение, которое связывается с регистром расчета обычно носит смысл «вид графика».
Дата |
Вид графика |
Значение |
11.01.05 пт |
Пятидневка |
|
11.01.05 пт |
Шестидневка |
|
12.01.05 сб |
Пятидневка |
|
12.01.05 сб |
Шестидневка |
Почему используется измерение дата, а не периодический регистр сведений? Все очень просто - если 11 января в пятницу по пятидневке у нас 8 рабочих часов, то это еще не значит, что на следующий день у нас будет опять же 8 рабочих часов. А ведь если бы мы использовали периодический регистр, значение на следующий день бралось бы из предыдущего дня при отсутствии записей.
Таким образом, имея определенный период (фактического действия, регистрации, базовый период и т.п.) мы можем автоматически получить количество часов за этот период по графику.
Перерасчет
Перерасчет чем-то напоминает границу последовательности. Так как у нас есть зависимые расчеты, то при изменении их базовых и ведущих расчетов система должна как-то отметить, что мы должны пересчитать зависимые расчеты.
Для этого и служат перерасчеты.
Если мы рассчитаем базовые записи, то система отметит в перерасчетах, что нам нужно рассчитать зависимые записи. Как только мы рассчитаем зависимые записи, перерасчеты очистятся.
По сути перерасчеты - это список записей регистра расчета, которые нужно перерасчитать .
Если в перерасчетах не заводить ни одного измерения, то при изменении базовых расчетов в список перерасчета занесутся все зависимые записи.
Если мы заведем измерение «Сотрудник» в перерасчете, то при изменении базового расчета по сотруднику в перерасчеты добавятся зависимые записи только по этому сотруднику.
Практическое задание
Достаточно теории. Попробуем изучить детали на практике. За основу возьмем каркасную конфигурацию.
Постановка задачи:
Пусть премия задается фиксированным процентом к окладу (за вычетом невыходов и командировочных).
Командировочные пусть оплачиваются в двойном окладе + фиксированная сумма выплат за каждый день командировки.
Пусть за невыходы с сотрудника взымается штраф в размере половины оклада за период невыхода.
Ход выполнения:
Начальная подготовка
Создадим новый план видов расчета «Основной».
Определим виды расчета и зависимости между ними:
Базовые |
Вытесняющие |
Ведущие |
|
Оклад |
Невыход, Командировка |
||
Премия |
Невыход, Командировка |
Оклад, Невыход, Командировка |
|
Командировка |
|||
Невыход |
Занесем эти виды расчета в план видов расчета «Основной» и в свойствахвидов расчета поставим зависимости согласно таблице.
В регистре расчета зарплаты сделаем измерение «Сотрудник» типа «ФизическиеЛица » - чтобы в регистре был разрез аналитики по сотрудникам.
В конфигурации уже имеется документ «Начисление зарплаты».
В нем две даты в шапке - «дата» и «период регистрации», а также по две даты «дата начала» и «датаконца » в каждой строчке.
Подразумевается что дата - это просто дата оформления документа, период регистрации указывает, за какой месяц мы считаем зарплату, а даты в каждой строке описывают период действия каждого вида расчета.
Добавим в модуль документа первоначальную установку реквизита «Данные» - в него будем заносить начальный оклад, установку периода регистрации, периода действия и базового периода.
Модуль документа будет выглядеть примерно так:
Для К аждого ТекСтрокаСписок Из Список Цикл
// регистр Расчеты
Движение = Движения.Р асчеты.Добавить ();
Движение.С торно = Ложь;
Движение.В идРасчета = ТекСтрокаСписок.ВидРасчета ;
Движение.П ериодДействияНачало = НачалоДня (ТекСтрокаСписок.ДатаНачала );
Движение.П ериодДействияКонец = КонецДня ();
Движение.П ериодРегистрации = ПериодРегистрации ;
Движение.Б азовыйПериодНачало = НачалоДня (ТекСтрокаСписок.ДатаНачала );
Движение.Б азовыйПериодКонец = КонецДня (ТекСтрокаСписок.ДатаОкончания );
Движение.С отрудник = ТекСтрокаСписок.Сотрудник ;
Движение.Г рафикРаботы = ТекСтрокаСписок.График ;
Движение.Р езультат = 0;
Движение.Д анные = ТекСтрокаСписок.Размер ;
КонецЦикла ;
Реквизит Сторно нужен чтобы сторнировать записи (аналог минуса).
Проставляем вид расчета, даты приводим к началу и концу дня. Конечно базовый период можно проставлять только у зависимых по базе видов расчета, а Данные можно проставлять только у оклада, но и так все работает.
Все документы датировать будем 20.01.2003, период регистрации будем ставить 02.01.2003 (специально указываю не начальные и конечные данные, здесь это неважно, все равно при записи в ПериодРегистрации преобразуется в начало периода 01.01.2003). Январь 2003 года используем, потому что за этот период заполнены графики работ.
Заведем перерасчет «Перерасчет», добавим в него измерение «Сотрудник», связанное с измерением «Сотрудник».
Играем с Перерасчетами.
Для игры откроем консоль запроса - обработка «ПроизовльныйЗапрос » в каркасной конфигурации. Создадим новый запрос конструктором запроса, добавим туда виртуальную таблицу Перерасчеты.Р асчеты.Перерасчет , текст запроса будет таким:
ВЫБРАТЬ
РасчетыПерерасчет.О бъектПерерасчета
,РасчетыПерерасчет.В идРасчета ,
РасчетыПерерасчет.С отрудник
ИЗ
РегистрРасчета.Р асчеты.Перерасчет КАК РасчетыПерерасчет
Сформируем три документа - первым начислим оклад сотрудникам А и Б. Сотрудник А работает с 1 по 31 января, Б работает с 1 по 20 января. Вторым начислим премию сотруднику Б за период с 1 по 31 января, третьим назначим невыход сотруднику А с 20 по 25 января.
Играем с Фактическим периодом действия.
Создадим новый запрос - на этот раз в него добавим данные таблицы РегистрыРасчета.Р асчеты.ФактическийПериодДействия .
Сформируем запрос и увидим, что сотруднику А период действия оклада разбит на два периода - с 1 по 19 и с 26 по 31 января. Надеюсь вам понятно, что период был разбит на два, т.к. невыход вытеснил оклад.
Думаю, механизмы работы регистра расчета проясняются на глазах.
Изучаем графики.
Теперь попробуем начислить зарплату по окладу сотрудника.
Создадим новый запрос по регистру расчета используя виртуальную таблицу РегистрыРасчета.Р асчеты.ДанныеГрафика . У этой виртуальной таблицы можно задать параметр - условие отбора записей, например Сотрудник=&ВыбСотрудник и ВидРасчета=&ВидРасчета и График=&ВидГрафика .
Зададим в параметрах запроса конкретных сотрудников, виды расчета и графиков и посмотрим, сколько часов получается в результате.
Колонка результата |
Значение |
ЗначениеПериодДействия |
На какой период действия в часах была запись в регистре. |
ЗначениеФактическийПериодДействия |
Сколько сотрудник фактически проработал в часах |
ЗначениеБазовыйПериод |
Для оклада смысла не имеет, для премии - количество рабочих часов в базовом периоде. |
ЗначениеПериодРегистрации |
Сколько рабочих часов в периоде регистрации (месяц январь) |
Рассмотрим оформление каждого более подробно. Начнем с «Оказание услуг». Сразу хочется обозначить:
Документ «Оказание услуг» используется в бухгалтерском учете, когда одну и ту же услугу необходимо оказать нескольким контрагентам, то есть, массово.
Данная форма удобна для оформления абонентских ежемесячных платежей у сотовых операторов, у интернет-провайдеров, в оплате коммунальных платежей, при аренде помещений и так далее. Чтобы найти в программе 1С журнал «Оказание услуг», нужно перейти на вкладку меню «Продажи», раздел «Продажи» и выбрать одноименный пункт:
Формирование нового документа производится через клавишу «Создать». Нажимаем, открывается пустая форма для ввода основных параметров в верхней части (шапке) с несколькими вкладками. Разберем заполнение. Шапка документа имеет несколько полей:
«Номер и дата» – вводить не нужно, так как подставляются самостоятельно программой 1С по порядку.
«Вид расчетов» – можно указать произвольное наименование, которое будет отображаться в отчетах и нужно для быстрой идентификации. Например, название тарифа.
«Номенклатура» – здесь указывается наименование услуги, например, «Интернет», «Телефония» или «Доставка».
Если бухгалтерский учет в 1С ведется по нескольким организациям (например, вы удаленно ведя учет для разных организаций), то будет доступно для заполнения еще поле «Организация». Здесь нужно сделать выбор из справочника:
Первая вкладка «Контрагенты» отражает список всех юридических и/или физических лиц, которым предоставляется данная услуга. Заполнение возможно несколькими способами. Через клавишу «Добавить» табличная часть заполняется из справочника построчно. Это неудобно и замедляет процесс оформления. Гораздо быстрее выбрать нужных контрагентов через клавишу «Подбор» и массово перенести в документ. Если ранее в программе был создан какой-либо документ, что можно воспользоваться клавишей «Заполнить» и из выпадающего списка выбрать подходящий вариант. В каждой строке должны быть заполнены все колонки (договор, количество, цена, сумма, счет расчетов и счет авансов). После проверки переходим на следующую вкладку.
Вкладка «Счета-фактуры» отвечает за НДС и регистрацию счета-фактуры. Если налог предусмотрен на оказание услуг, то в шапке нужно выбрать процентную ставку и поставить галочку возле пункта «Цена включает НДС». При этом в табличной части в колонке «Выписан счет-фактура» необходимо отметить галочками, где нужно оформление этого документа. Если список большой, то предусмотрена групповая отметка через клавишу «Отметить все»:
На следующей вкладке «Счета учета» необходимо выбрать номера счетов учета по всем пунктам (счет доходов, субконто, счет учета НДС по реализации, счет расходов):
Последняя вкладка документа «Дополнительно» содержит данные представителя организации, который имеет право подписывать документы (поле «Исполнитель»). Если уполномоченное лицо не является руководителем, то указывается номер и дата доверенности на право подписи (поле «На основании»):
Эта информация будет выведена в печатной форме акта об оказании услуг. Напечатать документ можно через кнопку «Печать», пункт «Акты об оказании услуг»:
По каждому контрагенту, добавленному в список, будет распечатан отдельный акт со своим порядковым номером (1/1, 1/2 и так далее).
Каждый акт должен быть подписан со стороны заказчика и исполнителя. Так как вводились данные на право подписи доверенного лица от исполнителя, эта информация будет отображена в документе, необходимо только подписать.
Рассмотрим теперь документ «Реализация (акты, накладные)».
Данный документ используется в случаях, когда одному контрагенту необходимо оформить несколько услуг. Например, доставка, демонтаж и монтаж пластиковых окон.
Для начислений, связанных с оплатой труда, типична ситуация, когда одни начисления строятся на базе других. Например, премия зависит от оклада за прошлый год, а отпускные зависят от того, проработал ли сотрудник полгода на предприятии, либо нет. Механизмы планов видов расчетов позволяют реализовать эти зависимости в полной мере. Рассмотрим настройку плана вида расчета:
- Использует период действия - определяет, является ли вид расчета периодическим. Например, для оклада, алиментов, квартальной премии период действия необходим, а для разовой премии за выдающиеся результаты, или штрафа - нет.
- Зависимость от базы - определяет возможность зависимости видов расчетов данного плана от других видов расчетов (этого либо иных планов видов расчета). Если:
- Не зависит - виды расчетов данного плана будут строго самостоятельны
- Зависит по периоду действия - виды расчетов данного плана зависят от протяженности других видов расчетов. Например, премия за выслугу лет
- Зависит по периоду регистрации - виды расчетов данного плана зависят от других видов расчетов за определенный период. Например, квартальная премия в размере оклада
- Базовые план видов расчета - можно указать планы, виды расчетов которых можно будет выбрать в качестве базы. Можно сослаться в том числе и на текущий план видов расчетов. Опция доступна только если Зависимость от базы не выставлена в значение Не зависит
На первой, Основное, можно указать код и наименование вида расчета, а также выставить опцию Период действия является базовым периодом . Опция доступна только в случае, если план видов расчета периодический, то есть Использует период действия = Да:
На закладке Базовые указываются виды расчета, которые собственно и являются базовыми для данного:
Важно, что доступны лишь те виды расчетов, планы для которых определены в настройке данного плана видов расчетов:
На закладке Вытесняющие указываются вытесняющие виды расчетов, то есть те, что исключают действие текущего (например, одновременно сотрудник может получать либо оклад, либо больничный, либо отпускные):
На закладке Ведущие указываются связанные с данным виды расчетов. Указывать их надо вручную, даже если вы уже выбрали какой-то вид расчета в качестве базового, тут его надо прописать еще раз. Настройка необходима для контроля перерасчета - если мы пересчитаем задним числом данные по виду расчета, ведущего для данного, то и данный вид расчета также надо будет пересчитать.
Вопрос 14.04 экзамена 1С:Профессионал по платформе. Зависимость от базы как Зависимость по периоду действия в плане видов расчета устанавливается, если...
- предполагается, что хотя бы один вид расчета в плане будет обладать протяженностью во времени
- предполагается, что в дальнейшем при определении расчетной базы для записи регистра расчета будут учитываться только те записи, у которых фактический период действия попадает в базовый период
- предполагается, что все виды расчета в плане будут обладать протяженностью во времени
Правильный ответ второй, разбор выше.
Вопрос 14.05 экзамена 1С:Профессионал по платформе. Зависимость от базы как Зависимость по периоду регистрации в плане видов расчета устанавливается, если...
- предполагается, что в дальнейшем при определении расчетной базы для записи регистра расчета будут учитываться только те записи, у которых Период регистрации попадает в базовый период
- предполагается, что ни один вид расчета в плане не будет обладать свойством действовать какой-то период времени
- предполагается, что в регистре расчета, связанном с данным планом видов расчета, все виды расчета не будут обладать свойством действовать какой-то период времени
Первый ответ, разбор выше.
Вопрос 14.31 экзамена 1С:Профессионал по платформе. Если установлена зависимость базы по периоду действия, то...
- может произойти частичное попадание записей регистра расчета в базовый период
- "частичных" результатов не будет: или запись будет целиком учтена, или целиком не учтена
- может произойти частичное попадание записей регистра расчета в базовый период, причем база будет рассчитана пропорционально тому, какую часть от фактического периода влияющей записи составляет перекрывающийся, с указанным базовым периодом, участок. При этом будут использованы данные графика, связанного с этой записью
- верны 1 и 3 утверждения
Правильный ответ третий - частичное попадание учитывается пропорционально.
Вопрос 14.36 экзамена 1С:Профессионал по платформе. Если одним документом рассчитываются зависимые по базе записи (например, Оклад и ПремияПроцентом, в состав базы которой попадает оклад), то...
- прежде, чем рассчитать зависимую от базы запись, нужно рассчитать запись, попадающую в эту базу и записать результат в регистр расчета. Таким образом, в общем случае в процессе проведения документа будет произведено две процедуры записи в регистр расчета
- последовательность расчета таких записей может быть произвольной, поскольку система автоматически определит последовательность расчета в зависимости от уровня приоритета видов расчета. В процессе проведения документа будет произведена одна процедура записи в регистр расчета
- прежде, чем рассчитать зависимую от базы запись, нужно рассчитать запись, попадающую в эту базу. В процессе проведения документа будет произведена одна процедура записи в регистр расчета
Правильный ответ первый - чтобы сделать вторую запись, нужно сначала считать первую (в числе прочих).
Вопрос 14.06 экзамена 1С:Профессионал по платформе. Базовые планы видов расчета - это...
- планы видов расчета, с которыми связаны регистры расчета
- те планы видов расчета, из которых будут браться виды расчета для вычисления расчетной базы
- те планы видов расчета, у которых свойство "зависимость от базы" установлено в значение, отличное от "не зависит"
Верный ответ очевидно второй.
Вопрос 14.07 экзамена 1С:Профессионал по платформе. Отсутствие предопределенной табличной части "Базовые виды расчета" у видов расчета Плана видов расчета можно объяснить тем, что...
- в конфигурации задано несколько Планов видов расчета и в качестве базовых можно указать виды расчета из других планов видов расчета
- в регистре расчета не установлен признак "базовый период"
- зависимость от базы в плане видов расчета не определена
- верны 1 и 3 ответы
Правильный ответ третий, эта особенность описана в посте.
Вопрос 14.33 экзамена 1С:Профессионал по платформе. В качестве базовых регистров (из ресурсов которых рассчитывается база)...
- могут выступать несколько регистров расчета
- может выступать только один регистр расчета
- могут выступать регистры расчета, которые связаны с планами видов расчета, являющимися базовыми для плана видов расчета, с которым связан рассматриваемый регистр расчета
- верны утверждения 1, 3
Правильный ответ четвертый, зависимость может быть не только от нескольких регистров, но и многоуровневая.
Вопрос 14.56 экзамена 1С:Профессионал по платформе. Для вида расчета Премия в качестве базового указан вид расчета Оклад, кроме того дополнительно он назначен ведущим для премии. В каком случае в таблице перерасчетов появится информация о необходимости пересчета оклада?
- Всегда, при вводе оклада
- Никогда не появится
- Только, если оклад будет введен отдельным документом после того как премия была введена и рассчитана
Правильный ответ третий, раз премия зависит от оклада - нужно ее пересчитать после ввода оклада задним числом.
Вопрос 14.08 экзамена 1С:Профессионал по платформе. Вытесняющие виды расчета - это такие виды расчета...
- записи которых в регистрах расчета должны вытеснять записи данного вида расчета по периоду действия
- которые взаимно исключают друг друга по фактическому периоду действия и система должна гарантировать, что ввод одного вида расчета приведет к исключению другого вида расчета
- которые исключают друг друга по периоду регистрации
Более корректный ответ тут первый.
Вопрос 14.09 экзамена 1С:Профессионал по платформе. Вытесняться могут виды расчета, которые...
- принадлежат нескольким планам видов расчета
- принадлежат одному плану видов расчета
- оба утверждения верны
Правильный ответ второй. Виды расчетов иного плана нельзя выбрать в данном.
Вопрос 14.10 экзамена 1С:Профессионал по платформе. Понятие вытесняющие виды расчетов теряет смысл, если...
- период действия в плане видов расчета не используется
- фактический период действия в плане видов расчета не используется
- период регистрации и период действия в плане видов расчета не используется
- базовый период в плане видов расчета не используется
Вопрос 14.35 экзамена 1С:Профессионал по платформе. Механизм вытеснения проявляется...
- в изменении таблицы регистра расчета
- в изменении состава записей таблицы Фактического периода действия
- в том, что при вводе движений одними документами производится необратимое искажение движений других документов
- все утверждения верны
Правильный второй ответ. Таблица регистра расчета не меняется, искажение это вообще непонятно что.
Вопрос 14.38 экзамена 1С:Профессионал по платформе. Если задать в плане видов расчета, что "Отпуск" вытесняет "Оклад", и, в тоже время, что "Оклад" вытесняет "Отпуск", и попытаться сохранить изменения, то...
- система выдаст предупреждение и не станет сохранять изменения
- возникнет ошибка системы
- все сохранится
По ответам правильный вариант первый. На деле же система никак не реагирует на такую настройку, по крайней мере в предопределенных. Оклад:
и премия:
Вопрос 14.52 экзамена 1С:Профессионал по платформе. Для вида расчета Оклад в качестве вытесняющего указан вид расчета Командировка, однако ведущим он не назначен. В каком случае в таблице перерасчетов появится информация о необходимости пересчета оклада?
- Всегда, при вводе командировки
- Никогда не появится
- Только, если командировка будет введена отдельным документом
- Только, если командировка будет введена отдельным документом за прошлый период
Третий ответ.
Вопрос 14.11 экзамена 1С:Профессионал по платформе. Ведущие виды расчета - это...
- виды расчета, при вводе (или изменении) которых результат текущего вида расчета должен быть пересчитан
- которые взаимно исключают друг друга по периоду действия и система должна гарантировать, что ввод одного из них приведет к исключению другого
- виды расчета, при удалении которых запись с текущим видом расчета будет автоматически удалена
Правильный ответ первый, они как бы master, соответственно при изменении нужно пересчитать все slave расчеты.
Вопрос 14.12 экзамена 1С:Профессионал по платформе. В качестве ведущих можно указать...
- виды расчета из нескольких планов видов расчета
- виды расчета из одного плана видов расчета
- оба утверждения верны
Правильный ответ третий, ведущие можно выбрать любые.
Вопрос 14.54 экзамена 1С:Профессионал по платформе. Для вида расчета Премия в качестве базового указан вид расчета Оклад, однако ведущим он не назначен. В каком случае в таблице перерасчетов появится информация о необходимости пересчета оклада?
- Всегда, при вводе оклада
- Никогда не появится
- Только, если оклад будет введен отдельным документом
- Только, если оклад будет введен отдельным документом после того как премия была введена и рассчитана
Правильный ответ второй - раз не ведущий, значит прямой зависимости нет и пересчитывать не надо.
Регистры расчета - это прикладные объекты конфигурации . Они используются в механизме сложных периодических расчетов и служат для хранения записей о тех или иных видах расчета, которые необходимо выполнить, а также для хранения промежуточных данных и самих результатов выполненных расчетов
Структура
Информация в регистре расчета хранится в виде записей, каждая из которых содержит значения измерений и соответствующие им значения ресурсов.
Измерения регистра описывают разрезы, в которых хранится информация, а ресурсы регистра непосредственно содержат хранимую информацию. Например, для регистра расчета Начисления , который имеет следующую структуру:
записи, хранимые в базе данных, будут выглядеть следующим образом:
Связь с планом видов расчета
Регистр расчета связан с одним из планов видов расчета, существующих в прикладном решении. Эта связь обуславливает наличие у каждой записи регистра поля Вид расчета , благодаря которому механизмы регистра могут отслеживать взаимное влияние записей расчета друг на друга.
Периодичность
Регистр расчета хранит данные не только в разрезе созданных измерений, но и в разрезе времени. Это является причиной существования у каждой записи регистра расчета еще одного обязательного поля - Период действия . При создании регистра расчета разработчик может указать минимальную периодичность, с которой записи будут заноситься в регистр:
Подчинение регистратору
Изменение состояния регистра расчета происходит, как правило, при проведении документа. Поэтому каждая запись регистра связана с определенным документом - регистратором и номером строки этого документа. Добавление записей в регистр, их изменение и удаление возможно только одновременно для всех записей, относящихся к одному документу.
Связь с графиком времени
Для регистра расчета может быть указана связь с графиком времени. График времени представляет собой регистр сведений, в котором содержится временная схема исходных данных, участвующих в расчетах. Измерениями этого графика могут быть, например, график работы и дата, а ресурсом – количество рабочих часов в этой дате. Тогда можно будет связать запись регистра расчета с каким-либо конкретным графиком работы и в дальнейшем, средствами встроенного языка получать информацию о количестве рабочих часов, необходимую для выполнения расчетов.
Например, график времени, имеющий следующую структуру:
Перерасчеты
Регистр расчета может включать в себя специальные объекты - Перерасчеты :
В этих объектах система будет хранить информацию о том, какие записи регистра расчета утратили свою актуальность и подлежат перерасчету в результате работы механизмов зависимости по базовому периоду и вытеснения по периоду действия.
Уникальность записей
Система обеспечивает контроль уникальности записей, хранящихся в регистре расчета. Поэтому в регистре расчета не может находиться двух записей, относящихся к одной и той же строке одного и того же документа.
Механизмы, реализуемые регистром расчета
Вытеснение по периоду действия
Механизм вытеснения по периоду действия позволяет рассчитывать фактический период действия записи регистра расчета на основании анализа других записей, содержащихся в регистре.
В общем случае, запись регистра расчета содержит две даты, определяющие период, на который распространяется действие данной записи. Этот период называется периодом действия записи. Однако, если вид расчета, к которому относится данная запись, может быть вытеснен другим видом расчета, то период действия данной записи является лишь "запрашиваемым" периодом, то есть "мы хотим, чтобы запись действовала в этом периоде". Реально, фактический период действия данной записи можно будет определить лишь после анализа всех записей видов расчета, которые вытесняют данный вид расчета по периоду действия. Фактический период действия будет представлять собой набор периодов, являющихся подмножеством исходного периода действия данной записи. Если не будет найдено ни одной записи, вытесняющей данную по периоду действия, то фактический период действия данной записи будет равен ее периоду действия. Другим крайним случаем вытеснения по периоду действия является полное вытеснение данной записи другими записями. В этом случае фактический период действия записи будет отсутствовать.
Каждая запись регистра расчета содержит вид расчета, к которому она относится. Чтобы определить, какие записи должны вытеснять данную запись по периоду действия, регистр расчета использует связь с планом видов расчета, в котором описано взаимное влияние видов расчета друг на друга. Использование этой связи позволяет регистру расчета определять фактический период действия каждой записи.
Зависимость по базовому периоду
Механизм зависимости по базовому периоду позволяет получать значение базы для записи регистра расчета на основании анализа других записей, содержащихся в регистре.
База представляет собой числовое значение, которое должно быть использовано для расчета результата данной записи. База рассчитывается путем анализа результатов расчета других записей, от которых данная запись зависит по базовому периоду. Таким образом, в общем случае, запись регистра расчета содержит две даты, определяющие период, в котором нужно анализировать записи видов расчета, от которых данный вид расчета зависит по базе - базовый период. Использование связи с планом видов расчета позволяет регистру расчета определять виды расчета, от которых данный вид расчета зависит по базовому периоду.
Регистр расчета поддерживает два вида зависимости по базовому периоду:
- зависимость по периоду действия;
- зависимость по периоду регистрации.
В случае зависимости по периоду действия для получения базы будут выбираться те записи, для которых найдено пересечение их фактического периода действия с базовым периодом данной записи. Значение базы, которая будет получена от конкретной влияющей записи, в общем случае не равно результату, который содержит эта запись. База будет рассчитана пропорционально тому, какую часть от фактического периода влияющей записи составляет перекрывающийся, с указанным базовым периодом, участок. При этом будут использованы данные графика, связанного с этой записью.
В случае зависимости по периоду регистрации для получения базы будут выбираться результаты расчета тех записей, которые попадают в базовый период данной записи значением своего поля «Период регистрации».
Наиболее сложным вариантом зависимости по базовому периоду является случай, когда для вида расчета данной записи установлено свойство "Период действия является базовым периодом". Это свойство означает, что в качестве базового периода данной записи будет использоваться не базовый период, который указан в соответствующих полях записи, а фактический период действия записи, получаемый в результате работы механизма вытеснения по периоду действия и являющийся, в общем случае, набором некоторых периодов.
Формирование записей перерасчета
Механизм формирования записей перерасчета отслеживает факт появления в регистре записей, влияющих на результат расчета уже существующих записей. Возможность влияния новых записей на существующие определяется в результате анализа взаимного влияния видов расчета и на основании работы механизмов вытеснения по периоду действия и зависимости по базовому периоду.
Результатом работы механизма формирования записей перерасчета является набор записей перерасчета, содержащий информацию о том, какие записи регистра должны быть рассчитаны заново (перерасчитаны).
Функциональные возможности регистра расчета
Основными функциональными возможностями, которые предоставляет регистр расчета разработчику, являются:
- выбор записей в заданном интервале по заданным критериям;
- выбор записей по регистратору;
- получение значения базы для записей регистра, удовлетворяющих заданному отбору;
- получение данных графика для записей регистра, удовлетворяющих заданному отбору;
- получение данных о записях, подлежащих перерасчету;
- чтение, изменение и запись набора записей в регистр.