function TPmms110.getMonthWeekNum (fDate:Tdatetime):integer;
var OrderInWeek:integer;
year,month,day:word;
firstDayOfMonth:Tdatetime;
begin
DecodeDate(fDate,year,month,day);
firstDayOfMonth:=EncodeDate(year,month,1);
OrderInWeek:=dayOfWeek(firstDayOfMonth)-1;
if OrderInWeek<1 then OrderInWeek:=7;
result:=((day+OrderInWeek-2) div 7) +1;
if (OrderInWeek>4) and (result>1) then
result:=result-1;
if result>4 then result:=4;
end;