Какие списки видов расчета существуют 1с. Планы видов расчетов

В «1С:Управление производственным предприятием 8» существуют специальные объекты, объединяющие в себе описание правил расчета начисления или удержания и описание правил учета результатов этого начисления или удержания в целях расчета ЕСН, НФДЛ, бухгалтерского учета. Такие объекты называются видами расчета. В программе виды расчета разбиты на три подгруппы: основные начисления, дополнительные начисления и удержания. Какие-то виды начислений и удержаний описываются разработчиками на этапе создания программы, но есть и такие, которые присущи только нашей организации, пользователю необходимо самостоятельно их добавить. Для того чтобы правильно задать параметры для уже существующих начислений и удержаний и грамотно описать вновь созданные, мы должны понять, в чем их отличие и в какой последовательности нам следует организовать установку алгоритмов расчетов.

Рассмотрим все группы видов расчетов.

Основные начисления организаций

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

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

Открыть список основных начислений организаций можно, войдя в пункт меню «Предприятие», подменю «Настройка расчета зарплаты» и выбрав пункт «Основные начисления».

Рисунок 5.1 Интерфейс Расчет зарплаты работников организаций. Основные начисления

Перед нами откроется окно со списком всех предопределенных начислений. Как видим, в этот список включены такие начисления, как «Оклад по Дням», «Оплата больничных листов» и прочее. Начисление, отмеченное знаком, выделенным на рисунке 5.2, является предопределенным видом расчета. Не предопределенные виды расчета отмечаются также значком в виде ромба, но без изображения шара возле него.

Рисунок 5.2 Список ОСНОВНЫХ начислений организации

Рассмотрим ситуацию, сложившуюся в ЗАО «Автоматизация». Один из работников организации использует личный автомобиль в служебных целях. В соответствии с российским законодательством ему полагается особая денежная компенсация. Так как такое начислении не относится к предопределенным, то мы его добавим в список видов расчетов, опишем особенности его учета в целях расчета ЕСН и НДФЛ и порядок расчета начисления в программе. Но для начала нужно определить к какой группе начислений относится такая надбавка. Понятно, что работник собирается эксплуатировать личный транспорт долговременно, то есть не один месяц, а несколько. Следовательно, мы будем считать эту компенсацию долговременным начислением и отнесем к основным начислениям. Компенсация будет начисляться по фиксированной ставке. За время нахождения сотрудника в отпуске, командировке, невыхода его на работу (т.е. за периоды, когда личный транспорт в служебных целях не используется) компенсация не выплачивается.

Откроем окно со списком основных начислений и опишем новое начисление. Нажатием на кнопку «Добавить» панели инструментов (см. Рисунок 5.3) мы одновременно добавляем новую строку списка и открываем окно описания начисления.

Рисунок 5.3 Добавление нового элемента основных начислений

В открывшемся незаполненном окне в поле «Наименование» укажем название создаваемого вида расчета: «Компенсация личный транспорт».

Переключатели раздела «Последовательность учета» на закладке «Расчеты» позволяют определить последовательность расчета нескольких начислений одного и того же сотрудника. Первичным начислением называют такое начисление, результат работы которого не зависит от результатов расчета других начислений (например, оплата по окладу). К зависимым начислениям относятся те, результат расчетов которых зависит от результатов расчета других начислений. Для таких начислений определяют очередность расчета выбором уровня зависимости. Начисление считается зависимым первого уровня в том случае, если результат его расчета зависит от результата расчета только первичных начислений. Начисление считается зависимым второго уровня, если результат его расчета зависит от результатов расчета хотя бы одного начисления с очередностью расчета «зависимое первого уровня». Все остальные зависимые начисления относятся к зависимым начислениям третьего уровня.

Таким образом, чтобы выбрать последовательность расчета нам нужно рассмотреть способ расчета нашего начисления. Компенсация за использование личного транспорта рассчитывается пропорционально отработанному времени от фиксированной ставки. Значит, результат не зависит от результата расчета других начислений и, следовательно, является первичным начислением. Укажем это, установив переключатель последовательности расчета, как показано на рисунке 5.4.

Способ расчета начисления может быть как выбранным из списка стандартных, так и заданным произвольной формулой для того чтобы пользователь мог самостоятельно определить алгоритм расчета описываемого начисления. Если мы выберем регламентированный вариант расчета «Фиксированной суммой» (см. Рисунок 5.4), то наше начисление не будет зависеть от отработанного времени. Для того чтобы результат компенсации рассчитывался пропорционально отработанному времени, воспользуемся возможностью создания произвольных формул.

Рисунок 5.4 Настройка основного начисления. Закладка "Расчеты"

Установим переключатель способа расчета в положение «Произвольная формула расчета» и перейдем к редактированию формулы по ссылке «Редактировать формулу расчета» (см. Рисунок 5.5).

Рисунок 5.5 Переход к описанию формулы расчета

Открывшуюся форму редактирования формулы расчета мы уже подробно рассматривали в разделе «Настроим начисления и удержания» второй работы. Опишем формулу расчета нашей компенсации, используя показатели расчета. Вставим показатель «Фиксированная сумма» в формулу используя пункт «Вставить показатель в формулу» контекстного меню показателя (см. Рисунок 5.6) или просто перетащив его мышкой в поле формулы.

