// ===================================================================
function FirstDayOfMonth (Data : TDateTime; lSabDom : Boolean) : TDateTime;
var
Ano, Mes, Dia : word;
DiaDaSemana : Integer;
begin
DecodeDate (Data, Ano, Mes, Dia);
Dia := 1;
if lSabDom then
begin
DiaDaSemana := DayOfWeek (Data);
if DiaDaSemana = 1 then
Dia := 2
else if DiaDaSemana = 7 then
Dia := 3;
end;
FirstDayOfMonth := EncodeDate (Ano, Mes, Dia);
end;