This is just a rough idea, you will need to fill in and modify to your exact system
var text rootNumber = Case([Type Field],
"Provisional Sum","1",
"Variations","2",
"Anticipated Variations","3",
"");
var number counter = Size(GetRecords("{'3'.LT.'" & [Record ID#] & "'}AND{'Parent Field FId'.EX.'" & [Related Parent Value] & "'}AND{'Type Field Fid'.EX.'" & [Type] & "'}",Dbid())) + 1;
$rootNumber &"."&PadLeft(ToText($counter),2,"0")
You would need to swap the actual FID values for the related field and type field that would make the query valid.
------------------------------
Chayce Duncan
------------------------------