Сложные периодические расчеты
Пример Сотрудник предприятия взял очередной отпуск на один из месяцев года Начислили и выплатили ему отпускные перед тем, как он ушел в отпуск Период регистрации начисления в этом случае – месяц, предшествующий месяцу отпуска Месяц, за который начислили сотруднику отпускные, назовем периодом действия. Будем считать, что сума начисления отпускных рассчитывается по среднему заработку, исходя из начислений за 3 предыдущих отпуску месяца Период, по результатам которого мы рассчитываем сумму начислений, назовем базовым периодом
Периоды Период регистрации начисления в этом случае – месяц, предшествующий месяцу отпуска Месяц, за который начислили сотруднику отпускные, назовем периодом действия. Фактический период – это то, что получилось из периода действия, после анализа всех периодов действия расчетов, которые влияют на наш по базовому периоду. Период, по результатам которого мы рассчитываем сумму начислений, назовем базовым периодом
Для решения таких задач требуется универсальный механизм, позволяющий: Описать каждый из видов расчета (его алгоритм, влияние на другие виды расчетов, зависимость от других видов расчета). Обеспечить хранение данных, полученных в результате этих расчетов Обеспечить контроль необходимости перерасчета результатов зависимых расчетов в случае изменения результатов «первичных» расчетов
Реализация универсального механизма расчета в 1С:Предприятие 8: Описать каждый из видов расчета (его алгоритм, влияние на другие виды расчетов, зависимость от других видов расчета) позволяет План видов расчета. Обеспечить хранение данных, полученных в результате этих расчетов позволяют Регистры расчета Обеспечить контроль необходимости перерасчета результатов зависимых расчетов в случае изменения результатов «первичных» расчетов позволяют Перерасчеты, включенные в Регистры расчета
План видов расчета Использует период действия - Для каждого вида расчета может быть задан список вытесняющих видов расчета Зависимость от базы – будут ли в данном плане находиться зависимые по базовом периоду виды расчета. Зависит по периоду действия предполагает, что в дальнейшем при определении расчетной базы для записи регистра расчета будут учитываться только те записи, у которых Период действия попадает в базовый период. Зависит по периоду регистрации предполагает, что в дальнейшем при определении расчетной базы для записи регистра расчета будут учитываться только те записи, у которых Период регистрации попадает в базовый период. Базовые планы видов расчета – в каких планах видов расчета будут находиться базовые
Типовая конфигурация «УПП»
План видов расчета. Предопределённые данные В табличной части «Вытесняющие» указываются виды расчета, которые вытесняют текущий вид расчета по периоду действия
План видов расчета. Предопределённые данные В табличной части «Базовые» указываются те виды расчета, которые определяют состав расчетной базы текущего вида расчета В табличной части «Ведущие» указываются те виды расчета, при вводе или изменении которых результат текущего вида расчета должен быть пересчитан
Это свойство означает, что в качестве базового периода данной записи будет использоваться не базовый период, который указан в соответствующих полях записи, а фактический период действия записи, получаемый в результате работы механизма вытеснения по периоду действия и являющийся, в обще случае, набором некоторых периодов. План видов расчета. Предопределённые данные
Отличие от 7.7 Виды расчета версии 7.7 – это объекты метаданных конфигурации, а виды расчета версии 8 – это данные, объекты информационной базы.
Регистры расчета Служат для накопления информации о периодических расчетах Измерения регистра описывают разрезы, в которых хранится информация - Сотрудник Ресурсы регистра непосредственно содержат хранимую информацию (только числовой тип данных) – Значение(сумма начислений)
Регистры расчета Хранит данные не только в разрезе измерений, но и разрезе времени
Период действия В регистре расчета будут храниться записи с видами расчета, имеющими протяженность во времени Базовый период В регистре расчета будут храниться записи с видами расчета, обладающими расчетной базой Регистры расчета
Периодичность Это свойство определяет период, с которым регистрируются движения регистра и в пределах которого движения могут влиять друг на друга по периоду действия Регистры расчета
Регистр сведений не периодический Средствами встроенного языка можно получать информацию о количестве рабочих часов, необходимую для выполнения расчетов.
Перерасчеты Для определения ведущих видов расчета используется предопределённая табличная часть планов видов расчета Ведущие виды расчета Для контроля необходимости перерасчета зависимости видов расчета используются подчиненные объекты регистров расчета Перерасчеты
Перерасчеты В перерасчет автоматически попадут не только виды расчета, зависимые от ведущих. В перерасчет автоматически попадут виды расчета, зависимые от вытесняющих видов расчета. Для одного регистра расчета могут поддерживаться несколько перерасчетов разной структуры, которые могут решать разные задачи.
Перерасчеты Такая настройка измерений перерасчетов означает, что при изменении данных записей ведущих регистров расчета, в перерасчеты будут попадать зависимые виды расчета только по тому работнику, по которому изменились данные записей ведущих регистров расчета. Записи по другим работника в перерасчет не попадут.
Перерасчеты Принцип работы перерасчетов в системе «1С:Предприятие 8» является «уведомительным», т.е. разработчик сам может принимать решение о необходимости перерасчета записей регистра.
Средства встроенного языка
Вопросы из Профессионал Планы видов расчета предназначены 1.Для описания множеств однотипных видов расчета 2.Для накопления информации о периодических расчетах 3.Для хранения информации о перерасчетах 4.Все ответы правильные 5.Верны утверждения 1 и 3
Вопросы из Профессионал Для обращения к предопределённому виду расчета необходимо 1.Найти его по неизменяемому коду: ПланыВидовРасчета..НайтиПоКоду(Код) 2.Найти его по неизменяемому наименованию: ПланыВидовРасчета..НайтиПоНаименованию(Наименование) 3.Найти его по заданному в конфигураторе имени ПланыВидовРасчета.. 4.Программно найти предопределённый элемент нельзя, пользователь просто его не может удалить и пометить на удаление
Спасибо за внимание!