Рисунок 5.6 Вставка показателя в формулу

Аналогичным образом разместим в поле формулы показатели «Отработано времени в днях» и «Норма времени в днях». В результате формула расчета компенсации должна выглядеть следующим образом:

Рисунок 5.7 Формула расчета компенсации за использование личного транспорта

Завершим редактирование формулы нажатием на кнопку «ОК» и перейдем на закладку «Время» формы редактирования начисления.

На закладке «Время» зададим параметры, которые повлияют на формирование табеля учета рабочего времени. Описываемая нами компенсация является обычной доплатой, поэтому переключатель «Вид времени» установим в выбранном положении «Дополнительное начисление за уже оплаченное время».

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

На закладке «Использование» переключатели установлены в стандартных положениях, изменять которые нам придется при тонких настройках в описании особых начислений. Например, переключатель «Является пособием» группы «Пособия по социальному страхованию» используется для определения начисления как пособия ФСС. Его значение принимается к учету при расчете ЕСН.

Переключатель «Является отпуском» группы «Ежегодные отпуска» устанавливается для начислений, описывающих оплату ежегодных отпусков сотрудников. В случае, когда переключатель начисления установлен в положение «Является отпуском», дни, оплаченные данным начислением, будут уменьшать количество неотгуленных дней отпуска сотрудника. Эта информация отражается в специализированном отчете.

Переключатели группы «Вид стажа для целей персонифицированного учета ПФР» позволяют задать особый способ отражения данного начисления при формировании пачек СЗВ-4.

Рисунок 5.8 Форма редактирования основного начисления. Закладка Использование

В нашем случае все переключатели устанавливаем в положениях «Не является. ..» и «Не отражается...».

Примечание: В окне-описании предопределенного основного начисления «Пособие по уходу за ребенком до 1,5 лет» необходимо изменить положение переключателя «Пособия по социальному страхованию» на значение «Является пособием».

Затем, по кнопке выбора, указать вид пособия «По уходу за ребенком до полутора лет». Эта информации потребуется программе при последующем расчете ЕСН и составлении регламентированной отчетности.

Рисунок 5.9 Изменение параметров использования предопределенного начисления

"Пособие по уходу за ребенком до 1.5 лет"

Для определения особенностей отражения описываемой компенсации в бухгалтерском и налоговом учете перейдем на закладку «Упр. учет». Флаг «Является доходом в натуральной форме» не устанавливаем, так как наша компенсация будет выплачиваться в денежной форме. Группа реквизитов «Отражение в бухгалтерском и налоговом учете определяется» предназначена для определения варианта отражения результатов начисления в бухгалтерском и налоговом учете. Установим переключатель в положение «по данным о работнике и его плановых начислениях», что означает отсутствие необходимости особого отражения учета результатов начисления. Подробно способы отражения результатов начислений в бухгалтерском и налогов учете будут рассмотрены далее.

Поле «Учет по видам деятельности, облагаемым ЕНВД» позволяет указать возможность отнесения результата данного начисления на деятельность, облагаемую ЕНВД. Заполнение данного поля имеет значение только для организаций, уплачивающих ЕНВД.

Рисунок 5.10 Форма редактирования начисления.

Особенности налогообложения опишем на следующей закладке «Налога» (см. Рисунок 5.11). В соответствии с российским законодательством компенсация за использование личного транспорта в служебных целях - это денежная выплата, не считающаяся доходом работника, если ее размер в пределах нормы установленной законом, т.е. НДФЛ не облагается. Поэтому установим переключатель «Не облагается». С помощью кнопки выбора укажем в поле «Вид дохода» раздела «ЕСН, взносы в ПФР», что начисление не является объектом налогообложения ЕСН, и не облагается взносами в ПФР в соответствии с Налоговым Кодексом что означает отсутствие необходимости особого отражения учета результатов начисления Переключатель, влияющий на расчет базы по налогу на прибыль установим на верхнее значение «Не включается в расходы на оплату труда».

Рисунок 5.11 Настройка параметров учета начисления

На закладке «Упр. учет» для отражения начисления в управленческом учете мы проверим, что переключатель установлен в положение «по данным о работнике и его плановых начислениях» (см. Рисунок 5.12). Таким образом, мы указываем, что способ отражения данного начисления в управленческом учете не отличается от способа отражения других начислений сотрудника.

Рисунок 5.12 Настройка способа отражения начисления в управленческом учете

На закладке «Прочее» в таблице «Вытесняющие начисления» заполним список вытесняющих начислений, т.е. те начисления, за период действия которых не должна начисляться описываемая компенсация. Например, за то время когда сотрудник находится в отпуске он не получает компенсацию за использование личного транспорта. Такое начисление - отпуск - будет являться «вытесняющим» для начисления «Компенсация личный транспорт». Нажатием на кнопку «Подбор» откроем список существующих начислений организаций.

Рисунок 5.13 Начало редактирования таблицы вытесняющих начислений

Из списка основных начислений мы можем выбрать нужное нам начисление - «Оплата отпуска по календарным дням».

