reportextension 50100 "Res Usage Absence Ext" extends "Resource Usage"
{
dataset
{
add(Resource)
{
column(AbsenceQty; AbsenceQty)
{
}
column(AvailableCapacity; AvailableCapacity)
{
}
}
modify(Resource)
{
trigger OnAfterAfterGetRecord()
begin
CalculateAbsence(Resource);
AvailableCapacity :=
Resource.Capacity -
Resource."Usage (Qty.)" -
AbsenceQty;
end;
}
}
rendering
{
layout(ResourceUsageWithAbsence)
{
Type = RDLC;
LayoutFile = './src/Reports/ResourceUsageWithAbsence.rdlc';
Caption = 'Resource Usage with Absence';
}
}
var
AbsenceQty: Decimal;
AvailableCapacity: Decimal;
local procedure CalculateAbsence(Resource: Record Resource)
var
TimeSheetDetail: Record "Time Sheet Detail";
DateFilter: Text;
begin
Clear(AbsenceQty);
DateFilter := Resource.GetFilter("Date Filter");
TimeSheetDetail.SetRange("Resource No.", Resource."No.");
TimeSheetDetail.SetRange(Type, "Time Sheet Line Type"::Absence);
TimeSheetDetail.SetRange(Posted, true);
if DateFilter <> '' then
TimeSheetDetail.SetFilter(Date, DateFilter);
if TimeSheetDetail.FindSet() then
repeat
AbsenceQty += TimeSheetDetail."Posted Quantity";
until TimeSheetDetail.Next() = 0;
end;
}