Для поддержки обработки периодических расчетов в среде 1С:Предприятие существуют следующие объекты:
План видов расчета – предназначен для описания структур хранения информации о видах расчета. Заполняется пользователем, но есть возможность разработчиком задавать предопределенные виды расчета.
Регистр расчета – описывает структуру накопления данных, являющихся результатом расчетов. Данный регистр не предназначен для интерактивного редактирования пользователем.
Разработка планов видов расчетов
Создать новый план видов расчетов – ОсновныеНачисления. На вкладке Расчет устанавливаем флажок Зависит по периоду действия. Установка данного свойства обозначает, что в этом плане будут находиться виды расчетов, которые вытесняют другие по периоду действия. Например, Невыход вытесняет Оклад.
В качестве базовых планов видов расчетов указывается сам план ОсновныеНачисления.
На вкладке Прочее создать предопределенные планы видов расчета в соответствии с Таблица 3.
|
|
Создание вспомогательных справочников и регистров
Для расчета заработной платы потребуется информация о графике работы разных категорий работников: администрации и исполнителей.
Прежде всего необходимо создать два дополнительных справочника:
Должности. Реквизиты: Код, Наименование, Оклад.
Сотрудники: Код, Наименование, Должность.
Необходимо создать справочник ВидыГрафиковРабот. Реквизиты – Код, Наименование. Задать два предопределенных видов графиков: ГрафикАдминистрации, ГрафикИсполнителей.
Непосредственно сам график на каждый месяц будет формироваться в регистре сведений ГрафикиРабот. Необходимо создать соответствующий регистр сведений. Измерения регистра: График (тип данных – ссылка на ВидыГрафиковРабот), Дата. Ресурсы регистра – Значение, число длиной 1 (может принимать два значения: 1 – если день рабочий, в противном случае пусто).
Перейти в режим приложения и заполнить график в рамках календаря данного месяца.
Разработка регистра расчета
Особенностями данного регистра является периодичность, возможность применения вытеснения по периоду действия и зависимостью по базовому периоду.
Периодичность расчета определяет интервал, к которому будет относиться расчет. Независимо от того, когда будет в рамках указанной периодичности формироваться запись регистра программа всегда приведет значение Периода регистрации к началу того периода (в соответствии с периодичностью), в который он попадает. Например, периодичность – месяц, период регистрации всегда будет первое число месяца.
Применение вытеснения по периоду действия. То есть при появлении вида расчета с вытесняющим для данного действием (Невыход для Оклада) определяется фактический период действия, о котором говорилось выше (см. стр. 41).
|
|
Зависимость по базовому периоду. Позволяет осуществить расчет зависимых записей регистра на основании рассчитанных базовых. Если установлена зависимость по периоду действия, то для расчета будут выбираться те записи, у которых фактический период пересекается с базовым. Например, премия исчисляется из размера оклада за период. И фактический период расчета премии пересекается с периодом базовым, для которого рассчитывается оклад.
У регистра расчета могут существовать подчиненные объекты Перерасчет. Данные объекты предназначены для регистрации появления в регистре записей, которые влияют на значения уже существующих записей. То есть Перерасчет хранит информацию о том, какие записи подлежат перерасчету.
Необходимо создать новый регистр расчета с именем ЗП_Расчет.
На вкладке Основные: план видов расчета – ОсновныеНачисления, Период действии – активизировать, график – регистр сведений ГрафикиРабот, значение – в ресурсе значение, дата – в измерении Дата. Базовый период – месяц.
Вкладка Данные: измерение – Сотрудник, ресурс – Результат (число), реквизит – ГрафикРабот ( тип данных – ВидыГрафиковРабот, связь с графиком по измерению График), реквизит - ИсходныеДанные (число, длина 15). Реквизит исходные данные потребуется, чтобы хранить исходные данные, которые понадобятся при расчете или перерасчете.
Закладка Перерасчеты. Создать объект перерасчет, измерение Сотрудник, в установке связи указать измерении регистра Сотрудник, в качестве данных ведущих регистров также указать Сотрудник.
Несколько слов о виртуальном представлении регистра расчета, с чем разработчик может столкнуться при создании запросов:
Наименование виртуальной таблицы | Поля | Характеристика |
(ИмяРегистра)ДанныеГрафика Отображает сведения по периодам действия расчета - базового периода, фактического периода и др. Сведения могут быть представлены как в виде «крайних» дат периодов, так и дней в периоде. При расчете фактических периодов учитываются вытесняющие виды расчета. | ПериодРегистрации | Дата начала периода, соответствующего дате регистрации |
Регистратор | Ссылка на документ | |
НомерСтроки | Номер строки записи регистра | |
ВидРасчета | ||
ПериодДействия | Дата начала периода, соответствующего указанной дате начала периода действия вида расчета (по документу-регистратору) | |
ПериодДействияНачало | Дата начала периода действия вида расчета (по документу-регистратору) | |
ПериодДействияКонец | Дата окончания периода действия вида расчета (по документу-регистратору) | |
БазовыйПериодНачало | Для вторичных расчетов Дата начала базового периода | |
БазовыйПериодКонец | Для вторичных расчетов Дата окончания базового периода | |
Измерения, Ресурсы… | ||
ЗначениеПериодДействия | Дней в периоде действия в соответствии указанным рабочим графиком (например, в месяце) | |
ЗначениеФактическийПериодДействия | Фактически дней для расчета в периоде (с учетом всех вытесняющих видов расчета) | |
ЗначениеБазовыйПериодДействия | Для вторичных расчетов - фактически дней в периоде для базовых расчетов (с учетом всех вытесняющих видов расчета) | |
(ИмяРегистра)База((ИмяРегистра) Отображает информацию для вторичных расчетов. Определяет фактическую базу для расчета с учетом всех вытеснений в установленных измерениях | ПериодРегистрации | |
Регистратор | ||
……. | ||
Измерения, Ресурсы… | ||
РезультатБаза | Базовый результат первичных расчетов с учетом вытеснений (фактического базового периода). |