Рисунок 5.14 Выбор начисления

Список вытесняющих начислений пополнится, а мы, так как компенсация не начисляется еще за время болезни, за время командировки и прочих невыходов сотрудника, добавим еще несколько вытесняющих начислений описанным выше способом. К вытесняющим начислениям мы отнесем оплату больничных листов, прогул, больничный лист по травме в быту и прочие начисления, показанные на рисунке ниже.

Рисунок 5.15 Заполненный список вытесняющих начислений

С особенностями заполнения списков базовых и ведущих начислений мы познакомимся немного позже, пока оставляем эти поля пустыми.

При нажатии на кнопку «ОК» программа сохранит добавленное начисление и закроет окно описания нашего начисления по компенсации за личный транспорт.

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

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

В базу для расчета начислений включаются все начисления за базовый период, не зависимо от того, в каком расчетном периоде они были начислены. Например, при расчете премии за июль в базу войдет и оплата по окладу за первую половину июля, начисленная в июле, и оплата по окладу за вторую половину июля, зарегистрированная в августе. Такая зависимость от базовых начислений называется зависимостью по периоду действия.

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

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

Рис. Зависимость от базы

Рис. Частичное пересечение базового периода и периода действия

При зависимости по периоду регистрации в базу включаются результаты только тех записей регистров расчета, период регистрации которых попадает в базовый период.

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

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

Ведущие — это такие виды расчета, при изменении результатов которых, требуется персрассчитать результат данного вида расчета.

Понятия базовых и ведущих видов расчета очень близки по смыслу, и чаще всего списки базовых и ведущих видов расчета совпадают, но не следует их пугать.

Базовые — это виды расчета, которые непосредственно влияют на результат данного вида расчета. Ведущие виды расчета могут и не входить в базу, но оказывать косвенное влияние на результат, т.е. список ведущих видов расчета может быть шире по сравнению со списком базовых видов расчета.

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

Списки базовых и ведущих видов расчета настраиваются в форме зависимого вида расчета.

При настройке ведущих видов расчета необходимо так же, как и при настройке вытесняющих видов расчета, соблюдать правило: если вид расчета А является ведущим для вида расчета В, который в свою очередь является ведущим для вида расчета С, то в список ведущих для вида расчета С должны быть включены как вид расчета В, так и вид расчета А. В противном случае программа выдаст сообщение об ошибке: «Неполный список ведущих видов расчета!». Например, если в список ведущих начислений внесена Квартальная премия, то должны быть внесены и все ведущие начисления для квартальной премии, такие как Оклад по дням Оклад по часам и т.д.

Рис. Настройка базовых и ведущих видов расчета

Настройка параметров учета в 1С 8.3 является одним из первых действий, которое вы должны совершить, прежде чем приступить к полноценной работе в программе. Именно от них зависит корректность работы вашей программы, доступность различного функционала и правил ведения учета.

Начиная с версии программы 1С:Бухгалтерия 3.0.43.162, изменился интерфейс настройки параметров учета. Так же некоторые параметры стали настраиваться отдельно.

Перейдите в меню «Администрирование» и выберите пункт «Параметры учета».

Данный раздел настроек состоит из шести пунктов. Далее мы рассмотрим каждый из них. Все они позволяют влиять на состав субконто у определенных счетов и субсчетов.

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

Данная настройка так же была заполненной. Пункт «По номенклатуре» невозможно не использовать, зато остальные настройки при необходимости подлежат редактированию. Список счетов и субконто, на которые влияют эти настройки, приведен на рисунке ниже.

Здесь происходит управление субконто 41.12 и 42.02 счетов. По умолчанию был установлен только учет по складам. Он является предопределенным, и отредактировать мы его не сможем. Кроме этого данный вид учета можно вести по номенклатуре и ставкам НДС.

Учет движения денежных средств

Данный вид учета обязательно будет вестись по р/с. Так же рекомендовано дополнительно учитывать в 1С 8.3 движения ДС по их статьям для дополнительной аналитики по управленческому учету.

Вести учет такого вида расчетов можно как по сотрудникам в целом, так и по каждому отдельно. Эти настройки оказывают непосредственное влияние на субконто 70, 76.04 и 97.01 счетов.

Учет расходов обязательно будет вестись по номенклатурным группам. Если у вас есть необходимость готовить аудируемую отчетность в МСФО, желательно так же вести учет по элементам и статьям затрат.

Настройки зарплаты

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

Общие настройки

Для полноты примера отметим, что учет зарплаты и кадровый учет будут вестись в данной программе. Конечно же здесь есть свои ограничения, но если в штате вашей организации работает не много сотрудников, то функционала 1С:Бухгалтерия будет вполне достаточно.

Перед вами откроется список настроек для каждой организации, учет которой ведется в программе. Откроем настройку для ООО «Конфетпром».

Здесь вы можете указать, как будет отражаться заработная плата в БУ, сроки ее выплаты, резервы отпусков и какие-либо особенные территориальные условия.

Вернемся назад и перейдем по другой гиперссылке.

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

Позволяет настроить списки видов начислений и удержаний. Изначально они уже заполнены некоторыми данными.

