Зависимость по базовому периоду



Лабораторная работа № 19

Использование регистра расчета.

ЗАДАНИЕ

  1. Загрузите конфигурацию «Учебная база данных Фамилия» в режиме конфигуратора
  2. Создайте объект конфигурации Документ - НачисленияСотрудникам
  3. Создайте движения по документу НачисленияСотрудникам
  4. Создайте объект конфигурации Отчет - Перерасчет
  5. Проверьте работу созданного механизма
  6. Создайте общий модуль ПроведениеРасчетов и процедуру РассчитатьНачисления()
  7. Измените обработку проведения документа НачисленияСотрудникам, добавив вызов процедуры РассчитатьНачисления()
  8. Проверьте работу созданного механизма
  9. Создайте Отчет – НачисленияСотрудникам
  10. Создайте в общем модуле ПроведениеРасчетов процедуру ПерерассчитатьНачисления()
  11. Добавьте в форму отчета НачисленияСотрудникам кнопку Перерасчитать
  12. Выгрузите созданную информационную базу.

Добавление документа о начислениях

1. Откройте конфигуратор и добавьте новый объект конфигурации Документ - НачисленияСотрудникам. Задайте Представление объекта как Начисление сотрудникам. На закладке Нумерация установите:

· Тип номера – Число,

· Длина номера – 5

· Контроль уникальности

· Непериодический

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

На закладке Данные укажите, что этот документ будет иметь Табличную часть Начисления, содержащую следующие реквизиты:

· Сотрудник, тип СправочникСсылка.Сотрудники;

· ГрафикРаботы, тип СправочникСсылка.ВидыГрафиковРаботы;

· ДатаНачала, тип Дата;

· ДатаОкончания, тип Дата;

· ВидРасчета, тип ПланВидовРасчетаСсылка.ОсновныеНачисления;

· Начислено, Число, длина 15, точность 2.

Реквизиты ДатаНачала и ДатаОкончания понадобятся для того, чтобы задавать период, в котором должна действовать запись расчета.

2. На закладке Движения запретите оперативное проведение документа.

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

В окне конструктора выберите табличную часть Начисления и нажмите Заполнить выражения.

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

· Для поля ПериодРегистрации укажите выражение Дата.

· Реквизиту ИсходныеДанные поставьте в соответствие реквизит табличной части Начислено

· Для ресурса Результат оставьте пустое выражение, так как он потом будет рассчитываться.

Рис. 19.1 Конструктор движения документа Начисления сотрудникам

Нажмите OK и посмотрите текст обработчика, созданный конструктором.

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

3. Запустите «1С:Предприятие» в режиме отладки и посмотрите, как работает документ.

В разделе Расчет зарплаты выполните команду Начисление сотрудникам и начислите оклад за месяц всем сотрудникам

Проведите документ и посмотрите, какие движения он сформировал в регистре Начисления.

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

Механизм вытеснения и зависимости от базы. Отчет по перерасчетам

4. Создайте новый объект конфигурации Отчет. Назовите его Перерасчет.

Создайте основную схему компоновки данных, добавьте источник данных – запрос и откройте конструктор запроса.

В списке База данных раскройте ветвь Перерасчеты и из виртуальной таблицы перерасчета Начисления.Перерасчет выберите все поля:

· ОбъектПерерасчета,

· ВидРасчета,

· Сотрудник.

На этом создание запроса закончено, нажмите ОK.

Перейдите на закладку Настройки и добавьте группировку детальных записей.

На закладке Выбранные поля выберите для вывода в отчет поля ОбъектПерерасчета, ВидРасчета и Сотрудник. На этом создание схемы компоновки данных закончено.

В окне редактирования объекта конфигурации Отчет Перерасчет на закладке Подсистемы укажите, что отчет будет принадлежать подсистеме РасчетЗарплаты.

Зависимость по базовому периоду

5. Если сейчас выполнить отчет в режиме 1С:Предприятие, то будет видно, что ни один перерасчет еще не выполнялся. Поэтому создайте новый документ Начисление сотрудникам № 2, в котором начислите премию за месяц двум мастерам.

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

Теперь снова откройте документ Начисление сотрудникам № 1 и измените оклад одного из мастеров. Нажмите провести и закрыть. Сформируйте отчет Перерасчет.

Отчет содержит какие-то данные. Вид расчета Премия зависит по базовому периоду от вида расчета Оклад. Как только изменились существовавшие в регистре записи по виду расчета Оклад, платформа сразу же сформировала набор записей перерасчета, которые должны быть рассчитаны заново, так как изменилась их база.

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

Перепроведите документ Начисления сотрудникам № 2 (которым начисляли премию) и сформируйте отчет Перерасчет.

Он снова не содержит никаких данных – система отметила тот факт, что «пересчитали» зависимые записи, и очистила таблицу перерасчета.


Дата добавления: 2019-07-15; просмотров: 218; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!