КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Документ.НачисленияСотрудникам.Начисления 2 страница
Запустим 1С:Предприятие в режиме отладки и заполним регистр данными о рабочих днях марта графика мастеров. Чтобы проще выполнить эту довольно однообразную работу, можете воспользоваться возможностью добавления элементов в справочник
Использование основных объектов конфигурации План видов расчета, регистр расчета
Укажем, что регистр расчета будет использовать базовый период, и периодичность регистра будет «Месяц».
Теперь все готово для создания регистра расчета. Создадим новый объект конфигурации Регистр расчета с именем «Начисления». В качестве плана видов расчета, используемого регистром, выберем план видов расчетов «ОсновныеНачисления». Установим, что регистр будет использовать период действия, график будет задаваться в регистре сведений «ГрафикиРаботы», значение графика будет находиться в ресурсе «Значение», а дата графика - в измерении «Дата».
• измерение «Сотрудник», тип СправочникСсылка.Сотрудники, базовое, • ресурс «Результат», тип Число, длина 15, точность 2, • реквизит «ГрафикРаботы», тип СправочникСсылка.ВидыГрафиковРаботы, связь с графиком по измерению «ГрафикРаботы», • реквизит «ИсходныеДанные», тип Число, длина 15, точность Реквизит «ГрафикРаботы» мы будем использовать для того, чтобы связать запись регистра с используемым графиком работы, а реквизит «ИсходныеДанные» - чтобы хранить в нем данные, которые могут понадобиться при расчете или перерасчете (в нашем примере это будет расчет оклада).
План видов расчета, регистр расчета
На этом создание объекта конфигурации Регистр расчета «Начисления» завершено. Что нового мы узнали - что такое сложные периодические расчеты - что такое вид расчета, база - какая разница между базовым периодом, фактическим периодом и периодом действия - что такое зависимость по базовому периоду - что такое вытеснение по периоду действия - для чего предназначен объект конфигурации План видов расчета - каковы основные свойства плана видов расчета - какая разница между базовыми, вытесняющими и ведущими видами расчетов - как создать план видов расчета - что такое объект конфигурации Регистр расчета - каковы отличительные особенности регистра расчета - что такое график времени - что такое перерасчет - по какому принципу формируются записи перерасчета - как создать регистр расчета.
Использование регистра расчета
Теперь у нас все готово для того, чтобы начать разработку системы расчета заработной платы OOO «На все руки мастер». В этой главе мы создадим документ, с помощью которого будут выполняться различные виды начислений, посмотрим, как и когда платформа формирует записи перерасчета, увидим, как работают механизмы вытеснения по периоду действия и зависимости по базовому периоду. Кроме этого мы создадим отчет, показывающий начисления сотрудникам OOO «На все руки мастер» и сделаем так, чтобы данные расчетов можно было поддерживались в актуальном состоянии. В заключение мы познакомимся с новым элементом управления -Диаграмма Ганта, - и с его помощью наглядно проиллюстрируем работу некоторых механизмов расчета. Создание документа НачисленияСотрудникам
ля того, чтобы иметь возможность регистрировать в базе данных начисления производимые сотрудникам OOO «На все руки мастер», нам понадобится специальный документ. Откроем конфигуратор и создадим новый документ. Назовем его «НачисленияСотрудникам». Этот документ будет иметь табличную часть «Начисления», содержащую следующие реквизиты: • «Сотрудник», тип СправочникСсылка.Сотрудники, • «ГрафикРаботы», • «ДатаНачала», тип Дата, • «ДатаОкончания», тип Дата, • «ВидРасчета», тип ПланВидовРасчетаСсылка.ОсновныеНачисления, • «Результат», Число, длина 15, точность 2. Реквизиты «ДатаНачала» и «ДатаОкончания» понадобятся нам для того, чтобы задавать период, в котором должна действовать запись расчета. На закладке «Движения» запретим оперативное проведение документа, отметим, что документ будет создавать движения по регистру расчета «Начисления» и запустим конструктор движений.
Использование основных объектов конфигурации Использование регистра расчета
«ПериодДействияКонец» и «БазовыйПериодКонец» укажем Реквизиту «ИсходныеДанные» поставим в соответствие реквизит табличной части «Результат», а для реквизита «Результат» наоборот удалим выражение, присвоенное ему конструктором:
Движение.Сторно = Ложь; Движение.ПериодРегистрации = Дата; Движение.ВидРасчета = ТекСтрокаНачисления.ВидРасчета; Движение.ПериодДействияНачало = ТекСтрокаНачисления.ДатаНачала; Движение.ПериодДействияКонец = КонецДня(ТекСтрокаНачисления.ДатаОкончания); Движение.БазовыйПериодНачало = ТекСтрокаНачисления.ДатаНачала; Движение.БазовыйПериодКонец = КонеиДня(ТекСтрокаНачисления.ДатаОкончания); Движение.Сотрудник = ТекСтрокаНачисления.Сотрудник; Движение.ГрафикРаботы = ТекСтрокаНачисления.ГрафикРаботы; Движение.йсходныеДанные = ТекСтрокаНачисления.Результат; КонецЦтота; // записываем движения регистров Движения.Начисления.Записать(); //} }_КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры
Начислим оклад за март всем сотрудникам OOO «На все руки мастер», как показано на рисунке:
// регистр Начисления Движение = Движения.Начисления.Добавить();
Использование основных объектов конфигурации Использование регистра расчета
Иллюстрация механизмов вытеснения и зависимости от базы
оздадим новый объект конфигурации Отчет. Назовем его «Перерасчет». На закладке «Макеты» откроем конструктор выходной формы, и выберем следующие поля из виртуальной таблицы перерасчета «Начисления.Перерасчет»:
Для дальнейшего изучения работы регистра расчета нам понадобится служебный отчет, с помощью которого мы сможем посмотреть содержимое записей перерасчета. На закладке «Отчет» сбросим флаг «Использовать построитель отчета» и нажмем «OK» - наш отчет готов. Запустим 1С:Предприятие в режиме отладки, сформируем отчет «Перерасчет» и убедимся, что пока он не содержит никаких данных. Создадим новый документ Начисление сотрудникам №2, в котором начислим премию за март Гусакову и Деловому:
Теперь снова откроем документ Начисление Сотрудникам №i и изменим оклад Гусакова с 10 000 на 7 000. Нажмем «ОК» Сформируем отчет «Перерасчет»:
Использование регистра расчета
Теперь посмотрим, как работает механизм вытеснения по периоду действия. Для этого нам понадобится создать третий документ НачисленияСотрудникам №3:
Вы можете спросить: «почему в перерасчет попали записи как про Делового, так и про Гусакова, хотя оклад мы меняли только Гусакову»? Дело в том, что платформа не отслеживает конкретные изменения, которые пользователь внес в записи документа. Она отслеживает лишь факт изменения набора записей регистра расчета в результате проведения (перепроведения) документа. Поэтому в набор записей перерасчета она включает информацию о ВСЕХ записях регистра, значение ресурсов которых МОЖЕТ измениться в результате перепроведения документа, создавшего базовые записи регистра. Перепроведем документ Начисления сотрудникам №2 (которым мЫ начисляли премию) и сформируем отчет «Перерасчет». Он снова не содержит никаких данных - система отметила тот факт, что M& «пересчитали» зависимые записи и очистила таблицу перерасчета. Этим документом мы зафиксируем тот факт, что Гусаков не выходил на работу с 1 по 10 марта. Очевидно, что в этом случае потребуется пересчитать его оплату по окладу и, как следствие, начисленную премию. Нажмем «ОК» и сформируем отчет «Перерасчет»:
Использование основных объектов конфигурации Использование регистра расчета
Обратите внимание, что в перерасчет попала и запись о начислении премии Гусакову. Если вы помните, при создании предопределенных видов расчета мы указали, что результат вида расчета премия будет зависеть от изменения результата вида расчета «Невыход». Эта зависимость косвенная, но поскольку явно указали такую зависимость платформа ее отследила. Перепроведем документы Начисление сотрудникам №1 и №2 и убедимся, что таблица перерасчета очистилась. Создание процедуры расчета записей регистра Начисления
о сих пор мы с вами просто заносили в регистр расчета «Начисления» записи о том, что необходимо выполнить какой-либо вид расчета. Но каким именно образом получать эти результаты мы не говорили. Теперь настало время описать алгоритмы формирования различных видов расчетов. Поскольку эти алгоритмы нам понадобится использовать не только в документе «Начисление сотрудникам», удобнее всего будет разместить их в отдельном общем модуле. Откроем в конфигураторе текст обработчика проведения документа «НачислениеСотрудникам» и добавим в него вызов процедуры из общего модуля:
// регистр Начисления Движение = Движения.Начисления.Добавить(); Движение.Сторно = Ложь; Движение.ПериодРегистрации = Дата; Движение.ВидРасчета = ТекСтрокаНачисления.ВидРасчета; Движение.ПериодДействияНачало = ТекСтрокаНачисления.ДатаНачала; Движение.ПериодДействияКонец = КонецДня(ТекСтрокаНачисления.ДатаОкончания); Движение.БазовыйПериодНачало = ТекСтрокаНачисления.ДатаНачала; Движение.БазовыйПериодКонец = КонецДня(ТекСтрокаНачисления.ДатаОкончания); Движение.Сотрудник = ТекСтрокаНачисления.Сотрудник; Движение.ГрафикРаботы = ТекетрокаНачисления.ГрафикРаботы; Движение.ИсходныеДанные = ТекСтрокаНачисления.Результат; КонецЦикла; // записываем движения регистров Движения.Начисления.Записать(); //получим список всех сотрудников, содержащихся в документе Использование основных объектов конфигурации Использование регистра расчета
Дата добавления: 2014-11-16; Просмотров: 1335; Нарушение авторских прав?; Мы поможем в написании вашей работы! |