Так же, в данном разделе 1С можно включить доступность функционала больничных, отпусков и исполнительных документов. Настройка доступна только если в базе отсутствуют организации, где работает больше 60 человек.

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

Данный раздел необходим для того, чтобы указать способы разнесения затрат на оплату труда и обязательных страховых взносов с ФОТ по счетам БУ. Изначально эти настройки уже заполнены, но, конечно же, вы можете их откорректировать.

Кадровый учет и Классификаторы

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

Прочие настройки

Вернемся обратно в форму параметров учета и рассмотрим кратко оставшиеся пункты настроек.

  • Сроки оплаты поставщиками и покупателями определяют, через сколько дней долг покупателя перед нами станет считаться просроченным.
  • Печать атрикулов – настройка их представления в печатных формах.
  • Заполнение цен продажи позволяет установить, откуда будет подставляться цена в соответствующие документы.
  • Тип плановых цен влияет на подстановку цен в документы, относящиеся к производству.

Некоторые из этих настроек 1С 8.3 ранее производились в параметрах учета. Теперь они вынесены в отдельный интерфейс. Найти его вы можете так же в меню «Главное».

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

Для того чтобы можно было рассчитывать зарплату в конфигурации, работающей на платформе 1С Предприятие 8, необходимо умение работать с объектами конфигурации которые для этого и предназначены. Для реализации возможности расчета заработной платы, в конфигурации необходимо использовать такие объекты как планы видов расчета и регистры расчета. Без этих объектов реализовать расчет достаточно проблематично, если совсем не возможно. В этой статье хочу поведать какие объекты предназначены для расчета зарплаты и как с ними работать.
Основные используемые понятия:
Вид расчета – начисление или удержание, которое может быть применено к сотруднику.
План видов расчета – объект конфигурации, предназначенный для хранения однотипных видов расчета.
База – совокупность видов расчета, которые и являются основой для расчета конкретного вида расчета.
Период регистрации – это дата, когда документ зарегистрирован в системе. И если периодичность регистра расчета месяц, то период регистрации системой автоматически приводится к началу месяца.
Период действия – это интервал, в котором действует вид расчета. Например, зарегистрировать документ можно в одном месяце, а период действия будет находиться в другом месяце.
Сокращения, встречающиеся в тексте:
ПВР – план видов расчета;

Итак, начнем с настройки ПВР. В основном настройки ПВР схожи с настройками справочников, но настройки, характерные именно для ПВР находятся на закладке «Расчет» окна редактирования объекта. ПВР содержит однотипные виды расчета. В системе может быть несколько ПВР. Обычно, ПВР создают для основных начислений, для дополнительных начислений и для удержаний. Пример настройки ПВР приведен на рисунке 1.

Рисунок 1

Свойство «Использует период действия» - устанавливаем флаг в том случае, если виды расчета в этом ПВР будут иметь протяженность во времени (Например, Оклад). В этом случае можно будет например с 15 по 20 число месяца начислить оплату по окладу. Если этот флаг не устанавливать, то такой возможности не будет.
Свойство «Зависимость от базы» – указываем, могут ли виды расчета зависеть от базы. Зависимость от базы бывает двух видов: а) Зависимость от базы по периоду действия – это означает, что наши виды расчета, которые находятся в этом ПВР будут зависеть от периода действия. б) Зависимость от базы по периоду регистрации – виды расчета будут зависеть от базы за тот месяц, в котором была введена запись. Если есть та или другая зависимости от базы, то необходимо выбрать базовые планы видов расчета. То есть это те ПВР виды расчета которых смогут использоваться как базовые.

После этого, в план видов расчета можно добавлять виды расчета и настраивать их. При настройке вида расчета нужно настроить Базовые, Ведущие, Вытесняющие виды расчета. Пример настройки вида расчета приведен на рисунке 2.

Рисунок 2

На закладке «Базовые виды расчетов» настраивается список видов расчета, которые будут включаться в базу при расчете текущего вида расчета. Соответственно, виды расчета, не вошедшие в базу при расчете данного вида расчета учитываться не будут. В списке ведущих видов расчета указывается список тех видов расчета, при изменении которых будет требоваться перерасчет данного вида расчета. Ну и в списке вытесняющих видов указываются те виды расчета, которые будут вытеснять данный вид расчета, если будет конкуренция по периоду действия у видов расчета.
Далее необходимо настроить регистры расчета. Здесь каждому регистру расчета должен соответствовать один план видов расчета, но один ПВР может соответствовать нескольким регистрам расчета. Основные настройки регистров расчета выполняются на закладке Основные диалога редактирования объекта. Пример настроек приведен на рисунке 3

Рисунок 3

