Что такое вид расчета база
План видов расчета
Планы видов расчета — это прикладные объекты конфигурации. Они используются в механизме сложных периодических расчетов и служат для описания видов расчета и их взаимного влияния друг на друга.
Структура
План видов расчета представляет собой список видов расчета. Каждый вид расчета имеет код, наименование и набор реквизитов, содержащих дополнительную информацию о данном виде расчета:
Например, план видов расчета Начисления может выглядеть следующим образом:
Создание и редактирование видов расчета может выполняться как разработчиком (предопределенные виды расчета), так и пользователем, в процессе работы с прикладным решением. Однако пользователь не может удалять виды расчета, созданные разработчиком.
Виды расчета, созданные в плане видов расчета, могут влиять друг на друга. Система поддерживает два вида такого влияния: зависимость по базовому периоду и вытеснение по периоду действия.
Для каждого вида расчета можно указать перечень видов расчета, от которых он будет зависеть по базовому периоду, и которые будут вытеснять его по периоду действия.
Кроме этих зависимостей, для вида расчета могут быть указаны так называемые ведущие виды расчета, — те, от которых он не зависит напрямую, но которые могут оказывать на него влияние через другие виды расчетов.
Формы плана видов расчета
Для того чтобы пользователь мог просматривать и изменять данные, содержащиеся в плане видов расчета, система поддерживает несколько форм его представления. Система может автоматически генерировать все нужные формы; наряду с этим разработчик имеет возможность создать собственные формы, которые система будет использовать вместо форм по умолчанию:
Форма списка
Для просмотра видов расчета используется форма списка. Она позволяет выполнять навигацию по списку, добавлять, помечать на удаление и удалять виды расчетов. Форма списка позволяет выполнять сортировку и отбор отображаемой информации по нескольким критериям:
Форма вида расчета
Для просмотра и изменения данных отдельных видов расчета используется форма вида расчета. Как правило, она представляет данные в удобном для восприятия и редактирования виде:
Кроме этих двух форм для видов расчета поддерживается форма выбора конкретных видов расчета из списка. Она, обычно, содержит минимальный набор информации, необходимой для выбора того или иного вида расчета.
Регистры расчета в 1С для чайников(Часть 3)
В данной статье на примерах покажем принцип действия «механизма зависимости по базовому периоду«, а также покажем принцип действия перерасчётов в 1С. В качестве примера для расчёта возьмём расчёт премии сотрудника процентом от оклада, пусть премия сотруднику начисляется ежемесячно и её размер зависит от начисленного оклада за 2 предыдущих месяца.
Премия — это вид расчёта не обладающий протяжённостью во времени. Объекта для хранения видов расчётов не обладающих протяжённостью во времени у нас в конфигурации не предусмотрено. Создадим такой объект.
Добавим в конфигурацию план видов расчёта «ДополнительныеНачисления». Перейдём на вкладку «Расчет».
Флаг «Использует период действия» не устанавливаем так как план видов расчёта «ДополнительныеНачисления» не будет хранить виды расчётов обладающие протяжённостью во времени. Установим флаг «Зависимость от базы» в значение «Зависит по периоду действия«(в нашем случае база для расчета премии будет зависеть от периода действия оклада), если «Зависимость от базы» установить в значение «Зависит по периоду регистрации» тогда база для расчета премии будет зависеть от периода регистрации записи по окладу(поле ПериодРегистрации регистра расчёта).
В качестве базовых планов видов расчёта укажем ПВР «Основные начисления»(так как вид расчёта Оклад у нас хранится в ПВР «Основные начисления») и ПВР «Дополнительные начисления»(пусть в базу для расчёта премии у нас попадает не только оклад, но и премия начисленная в предыдущие периоды).
Создадим предопределённый вид расчёта «Премия».
На вкладке «Базовые» мы видим планы видов расчёта «Основные начисления» и «Дополнительные начисления»(это те ПВР, которые мы указали на вкладке «Расчёт» в качестве базовых планов видов расчёта). Укажем виды расчёта «Оклад» и «Премия». Примечание: в качестве базовых можно указать как протяжённые, так и не протяжённые во времени виды расчётов(в данном примере вид расчёта «Оклад» у нас обладает протяжённостью во времени, а премия нет).
На вкладке «Ведущие» укажем такие же виды расчёта «Оклад» и «Премия». На вкладке ведущие указываются виды расчётов при изменении которых требуется пересчитать текущий вид расчёта «Премия»(т.е. в данном случае при изменении оклада за прошлые периоды мы должны пересчитать премию за текущий период, а также при изменении премии за прошлые периоды мы должны пересчитать премию за текущий период). С вкладкой «Ведущие» связан объект «Перерасчёты«. Перерасчёт показывает какие данные необходимо пересчитать при изменении ведущих видов расчёта.
Создадим регистр расчёта «Дополнительные начисления».
На вкладке «Основное» укажем созданный ранее план видов расчета «Дополнительные начисления». Поставим флаг «Базовый период» — у нас стали доступны поля «Базовый период начало» и «Базовый период конец«. Укажем периодичность — месяц. В качестве регистратора укажем документ «Начисление зарплаты». Структура регистра показана выше — измерение «Сотрудник», ресурс «Сумма», реквизит «Параметр» для хранения процента премии.
В полях «Базовый период начало» и «Базовый период конец» мы указываем за какой период брать базу для расчёта премии.
Доработаем документ «Начисление зарплаты»:
Добавим табличную часть «Дополнительные начисления».
Реквизит «ВидРасчета» имеет тип «ПланВидовРасчетаСсылка.ДополнительныеНачисления», типы остальных реквизитов очевидны.
Дополним обработку проведения документа движениями по регистру расчета «ДополнительныеНачисления»:
Заполним в документе табличную часть «ДополнительныеНачисления» и проведём документ:
В движениях документа видим, что все поля заполнились кроме суммы т.к. расчёт премии ещё не сделали:
Базовый период для расчета премии у нас 01.01.2017-28.02.2017, процент премии-10, сотрудник Иванов.
Выполним расчёт премии:
Для этого дополним общий модуль «Расчет» кодом расчета премии, полный текст общего модуля расположен ниже:
Для расчёта премии используем виртуальную таблицу «БазаОсновныеНачисления«(эта таблица у нас доступна в конструкторе запросов так как мы для ПВР «ДополнительныеНачисления» в качестве базовых планов видов расчёта указали ПВР»ОсновныеНачисления»). База будет получена за интервал между «Базовый период начало» и «Базовый период конец» по виду расчёта «Оклад» так как он у нас входит в базу для премии. Так же в виртуальную таблицу необходимо передать массив измерений регистра в разрезе которых будем получать базу, у нас это измерение одно «Сотрудник», его и передаём. Если измерения будет 2, тогда передать 2.
Проверим, считается ли премия:
Создадим 2 документа с видом расчёта «Оклад» по сотруднику Иванов за Январь 2017 и Февраль 2017. На основе этих документов и будет собираться база для расчёта премии.
Перепроведём документ(за март 2017) в котором начисляем премию. В движениях документа видим, что премия рассчиталась и начислена в размере 12000 рублей.
Проверим расчёт премии: По сотруднику Иванов за период Январь 2017 — Февраль 2017 было начислено 120000 рублей оклада. (120000/100)*10 = 12000 рублей.
Перерасчёты
Теперь поговорим про перерасчеты.
Создадим в регистре расчёта «ДополнительныеНачисления» перерасчёт «Перерасчет1» с измерением «Сотрудник».
Свяжем измерение перерасчёта «Сотрудник» с измерением «Сотрудник» регистра «ДополнительныеНачисления» и измерениями регистров, указанных на вкладке «Ведущие».
Благодаря этой связи премия, начисленная на основании «Оклада» при изменении этого «Оклада» попадёт в перерасчёт. Это значит, что при изменении базы для премии по сотруднику Иванов, премия по сотруднику Иванов попадёт в перерасчёт.
Проверим так ли это…
Создадим отчёт на СКД на основе данных «Перерасчет1».
Изначально отчёт пустой…
Теперь изменим значение оклада по сотруднику Иванов за Февраль 2017 — было 60000 рублей, изменим на 80000 рублей.
Сформируем заново отчёт по перерасчёту…
Видим, что вид Премия(за март 2017) попала в перерасчёт.
Лабораторная работа № 15
Онлайн-конференция
«Современная профориентация педагогов
и родителей, перспективы рынка труда
и особенности личности подростка»
Свидетельство и скидка на обучение каждому участнику
Лабораторная работа № 15
Тема работы: План видов расчета, регистр расчета
Цель работы: С оздание плана видов расчета и регистра расчета.
Ход выполнения работы.
В этой работе мы познакомимся с объектами конфигурации План видов расчета и Регистр расчета и узнаем об основных понятиях, используемых при создании сложных периодических расчетов. Такие расчеты используются, прежде всего, при расчете зарплаты. Поэтому дальнейшее их рассмотрение мы будем строить на примере расчета зарплаты сотрудников нашей фирмы.
Алгоритм каждого расчета опирается на две категории параметров: период, за который нужно получить конечные данные, и набор некоторых исходных данных, используемых при расчете.
В реальной жизни различные виды расчета оказывают некоторое влияние на другие виды расчета.
Это влияние может быть на исходные данные, используемые при расчете.
В качестве примера можно привести начисление премии в виде процента от оплаты по окладу. При изменении оклада размер премии тоже должен быть пересчитан. Т.е. сумма начисленного оклада является базой для расчета премии.
Это влияние может быть не на исходные данные, а на сам период, за который производится расчет.
В результате если за полный месяц работы сотруднику должно быть начислено 9300 рублей, то теперь за фактический период работы, начисление составит 6300 рублей.
Таким образом, с каждым видом расчета будет связано три периода:
-Период действия является «запрашиваемым». Т.е. указывая период действия, мы говорим: «Мы хотели бы, чтобы результат действовал в этом периоде».
— Фактический период – это то, что получилось из периода действия после анализа всех периодов действия расчетов, которые вытесняют наш по периоду действия.
-Базовый период – в котором мы анализируем результаты других расчетов, влияющих на наш по базовому периоду (календарный месяц).
План видов расчета
Объект План видов расчета предназначен для описания структуры хранения информации о возможных видах расчетов. На основе Плана видов расчета платформа создает в базе данных таблицу, в которой будет храниться информация о том, какие существуют виды расчета и какие взаимосвязи между ними.
Отличительной особенностью плана видов расчета является то, что пользователь в процессе работы может добавлять новые виды расчета.
План видов расчета имеет свойства:
— Использует период действия – определяет, будут ли в этом плане находиться виды расчета, которые могут быть вытеснены по периоду действия.
— Зависимость от базы – определяет, будут ли в этом плане находиться зависимые по базовому периоду виды расчета.
Еще одной важной особенностью плана видов расчета является возможность создания предопределенных видов расчета и описания их взаимного влияния. При этом разработчик имеет возможность указать три категории видов расчета, влияющих на предопределенный вид расчета:
— Базовые – их результаты должны быть использованы при перерасчете этого вида расчета.
— Вытесняющие – вытесняют этот вид расчета по периоду действия.
— Ведущие – изменение их результатов должно приводить к необходимости перерасчета этого вида расчета.
Добавление плана видов расчета
На закладке Расчет укажите, что он будет использовать период действия и зависеть от базы по периоду действия. В качестве базового плана видов расчета укажем его самого, поскольку все наши виды расчетов будут храниться в единственном плане видов расчета.
На закладке Прочее зададим предопределенные виды расчета:
— Невыход – с именем, кодом и наименованием Невыход ;
— Оклад – с именем, кодом и наименованием Оклад и вытесняющим его видом расчета Невыход ;
Что такое Регистр расчета
Объект конфигурации Регистр расчета предназначен для описания структуры накопления данных, являющихся результатами расчетов. На основе регистра расчета платформа создает в базе данных таблицы, в которых будут накапливаться данные, формируемые различными объектами базы данных.
Отличительные особенности регистра расчета:
— Он не предназначен для интерактивного редактирования пользователем. Разработчик может при необходимости предоставить пользователю возможность редактирования, но изначально регистр расчета для этого не предназначен.
— Периодичность. Определяет промежуток времени, к которому будет относиться каждая запись регистра.
— Зависимость по периоду действия. При анализе базовых записей будут выбираться те, в которых найдено пересечение фактического периода действия и указанного базового периода.
— Зависимость по периоду регистрации. При анализе базовых записей будут выбираться те, которые попадают в указанный базовый период значением своего поля Период регистрации.
— Связь с планом видов расчета. На основе этой связи работают механизмы вытеснения по периоду действия и зависимости по базовому периоду, поскольку в плане видов расчета описано взаимное влияние видов расчета друг на друга.
Таблицы перерасчета заполняются автоматически на основании записей регистров расчета, затронутых ведущими видами расчета и на основании записей регистра расчета, для которых изменился фактический период действия.
Регистр расчета может быть связан с графиком времени. Такой график времени должен представлять собой регистр сведений (непериодический, с обязательным измерением типа Дата и ресурсом типа Число), в котором содержится временная схема исходных данных, участвующих в расчетах. Измерениями этого графика могут быть, например, график работы (ссылка на справочник) и дата, а ресурсом – количество рабочих часов в этой дате. В этом случае можно будет связать запись регистра расчета с каким-либо конкретным графиком работы (указав в качестве реквизита записи ссылку на справочник ВидыГрафиковРаботы) и в дальнейшем средствами встроенного языка получать информацию о количестве рабочих часов в периоде действия, фактическом периоде действия или периоде регистрации этой записи.
Добавление регистра расчета
Справочник понадобится нам для хранения информации о том, какие графики работы существуют в нашей фирме, а регистр сведений – для указания того, какие дни в месяце являются рабочими, поскольку сумма оплаты по окладу будет рассчитываться исходя из отработанных дней в месяце сотрудником.
Теперь заполним регистр сведений ГрафикиРаботы данными о рабочих днях июля графика мастеров. (Если произошла ошибка Frame.dll, настройте родительское окно в режим Соединяемое, Свободное.)
Теперь все готово для создания регистра расчета.
На закладке Данные создадим:
Реквизит ГрафикРаботы будем использовать, чтобы связать запись регистра с используемым графиком работы, а реквизит ИсходныеДанные – чтобы хранить в нем данные для расчета или перерасчета.
— Измерение регистра – Сотрудник ;
Как использовать план видов характеристик для организации.
Что такое вид расчета, база.
Какая разница между базовым периодом, периодом действия и фактическим периодом.
Что такое зависимость по базовому периоду.
Что такое вытеснение по периоду действия.
Для чего предназначен объект конфигурации План видов расчета.
Каковы основные свойства плана видов расчета.
Какая разница между базовыми, вытесняющими и ведущими видами расчетов.
Как создать план видов расчета.
Что такое объект конфигурации Регистр расчета.
Каковы отличительные особенности регистра расчета.
Объект 1С «Планы видов расчета»
Виды расчета — это объекты базы данных, о писывающие алгоритмы, по которым рассчитывается некоторая информация (например, часть заработной платы: оклад, премия и т.д.). Являются элементами плана видов расчёта.
Структура объекта 1С «Планы видов расчета»
План видов расчета представляет собой список видов расчета. Каждый вид расчета имеет код, наименование и набор реквизитов, содержащих дополнительную информацию о данном виде расчета.
Создание и редактирование видов расчета может выполняться:
Пользователь не может удалять виды расчета, созданные разработчиком.
Виды расчета, созданные в плане видов расчета, могут влиять друг на друга. Система поддерживает два вида такого влияния:
Для каждого вида расчета можно указать перечень видов расчета, от которых он будет зависеть по базовому периоду, и которые будут вытеснять его по периоду действия (подробнее. ).
Например, вид расчета «Алименты» может зависеть по базовому периоду от таких видов расчета, как «Оклад», «ТарифДневной», «ДоплатаПерсональная» и т.д. А вид расчета «Оклад» может вытесняться видом расчета «Невыход»:
Настройка Плана видов расчета в 1С
Некоторые начисления, например «Оклад»,
Свойства вкладки «Расчет»:
Заполняя либо очищая программно это свойство, можно «обычный» элемент делать предопределенным, и наоборот. Если оно заполнено, то другой стандартный реквизит, «Предопределенный», принимает значение «Истина».
Свойства предопределенного элемента плана расчетов в 1С:
Ведущими должны быть как минимум все базовые и вытесняющие виды расчета, т.к. от их изменений напрямую зависит текущий вид расчета.
Особенности работы с планами видов расчета:
Особенности зависимостей планов видов расчета:
Формы плана видов расчета
Для того чтобы пользователь мог просматривать и изменять данные, содержащиеся в плане видов расчета, система поддерживает несколько форм его представления:
Форма вида расчета
Форма вида расчета используется для просмотра и изменения данных отдельных видов расчета. Как правило, она представляет данные в удобном для восприятия и редактирования виде.
Форма списка планов вида расчета
Форма списка планов вида расчета для просмотра видов расчета используется форма списка. Она позволяет:
Кроме этих двух форм для видов расчета поддерживается форма выбора конкретных видов расчета из списка. Она, обычно, содержит минимальный набор информации, необходимой для выбора того или иного вида расчета.
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Регистр расчета
Регистры расчета — это прикладные объекты конфигурации. Они используются в механизме сложных периодических расчетов и служат для хранения записей о тех или иных видах расчета, которые необходимо выполнить, а также для хранения промежуточных данных и самих результатов выполненных расчетов.
Структура
Информация в регистре расчета хранится в виде записей, каждая из которых содержит значения измерений и соответствующие им значения ресурсов.
Измерения регистра описывают разрезы, в которых хранится информация, а ресурсы регистра непосредственно содержат хранимую информацию. Например, для регистра расчета Начисления, который имеет следующую структуру:
записи, хранимые в базе данных, будут выглядеть следующим образом:
Связь с планом видов расчета
Регистр расчета связан с одним из планов видов расчета, существующих в прикладном решении. Эта связь обуславливает наличие у каждой записи регистра поля Вид расчета, благодаря которому механизмы регистра могут отслеживать взаимное влияние записей расчета друг на друга.
Периодичность
Регистр расчета хранит данные не только в разрезе созданных измерений, но и в разрезе времени. Это является причиной существования у каждой записи регистра расчета еще одного обязательного поля — Период действия. При создании регистра расчета разработчик может указать минимальную периодичность, с которой записи будут заноситься в регистр:
Подчинение регистратору
Изменение состояния регистра расчета происходит, как правило, при проведении документа. Поэтому каждая запись регистра связана с определенным документом — регистратором и номером строки этого документа. Добавление записей в регистр, их изменение и удаление возможно только одновременно для всех записей, относящихся к одному документу.
Связь с графиком времени
Для регистра расчета может быть указана связь с графиком времени. График времени представляет собой регистр сведений, в котором содержится временная схема исходных данных, участвующих в расчетах. Измерениями этого графика могут быть, например, график работы и дата, а ресурсом — количество рабочих часов в этой дате. Тогда можно будет связать запись регистра расчета с каким-либо конкретным графиком работы и в дальнейшем, средствами встроенного языка получать информацию о количестве рабочих часов, необходимую для выполнения расчетов.
Например, график времени, имеющий следующую структуру:
может содержать информацию о количестве рабочих часов:
Перерасчеты
Регистр расчета может включать в себя специальные объекты — Перерасчеты:
В этих объектах система будет хранить информацию о том, какие записи регистра расчета утратили свою актуальность и подлежат перерасчету в результате работы механизмов зависимости по базовому периоду и вытеснения по периоду действия.
Уникальность записей
Система обеспечивает контроль уникальности записей, хранящихся в регистре расчета. Поэтому в регистре расчета не может находиться двух записей, относящихся к одной и той же строке одного и того же документа.
Механизмы, реализуемые регистром расчета
Вытеснение по периоду действия
Механизм вытеснения по периоду действия позволяет рассчитывать фактический период действия записи регистра расчета на основании анализа других записей, содержащихся в регистре.
В общем случае, запись регистра расчета содержит две даты, определяющие период, на который распространяется действие данной записи. Этот период называется периодом действия записи. Однако, если вид расчета, к которому относится данная запись, может быть вытеснен другим видом расчета, то период действия данной записи является лишь «запрашиваемым» периодом, то есть «мы хотим, чтобы запись действовала в этом периоде». Реально, фактический период действия данной записи можно будет определить лишь после анализа всех записей видов расчета, которые вытесняют данный вид расчета по периоду действия. Фактический период действия будет представлять собой набор периодов, являющихся подмножеством исходного периода действия данной записи. Если не будет найдено ни одной записи, вытесняющей данную по периоду действия, то фактический период действия данной записи будет равен ее периоду действия. Другим крайним случаем вытеснения по периоду действия является полное вытеснение данной записи другими записями. В этом случае фактический период действия записи будет отсутствовать.
Каждая запись регистра расчета содержит вид расчета, к которому она относится. Чтобы определить, какие записи должны вытеснять данную запись по периоду действия, регистр расчета использует связь с планом видов расчета, в котором описано взаимное влияние видов расчета друг на друга. Использование этой связи позволяет регистру расчета определять фактический период действия каждой записи.
Зависимость по базовому периоду
Механизм зависимости по базовому периоду позволяет получать значение базы для записи регистра расчета на основании анализа других записей, содержащихся в регистре.
База представляет собой числовое значение, которое должно быть использовано для расчета результата данной записи. База рассчитывается путем анализа результатов расчета других записей, от которых данная запись зависит по базовому периоду. Таким образом, в общем случае, запись регистра расчета содержит две даты, определяющие период, в котором нужно анализировать записи видов расчета, от которых данный вид расчета зависит по базе — базовый период. Использование связи с планом видов расчета позволяет регистру расчета определять виды расчета, от которых данный вид расчета зависит по базовому периоду.
В случае зависимости по периоду действия для получения базы будут выбираться те записи, для которых найдено пересечение их фактического периода действия с базовым периодом данной записи. Значение базы, которая будет получена от конкретной влияющей записи, в общем случае не равно результату, который содержит эта запись. База будет рассчитана пропорционально тому, какую часть от фактического периода влияющей записи составляет перекрывающийся, с указанным базовым периодом, участок. При этом будут использованы данные графика, связанного с этой записью.
В случае зависимости по периоду регистрации для получения базы будут выбираться результаты расчета тех записей, которые попадают в базовый период данной записи значением своего поля «Период регистрации».
Наиболее сложным вариантом зависимости по базовому периоду является случай, когда для вида расчета данной записи установлено свойство «Период действия является базовым периодом». Это свойство означает, что в качестве базового периода данной записи будет использоваться не базовый период, который указан в соответствующих полях записи, а фактический период действия записи, получаемый в результате работы механизма вытеснения по периоду действия и являющийся, в общем случае, набором некоторых периодов.
Формирование записей перерасчета
Механизм формирования записей перерасчета отслеживает факт появления в регистре записей, влияющих на результат расчета уже существующих записей. Возможность влияния новых записей на существующие определяется в результате анализа взаимного влияния видов расчета и на основании работы механизмов вытеснения по периоду действия и зависимости по базовому периоду.
Результатом работы механизма формирования записей перерасчета является набор записей перерасчета, содержащий информацию о том, какие записи регистра должны быть рассчитаны заново (перерасчитаны).