Главная » 1С Предприятие » ПРИМЕР ПРОСТОГО РАСЧЕТА

0

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

Алгоритм расчета  премии  состоит из одной  конструкции  "если-то-иначе":

1.             Начало.

2.                Выбрать  сотрудника.

3.                Если оплата  сотрудника производится по окладу, то

премия = (оклад  * всегоЧасов / всегоЧасовПоКалендарю) * коэффициент

иначе                                   //                     Часовой тариф

премия = тариф * всегоЧасов * коэффициент

конец если 3.

4.             Конец.

Оклад   мы  возьмем  из  справочника  Сотрудники   2  (согласно  ему  все наши  люди "сидят" на  окладе). Значение  переменной  всегоЧасов число отработанных  сотрудником   часов   в   расчетном  периоде  придется  вводить (или  подсчитывать  по  табелю)  ежемесячно.   Значение   переменной   всегоЧасовПоКалендарю    число   рабочих   часов в расчетном  периоде    в   1С   определяется  при   помощи   объектов   типа  Календарь. С  переменной  коэффициент   поступим   так:   установим  индивидуальный для  каждого  сотрудника  коэффициент,  причем  его  значения   в  разных   расчетных  периодах  могут не совпадать.  Если  коэффициент  постоянен и  одинаков  для  всех работников,  то  его можно  добавить в список констант,  причем периодических.

Из  приведенного  обзора  входных данных   алгоритма  следует, что  справочник  Сотрудники_2 нужно  дополнить  еще  одним реквизитом Календарь. Тогда, зная  календарь,  то  есть   зная   продолжительность рабочей  недели  и   рабочего   дня  сотрудника, а также  даты  выходных  и  праздников  в  расчетном  периоде, легко  вычислить значение переменной всегоЧасовПоКалендарю.  В  1С  его  вернет  следующий код:

// Возвращает число рабочих часов в расчетном периоде по календарю

// кален параметр типа Календарь; жз переменная типа ЖурналРасчетов.Зарплата

// датаП дата, принадлежащая текущему расчетному периоду ЖЗ функция НайтиВсегоЧасовПоКалендарю(кален, жз, датаП)

возврат кален.Часов(жз.НачалоПериодаПоДате(датаП), жз.КонецПериодаПоДате(датаП));

конецфункции // НайтиВсегоЧасовПоКалендарю

// Запустим функцию НайтиВсегоЧасовПоКалендарю из обработки Проба

процедура Выполнить()                     //             Связана с кнопкой Пуск  обработки Проба  перем кален, жз, датаП, всегоЧасовПоКалендарю;

кален  = СоздатьОбъект("Календарь.Рабочие_2");

жз  = СоздатьОбъект("ЖурналРасчетов.Зарплата_2");

// 3 марта 2001 г. дата, принадлежащая текущему  расчетному периоду ЖЗ датаП  = ‘03.03.2001’;

всегоЧасовПоКалендарю = НайтиВсегоЧасовПоКалендарю(кален, жз, датаП); Сообщить("Число рабочих часов в марте 2001 г. равно " + всегоЧасовПоКалендарю);

конецПроцедуры // Выполнить

Результат;

Число рабочих часов в марте 2001 г. равно 167

Такой   результат   получен,  потому   что  рабочие  работают   на  пятидневке;  продолжительность рабочего  дня  8 ч; в марте  один праздник  8 Марта;  продолжительность предпраздничного дня  -7 ч.  Тогда  имеем в  марте  2001  г.  21  рабочий  день  и  всегоЧасовПоКалендарю = 20 * 8 + 7 = 167. Более  подробно об управлении календарями см.  в разд. 7.5.

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

Рис.    7.1.   Премия  Добрецова  Бориса  Юрьевича.

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

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

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

Таблица 7.1

Табличная часть документа ПриказОПремии

Сотрудник

Отработанные часы

Коэффициент

Премия

Добрецов Борис Юрьевич

167

10

1,670.00

Графа Премия заполняется автоматически и для редактирования недоступна.

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

Результатом проведения документа является добавление расчета в ЖЗ (см. рис. 7.1).

Список  приведенных выше реквизитов  документа не  является  исчерпывающим: для бухгалтерского учета начисления и удержания разных  видов нужно  отнести на соответствующие счета (дебет и кредит). То есть в документе, в его шапке, нужно  добавить  реквизит ХозОп   (код  хозяйственной  операции ).  Этот  код  можно   выбирать из справочника ХозяйственнаяОперация. Однако известно, что один и тот же ВР связан  с определенной хозяйственной операцией.  Поэтому правильнее создать  дополнительный справочник, например  ХозОпДляВР, хранящий  для каждого  вида расчета  его хозяйственную операцию.

*  Хозяйственные операции  это   отдельные   хозяйственные  действия,   вызывающие   изменения в объеме,  составе,  размещении и использовании средств,  а также  в  составе  и назначении источников    этих    средств.     Так,   при    покупке   материалов   происходит  увеличение   их   запасов и уменьшение денежных  средств.

7.1.2.  НЕКОТОРЫЕ  СВОЙСТВА  ЖУРНАЛА  ЗАРПЛАТЫ  И  ЕГО РАСЧЕТОВ

Журнал  зарплаты:

•    характеризуется расчетным периодом;

•    состоит из записей расчетов;

•   содержит для  каждого объекта (сотрудника) все причитающиеся ему в  расчетном  периоде начисления и полагающиеся удержания.

Каждый расчет ЖЗ:

•    регистрируется в некотором периоде расчета ЖЗ;

•   имеет дату начала  и дату окончания, которые в  обязательном порядке должны  находиться в пределах  одного  расчетного периода;

•    имеет период действия;

•   связан с документом, порождающим расчет;

•    связан с объектом расчета;

•   связан  с ВР, в который в том  числе входит  и процедура, выполняющая расчет  и возвращающая его результат.

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

Замечание.   Период  действия расчета  может  лежать  в  ином, отличном  от текущего расчетном периоде.  Так, расчет  отпуска с  1  июня продолжительностью  40 календарных  дней  осуществляется в  мае.  Поэтому, начисляя  отпускные,  система должна, вопервых, разбить исходный  расчет  на два,  задав  для  первого  в  качестве  периода действия июнь, а для второго июль (за это  отвечает атрибут ЖЗ ПериодДействия), определив   соответствующим   образом  атрибуты   ЖЗ   ДатаНачала  и   ДатаОкончания.   Вовторых, разместить  обе  части  в  майском расчетном периоде ЖЗ  (за это  отвечает атрибут  ЖР   ПериодРегистрации).   Тогда  процедура  расчета   выберет  верные  календари, расходы   бухгалтерского  учета  будут  отнесены  на  соответствующие  периоды,  а  отпускник увидит  в расчетном листке корректные даты.

7.1.3.  МЕРОПРИЯТИЯ ПО  СОЗДАНИЮ   ЖУРНАЛА ЗАРПЛАТЫ

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

1)      выделить все имеющиеся на предприятии виды начислений и удержаний;

2)      оформить  каждый вид начисления (удержания)  как  объект  1С типа ВидРасчета;

3)      разработать документы 1С, автоматизирующие учет отработанного времени;

4)       дополнить  конфигурацию  вспомогательным справочником  хозяйственных  операций для ВР предприятия;

5)      создать ЖЗ;

6)       сконструировать отчеты по выполняемым расчетам, в том числе расчетный листок сотрудника.

Источник: Бартеньев О. В. 1С:Предприятие:  программирование для  всех.  Базовые объекты и расчеты на одной дискете. М.: Диалог-МИФИ, 2005. 464 с.

По теме:

  • Комментарии