Свойство «План видов расчета» - здесь указывается то, какой ПВР будет соответствовать нашему регистру расчета.
Свойство «Период действия» - указывается флаг, если регистр расчета будет поддерживать период действия видов расчета, то есть те виды расчета, которые являются периодическими. При установленном флаге, у записи регистра расчета добавляются свойства «Период действия начало» и «Период действия конец».
Свойство «График работы» - если стоит флаг периода действия, то становится доступным это свойство. Указываем регистр сведений (непериодический), в котором будет регистрироваться норма времени за конкретный день календаря.
Свойство «Значение графика» - указывается ресурс регистра сведений Графики работы. По этому значению система сможет вычислить данные базы. То есть система сможет вычислить, сколько сотрудник должен отработать в тот или иной день.
Свойство «Дата графика» - указывается измерение с типом Дата. По этому измерению система сможет понять к какой дате относится рабочий/не рабочий день.
Свойство «Базовый период» - указывается, если регистр расчета будет поддерживать базовый период видов расчета. Если флаг установлен, то у записи регистра расчета появляются дополнительные свойства «Базовый период начало» и «Базовый период конец».
Свойство «Периодичность» - указывается периодичность регистра расчета.
На вкладке Данные настраиваются измерения, ресурсы и реквизиты регистра расчета. Пример настройки приведен на рисунке 4

Рисунок 4

Измерениями задаются разрезы, в которых будут храниться записи в регистре расчета. Ресурсы – это вычисляемые значения, фактический результат расчета вида расчета. Реквизиты – здесь указываются дополнительные сведения о записи регистра расчета. Например, в реквизите можно хранить плановые значения видов расчета.
Кроме этого, необходимо указать документы-регистраторы для регистра расчета иначе система не даст сохранить конфигурацию базы данных. Регистраторы задаются на одноименной закладке диалога редактирования объекта конфигурации.
После выполненных настроек, необходимо в обработчике проведения документа-регистратора описать алгоритм формирования движений по регистрам расчета. Пример алгоритма формирования движений может быть такой:

Процедура ОбработкаПроведения(Отказ, Режим) Движения.ОсновныеНачисления.Записывать = Истина; Для Каждого ТекСтрокаНачисления Из Начисления Цикл Движение = Движения.ОсновныеНачисления.Добавить(); Движение.Сторно = ТекСтрокаНачисления.Сторно; Движение.ВидРасчета = ТекСтрокаНачисления.ВидРасчета; Движение.ПериодДействияНачало = ТекСтрокаНачисления.ДатаНачала; Движение.ПериодДействияКонец = КонецДня(ТекСтрокаНачисления.ДатаОкончания); Движение.ПериодРегистрации = ПериодРегистрации; Движение.Сотрудник = ТекСтрокаНачисления.Сотрудник; Движение.Подразделение = ТекСтрокаНачисления.Подразделение; Движение.ТипГрафика = ТекСтрокаНачисления.ТипГрафика; Движение.Размер = ТекСтрокаНачисления.Размер; КонецЦикла; Движения.Записать();//записываем рабочий набор записей РассчитатьНачисления(Отказ); КонецПроцедуры

После того, как записи в регистре расчета записаны, можно выполнять непосредственно сам расчет ресурсов регистра расчета. В приведенном коде это выполняется в процедуре РассчитатьНачисления(). Процедура расчета начислений выглядит так:

Процедура РассчитатьНачисления(Отказ) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ОсновныеНачисленияДанныеГрафика.НомерСтроки, | ОсновныеНачисленияДанныеГрафика.РабочийДеньПериодДействия КАК ПериодДействияПлан, | ОсновныеНачисленияДанныеГрафика.РабочийДеньФактическийПериодДействия КАК ПериодДействияФакт, | ОсновныеНачисленияДанныеГрафика.ВидРасчета.СпособРасчета КАК Способ, | ОсновныеНачисленияДанныеГрафика.ВидРасчета КАК ВидРасчета |ИЗ | РегистрРасчета.ОсновныеНачисления.ДанныеГрафика(| Регистратор = &Ссылка |) КАК ОсновныеНачисленияДанныеГрафика"; Запрос.УстановитьПараметр("Ссылка",Ссылка); Выборка = Запрос.Выполнить().Выбрать(); Поиск = Новый Структура("НомерСтроки"); Для каждого Запись Из Движения.ОсновныеНачисления Цикл Поиск.НомерСтроки = Запись.НомерСтроки; Выборка.Сбросить(); Если Выборка.НайтиСледующий(Поиск) Тогда Если Выборка.ВидРасчета = ПланыВидовРасчета.ОсновныеНачисления.ОкладПоДням Тогда Если Выборка.ПериодДействияПлан = 0 Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "График не заполнен"; Сообщение.Сообщить(); Отказ = Истина; Иначе Запись.Результат = Выборка.ПериодДействияФакт*Запись.Размер/Выборка.ПериодДействияПлан; КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; Движения.ОсновныеНачисления.Записать(,Истина); КонецПроцедуры // РассчитатьНачисления()

В данном примере будут рассчитываться начисления ОкладПоДням, а для того, чтобы рассчитывались и другие виды расчета, необходимо дописать соответствующее условие и формулу. Пример заполненного и рассчитанного документа начисления зарплаты приведен на рисунке 5.

Рисунок 5

Таким образом и происходит расчет зарплаты на платформе 1С:Предприятие 8. Здесь приведен самый простой случай, без всяких наворотов. Понятное дело, что в типовых решениях алгоритмы более объемные, развесистые и универсальные. В этой статье я показал основу работы с объектами платформы для возможности расчета зарплаты.

Спасибо за внимание! Если есть вопросы, постараюсь на них ответить.​

