Das erste ist relativ einfach :
Berechnetes Feld einfügen, Typ Datum, Anzeige Datum, Berechnungsformel:
@If(@IsAvailable(flddatum1);@Adjust(fldDatum1;0;0;15;0;0;0);"")
bei 30 Tagen entsprechendes zweites Feld mit 30 anstelle der 15.
Was den Agent angeht.
Neuer Agent, läuft auf alle Dokumente, Select nach Feld, Form = "deinformname" damit er nur die Dokumente erwischt, die zu bearbeiten sind. eventuell entsprechend Ergänzen mit anderen Bedingungen.
Im Agent dann:
REM " Vorgabewerte aus Dokument holen";
IntDatumjetzt := @Date(@Today);
IntDatumAblauf1 := @Date(fldberDatum1);
IntDatumAblauf2 := @Date(fldberDatum2);
REM " Differenz zwischen heut und Ablaufdatum ermitteln";
DifferencedaysDatum1 :=(intDatumAblauf1 - intdatumjetzt)/86400;
DifferencedaysDatum2 := (intDatumAblauf2 - intdatumjetzt)/86400;
Und den Rest mit @if und entsprechenden Vergleichen. Da hab ich jetzt nicht mehr weitergemacht, weil deine Anforderungen für den Vergleich nicht reproduzierbar sind.
Wenn du zwei Datumswerte hast die fest definiert sind, dann hast du spätestens dann, wenn Datumsdifferenz2 < 30 automatisch auch Datumsdifferenz1 < 15. Logisch nicht auflösbar.
Thomas