В данной статье рассмотрим теоретические основы работы с регистрами расчёта, а также выполним расчёт заработной платы сотрудника пропорционально количеству отработанных часов.

Теория

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

По своей структуре регистры расчета похожи на регистры накопления или регистры сведений. Они так же как и регистры накопления имеют измерения, ресурсы, реквизиты, но принцип действия регистров расчета абсолютно другой.

По сути своей измерения в регистре накопления служат «фильтром » в разрезе которого мы получаем данные из регистра накопления. Как пример, когда мы берём «остатки» по регистру накопления «Остатки товаров» в разрезе определённой номенклатуры или «срез последних» по регистру сведений «Оклады сотрудников» в разрезе определённого сотрудника. В отличии от регистра накопления измерения в периодическом регистре расчета служат для реализации ««(это когда протяженные во времени виды расчета конкурируют между собой на интервале периода действия записи т.е. как пример, вид расчета командировка вытесняет вид расчета оклад по периоду действия) и ««(это когда вид расчета премия зависит от вида расчета оклад за прошлые периоды).

механизма вытеснения по периоду действия «:

Здесь мы видим что вид расчёта «Командировка» обладает протяжённостью во времени и действует с 10 по 20 апреля, «Командировка» указана как вытесняющий вид расчёта для вида расчета «Оклад». «Оклад» также обладает протяжённостью во времени и действует с 1 по 30 апреля. Так как «Командировка» указана как вытесняющий вид расчёта для вида расчета «Оклад»(имеет больший приоритет, чем оклад) и действует на периоде действия оклада, то происходит вытеснение оклада командировкой и формируется «Фактический период действия оклада».»Фактический период действия оклада» это период действия оклада после вытеснения командировкой, в нашем случае он состоит из 2 периодов — с 1 по 9 апреля и с 21 по 30 апреля и в сумме составляет 19 дней. Механизм вытеснения по периоду действия работает только для протяжённых во времени расчетов.

На рисунке выше графически показан принцип «механизма зависимости по базовому периоду «:

Допустим, в конце апреля 2017 мы хотим начислить сотруднику премию в размере 10% от оклада. В качестве базовых видов расчёта для премии указан оклад.

Но в качестве «базы» для расчета премии мы возьмём не весь месяц апрель, а только интервал с 10 по 20 апреля(11 дней). Рассчитаем базу для премии, оклад сотрудника составляет 60000 рублей, в месяце имеем 30 дней, дневной оклад = 60000/30 = 2000 руб. Далее 2000*11 = 22000 руб. База для расчета премии составляет 22000 рублей.

Рассчитаем премию: (22000/100)*10 = 2200 руб. Премия в размере 10% от оклада составляет 2200 рублей.

С регистром расчета тесно связан прикладной объект метаданных «План видов расчета».

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

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

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

Механизмы расчета в системе 1С Предприятие устроены таким образом, что сперва требуется сделать записи в регистр расчета и только после этого выполнить расчет на основе этих данных. К примеру, нельзя рассчитать премию на основе оклада пока этот самый оклад не записан в регистр расчета.

Практика

Рассмотрим подробнее регистры расчета на практике:

Шаг 1 .Начнём с плана видов расчета. План видов расчета необходимо создать перед созданием регистра расчета. План видов расчета создаём перед регистром расчёта потому, что перед созданием таблицы для хранения рассчитанных данных(т.е. регистра расчета) необходимо задать алгоритмы расчета этих данных(т.е. план видов расчета).

Создадим план видов расчета «Основные начисления». Сразу же перейдём на вкладку «Расчет». Здесь мы сразу же видим флаг «Использует период действия «, при установке данного флага все виды расчета входящие в данный план будут обладать протяжённостью во времени (например Оклад, Командировка), а также для данного плана видов расчета включается «механизма вытеснения по периоду действия «. Если флаг «Использует период действия» не установлен, то виды расчета не будут обладать протяжённостью во времени(например Премия, Штраф) и «механизма вытеснения по периоду действия» действовать не будет. Также на данной вкладке есть разделы «Зависимость от базы» и «Базовые планы видов расчета» — они служат для реализации «механизма зависимости по базовому периоду «, но об нём поговорим позже. Пока оставим «Зависимость от базы» в режиме «Не зависит».

Создадим предопределённый вид расчета «Оклад». На вкладке «Основное» всё просто. Задаём имя и код вида расчета.

Благодаря тому, что мы установили флаг «Использует период действия » у нас появилась вкладка «Вытесняющие » и включился «механизм вытеснения по периоду действия «.

На данной вкладке мы указываем виды расчета, которые будут вытеснять оклад по периоду действия(например Командировка).

Примечание : в «Вытесняющие» можно добавить виды расчета принадлежащие только данному плану видов расчета.

Также есть вкладка «Ведущие » — на ней указываются виды расчета при изменении которых должен пересчитываться текущий вид расчёта. Здесь можно указать и виды расчёта из других планов видов расчёта. Например, вид расчета «Оклад» является ведущим для вида расчёта «Премия» т.е. при изменении оклада у нас должна пересчитаться и премия т.к. премия начисляется в зависимости от оклада. В данном случае вид расчёта «Оклад» принадлежит ПВР «Основные начисления» использующем период действия, а вид расчета «Премия» принадлежит ПВР «Дополнительные начисления» не использующем период действия.

Шаг 2 .Создадим справочник «Графики» со структурой по-умолчанию. В справочнике «Графики» будем хранить режимы работы сотрудников(пятидневка, шестидневка и.т.д.).

Шаг 3 .Также нам нужен объект в котором мы будем хранить Производственный календарь(рабочие и выходные дни). Для этих целей используем непериодический независимый регистр сведений.

Создадим непериодический независимый регистр сведений «Графики работы» с 2 измерениями «Дата» и «График» и ресурсом «Количество часов».

Благодаря регистру сведений «Графики работы» мы сможем начислять заработную плату от оклада пропорционально количеству отработанных дней.

Шаг 4 .Создадим документ «Начисление зарплаты» со структурой реквизитов показанной ниже:

Реквизиты:

Оперативное проведение ставим в значение «Запретить» т.к. оно не имеет смысла для механизма периодических расчётов в 1С — ни премию, ни оклад, ни штраф мы никогда не начисляем в реальном времени.

Создадим форму документа с настройками по-умолчанию.

Шаг 5 . Наконец-то мы дошли и до создания регистров расчета.

Объект метаданных регистр расчета расположен в ветке «Регистры расчета» конфигуратора.

Создадим регистр расчета «Основные начисления». Настройки регистра расчета рассмотрим ниже:

1.В поле «План видов расчета» указываем ПВР «Основные начисления» созданный на шаге 1.

2.Ставим флаг «Период действия» в значение «Истина» т.к. ПВР, указанный на шаге 1 обладает протяжённостью во времени.

После установки данного флага у нас сразу же становятся доступны стандартные реквизиты «ПериодДействия», «ПериодДействияНачало», «ПериодДействияКонец» это значит, что виды расчета регистрируемые в данном регистре расчета также обладают протяжённостью во времени и у нас становится доступен «механизма вытеснения по периоду действия «.


P.S. Если указать ПВР, обладающий протяжённостью во времени у РР с флагом «Период действия» в значении «Ложь», то данный ПВР будет работать как ПВР не обладающий протяжённостью во времени.

3.После установки флага «Период действия» в значение «Истина» у нас становятся доступны поля «График», «Значение графика», «Дата графика».

В поле «График» указываем регистр сведений «Графики работы», созданный на шаге 3.

В поле «Значение графика» указываем ресурс «КоличествоЧасов» регистра сведений «Графики работы».

В поле «Дата графика» указываем измерение «Дата» регистра сведений «Графики работы».

4.В поле «Периодичность» указываем значение «Месяц» это значит, что данные в регистр у нас будут заноситься ежемесячно.

Ниже представлена структура метаданных регистра:

Флаг «Базовое» у измерения влияет только на производительность, его можно и не проставлять, но если поставить, то поле «Сотрудник» будет проиндексировано.

Измерение «Сотрудник» — оно применяется в «механизме вытеснения по периоду действия » и «механизме зависимости по базовому периоду «.

Ресурс «Сумма» — туда запишется рассчитанная зарплата.

Реквизит «График» указан как реквизит, а не измерение регистра т.к. ни его, ни он ничего не вытесняет — по сути справочное поле. Важно!!! Не забудьте заполнить поле «Связь с графиком» у реквизита «График», там должно быть указано измерение «График» регистра сведений «Графики работы» иначе размер заработной платы не будет рассчитываться.

Реквизит «Параметр» будет хранить значение оклада.

Вот теперь когда мы указали связь с РС «Графики работы» у нас будет рассчитываться заработная плата сотрудника пропорционально количеству отработанных дней.

В качестве регистратора указываем документ «Начисление зарплаты «, созданный на шаге 4.

Шаг 6 . Делаем движения по регистру расчета «Основные начисления».

Вернёмся к документу «Начисление зарплаты» созданному на шаге 4.

Опишем обработку проведения в модуле объекта документа:

Фрагмент кода обработки проведения документа

1С (Код)

Процедура ОбработкаПроведения(Отказ, РежимПроведения) // регистр ОсновныеНачисления Движения.ОсновныеНачисления.Записывать = Истина; Движения.ОсновныеНачисления.Очистить(); ПериодРегистрации=НачалоМесяца(Дата); Для Каждого ТекСтрокаОсновныеНачисления Из ОсновныеНачисления Цикл Движение = Движения.ОсновныеНачисления.Добавить(); Движение.Сторно = Ложь; Движение.ВидРасчета = ТекСтрокаОсновныеНачисления.ВидРасчета; Движение.ПериодДействияНачало = ТекСтрокаОсновныеНачисления.ДатаНачала; Движение.ПериодДействияКонец = КонецДня(ТекСтрокаОсновныеНачисления.ДатаОкончания); Движение.ПериодРегистрации = ПериодРегистрации; Движение.Сотрудник = ТекСтрокаОсновныеНачисления.Сотрудник; Движение.График = ТекСтрокаОсновныеНачисления.График; Движение.Параметр = ТекСтрокаОсновныеНачисления.Размер; КонецЦикла; КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, РежимПроведения)

// регистр ОсновныеНачисления

Движения. ОсновныеНачисления. Записывать= Истина;

Движения. ОсновныеНачисления. Очистить() ;

ПериодРегистрации=НачалоМесяца(Дата) ;

Для Каждого ТекСтрокаОсновныеНачисленияИз ОсновныеНачисленияЦикл

Движение= Движения. ОсновныеНачисления. Добавить() ;

Движение. Сторно= Ложь;

Движение. ВидРасчета= ТекСтрокаОсновныеНачисления. ВидРасчета;

Движение. ПериодДействияНачало= ТекСтрокаОсновныеНачисления. ДатаНачала;

Движение. ПериодДействияКонец= КонецДня(ТекСтрокаОсновныеНачисления. ДатаОкончания) ;

Движение. ПериодРегистрации = ПериодРегистрации;

Движение. Сотрудник= ТекСтрокаОсновныеНачисления. Сотрудник;

Движение. График= ТекСтрокаОсновныеНачисления. График;

Движение. Параметр= ТекСтрокаОсновныеНачисления. Размер;

КонецЦикла;

КонецПроцедуры

Создадим тестовый документ и проведём его:

Перейдём в «Движения документа»:

Видим, что период регистрации установился как начало месяца т.к. периодичность РР указана «Месяц». Так же видим, что заполнились все поля кроме суммы(ЗП ещё не рассчитана).

Шаг 7 .Напишем код расчета заработной платы.

Создадим общий модуль «Расчет» со следующими флагами:

В данном общем модуле у нас и будет происходить сам расчёт.

Напишем в модуле «Расчет» экспортную функцию «Рассчитать начисления»:

Так как мы заполнили в настройках РР «Основные начисления» поля «График», «Значение графика», «Дата графика» у нас стала доступна виртуальная таблица регистра расчета ДанныеГрафика, в запросе к виртуальной таблице нас интересуют поля:

«КоличествоЧасовФактическийПериодДействия» — содержит рассчитанное на основании данных графика количество фактически отработанных часов

«КоличествоЧасовПериодДействия» — содержит рассчитанное на основании данных графика количество рабочих часов в периоде расчёта

Процедура расчета заработной платы

1С (Код)

Процедура РассчитатьНачисления(Регистратор, НаборЗаписей) Экспорт //Оклад Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ | ЕСТЬNULL(ОсновныеНачисленияДанныеГрафика.КоличествоЧасовФактическийПериодДействия, 0) КАК ЧасовФакт, | ОсновныеНачисленияДанныеГрафика.Параметр, | ЕСТЬNULL(ОсновныеНачисленияДанныеГрафика.КоличествоЧасовПериодДействия, 0) КАК ЧасовПлан, | ОсновныеНачисленияДанныеГрафика.НомерСтроки |ИЗ | РегистрРасчета.ОсновныеНачисления.ДанныеГрафика(| Регистратор = &Регистратор | И ВидРасчета = &ВидРасчетаОклад) КАК ОсновныеНачисленияДанныеГрафика"; Запрос.УстановитьПараметр("Регистратор", Регистратор); // передаём документ регистратор чтобы поиск выполнялся только по текущему документу Запрос.УстановитьПараметр("ВидРасчетаОклад", ПланыВидовРасчета.ОсновныеНачисления.Оклад); //устанавливаем вид расчёта оклад т.к. рассчитываем оклад Выборка=Запрос.Выполнить().Выбрать(); СтруктураПоиска=Новый Структура; СтруктураПоиска.Вставить("НомерСтроки",0); //создадим структуру для поиска данных для расчёта по номеру строки Для Каждого Запись Из НаборЗаписей Цикл //цикл по набору записей текущего документа СтруктураПоиска.НомерСтроки=Запись.НомерСтроки; //заполняем номер строки для поиска Если Выборка.НайтиСледующий(СтруктураПоиска) Тогда //ищем в выборке данные для расчёта по текущему номеру строки Запись.Сумма =?(Выборка.ЧасовПлан=0,0, Выборка.ЧасовФакт/Выборка.ЧасовПлан * Выборка.Параметр); //рассчитываем ЗП пропорционально отработанным дням, в Параметр - текущий оклад КонецЕсли; Выборка.Сбросить(); //сбросим выборку, нужно чтобы следующая запись набора записей делала поиск по выборке сначала КонецЦикла; НаборЗаписей.Записать(,Истина); //записываем рассчитанные записи в базу, передаём параметр Замещать = Истина КонецПроцедуры

//Оклад

Запрос=Новый Запрос;

Запрос. Текст="ВЫБРАТЬ

| ЕСТЬNULL(ОсновныеНачисленияДанныеГрафика.КоличествоЧасовФактическийПериодДействия, 0) КАК ЧасовФакт,

| ОсновныеНачисленияДанныеГрафика.Параметр,

| ЕСТЬNULL(ОсновныеНачисленияДанныеГрафика.КоличествоЧасовПериодДействия, 0) КАК ЧасовПлан,

| ОсновныеНачисленияДанныеГрафика.НомерСтроки

|ИЗ

| РегистрРасчета.ОсновныеНачисления.ДанныеГрафика(

| Регистратор = &Регистратор