Arbeitszeit

Aus Asprova Hilfe
Version vom 17. Juni 2025, 12:43 Uhr von GK (Diskussion | Beiträge) (GetNearestWorkingStartTime( resource, date, dir ))
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
Hilfe Nummer: 741540
Interne Funktionen
Formeleditor

Asprova stellt Ihnen die folgenden Funktionen rund um Arbeitszeiten zur Verfügung.

AdvanceAlongResourceWorkingTime( resouce, time, timeSpan )

Parameter resource Ressource
time Basiszeit
timeSpan Zeitspanne
Rückgabewert Gibt den Zeitpunkt timeSpan nach time zurück, wobei nur die Arbeitszeiten auf resource berücksichtigt werden.
Beispiele AdvanceAlongResourceWorkingTime(ME.Resource,#2020/06/01 00:00:00#,24h) 02/06/2020 21:00
Incodefunc-kadoujikan01.png
ME ist hier "Mischer 1".
Hinweis Hat timeSpan einen negativen Wert, so liegt der Rückgabewert vor time.

GetResourceQtyTime( resource, start, end )

Parameter resource Ressource
start Beginn
end Ende
Rückgabewert Gibt die Ressourcenanzahlzeit (Ressourcenzeit * Ressourcenanzahl) von resource zwischen start und end zurück.
Beispiel GetResourceQtyTime(ME,#2020/06/04 00:00#,#2020/06/09 00:00#) 172800
GetResourceQtyTime01.png
ME ist hier "Mischer 1". 1*12h + 2*12h + 1*12h = 172800 (≈2d)

GetWorkingDays ( start, end, resource, minTime )

Die Funktion kann überladen und somit auch mit anderen Parametern genutzt werden: GetWorkingDays ( start, end, resource, minTime, type )

Variante 1 Variante 2
Parameter start Beginn start Beginn
end Ende end Ende
resource Ressource resource Ressource
minTime Minimale Arbeitszeit in einem Arbeitstag minTime Minimale Arbeitszeit in einem Arbeitstag
type Zählweise
Rückgabewert Gibt die Anzahl an Arbeitszeitperioden auf resource zwischen start und end an, die mindestens minTime lang sind. Arbeitszeitperioden werden dabei mitternachts automatisch als unterbrochen angesehen. type bestimmt wie Arbeitszeitperioden gezählt werden:
  • 0: alle Perioden, die mindestens minTime lang sind (also wie kein Wert)
  • 1: Arbeitstage, d.h. je Tag maximal eine Periode, die mindestens minTime lang ist
Beispiele GetWorkingDays(#2020/06/01 00:00#, #2020/06/03 00:00#, ME, 5h) 2
Incodefunc-kadoujikan02.png
GetWorkingDays(#2020/06/01 00:00#, #2020/06/03 00:00#, ME, 4h) 4
Incodefunc-kadoujikan03.png
GetWorkingDays(#2020/06/01 00:00#, #2020/06/03 00:00#, ME, 4h, 1) 2
Incodefunc-kadoujikan05.png
ME ist hier jeweils "Mischer 1".

GetWorkingTime( start, end, resource )

Parameter start Beginn
end Ende
resource Ressource
Rückgabewert Gibt die Arbeitszeit von resource zwischen start und end zurück.
Beispiele GetWorkingTime(#2020/06/01 00:00:00#,#2020/06/03 00:00:00#,ME) 1d
Incodefunc-kadoujikan04.png
ME ist hier "Mischer 1".
Anders als bei GetResourceQtyTime() wird die Ressourcenanzahl nicht berücksichtigt.

GetCalendar( res, time )

Parameter res Ressource
time Zeit
Rückgabewert Gibt das Kalenderobjekt zurück, das auf resource für den Zeitpunkt time angewendet wird.
Beispiele GetCalendar(ME.Resource,ME.StartTime)

Getcalendar 01.png

Kalendertabelle
Ressource Darum oder
Wochentag
Schicht-
code
Reihen-
folge
Ressourcen
anzahl
Vorgänge
* Mo-Fr Tagesschicht 10 1 02:10
Mischer 1 02/06/2020 Tagesschicht 2 30 1 03:10
Mischer 1 03/06/2020 Nacht 1;Nacht 2 30 2 04:10, 05:10

ME ist hier "Mischer 1".

GetShiftList( res, time, includeStart, includeEnd )

Parameter res Ressource
time Zeit
includeStart Definiert ob Schichten eingeschlossen werden, die genau zu time beginnen.
includeEnd Definiert ob Schichten eingeschlossen werden, die genau zu time enden.
Rückgabewert Gibt die Schichtobjekte zurück, die zu time auf res angewendet werden. Über includeStart und includeEnd wird definiert, ob Schichten mit einbezogen werden, die genau um time beginnen oder enden. Bei TRUE werden diese einbezogen, bei FALSE nicht.
Beispiele
GetShiftList( ME.Resource,
             ME.StartTime,
             TRUE,
             TRUE
            )
Getshift 01.png
ME.Resource ist hier "Mischer 1".
  • Schichten sind nach deren Beginn sortiert.
  • Es wird angenommen, dass die Zeiten in [Arbeitszeiten] der Schichten zwischen 00:00 und 48:0 liegen.
  • Liegt time in einer arbeitsfreien Zeit und der Tag ist ein Feiertag, so wird die Feiertagsschicht zurückgegeben.

GetOverwriteCalendar( res, time )

Parameter res Ressource
time Zeit
Rückgabewert Gibt die Kalenderausnahme zurück, die zu time auf res angewendet werden.
Beispiele
GetOverwriteCalendar( ME.Operation.OperationMainRes,
                     ME.StartTime
                    )
GetOverwriteCalendar 01.png
Der [Nutzungsanweisungsbalkentext] zeigt die Kalenderausnahme der [Hauptressource] des Vorgangs zum [Beginn] der Aufgabe an.
GetOverwriteCalendar( ME.TentAssignResource,
                     ME.TentAssignProductionStartTime-1s
                    )
GetOverwriteCalendar 02.png
Die [Rüstzeitanpassungsformel] bezieht während der vorläufigen Zuweisung die Kalenderausnahme eine Sekunde vor [Vorläufige Zuweisung - Produktionsbeginn] auf [Vorläufige Zuweisung - Ressource].

AdvanceAlongResourceWorkingDay( resource, time, day, minTime, type )

Parameter resource Ressource
time Basiszeit
day Anzahl der Arbeitstage
  • positiv: in die Zukunft
  • negativ: in die Vergangenheit
  • 0: aktueller Arbeitstag
minTime Mindestarbeitszeit, damit Tag als Arbeitstag zählt 0s wird als 1s angesehen
type Definiton des Rückgabewerts
  • 0: Tagesbeginn
  • 1: Beginn der Arbeitszeit
Rückgabewert Beginn des Tages (oder je nach type der Arbeitszeit) day Arbeitstage von resource nach time, wobei ein Arbeitstag mindestens minTime an Arbeitszeit enthalten muss.
Beispiele AdvanceAlongResourceWorkingDay(ME.PrevOperation.OperationMainRes, ME.PrevOperation.EndTime, 3, 8h, 1) 10/06/2026 00:00
AdvanceAlongResourceWorkingDay.png
AdvanceAlongResourceWorkingDay(ME.OperationMainRes, ME.OperationProductionStartTime, -2, 0, 0) 10/06/2026 00:00
AdvanceAlongResourceWorkingDay.png
Hinweise
  • Als Tagesbeginn wird die [Tagestrennzeit] des Projekts genutzt.
  • Unabhängig von der Zeit in time, wird der Tag von time als Arbeitstag angesehen, falls dieser ab der [Tagestrennzeit] mindestens minTime' an Arbeitszeit hat.

GetNearestWorkingStartTime( resource, date, dir )

Parameter resource Ressource
date Startzeit für die Suche
dir Richtung der Suche
  • TRUE: in die Zukunft
  • FALSE: in die Vergangenheit
Rückgabewert Der erste Beginn der nächsten Arbeitszeitperiode auf resource ab date in Richtung dir.
Beispiele 1.
GetNearestWorkingStartTime( ME.Operation.OperationMainRes,
                           #2026/06/01 15:00:00#,
                           TRUE
                          )
02/06/2026 08:00
GetNearestWorkingStartTime( ME.Operation.OperationMainRes,
                           #2026/06/01 15:00:00#,
                           FALSE
                          )
01/06/2026 08:00
GetNearestWorkingStartTime 001.png
2.
GetNearestWorkingStartTime( ME.Operation.OperationMainRes,
                           #2024/6/3 3:00:00#,
                           TRUE
                          )
03/06/2026 00:00
GetNearestWorkingStartTime( ME.Operation.OperationMainRes,
                           #2024/6/3 3:00:00#,
                           FALSE
                          )
02/06/2026 00:00
GetNearestWorkingStartTime 002.png
3.
GetNearestWorkingStartTime( PROJECT.ProductionCalendarRes,
                           StartOfNextWeek( PROJECT.BasisTime,
                                           1
                                          ),
                           TRUE
                          )
Beginn der Arbeitszeit der [Werkskalenderressource] in der Woche nach der [Planungsbasiszeit].
4.
GetNearestWorkingStartTime( ME.OperationMainRes,
                           ME.OperationProductionStartTime,
                           FALSE
                          )
Beginn der Arbeitszeit auf der [Hauptressource] vor dem [Produktionsbeginn].
Hinweis Kann genutzt werden, um mit der [Rüstzeitanpassungsformel] die Zeit vom Beginn der Arbeitszeit bis zum [Produktionsbeginn] zum Rüsten zu nutzen.

GetNearestWorkingEndTime( resource, date, dir )

Parameter resource Ressource
date Startzeit für die Suche
dir Richtung der Suche
  • TRUE: in die Zukunft
  • FALSE: in die Vergangenheit
Rückgabewert Das erste Ende einer Arbeitszeitperiode auf resource ab date in Richtung dir.
Beispiele 1.
GetNearestWorkingEndTime( ME.Operation.OperationMainRes,
                         #2026/06/01 15:00:00#,
                         TRUE
                        )
01/06/2026 23:00
GetNearestWorkingStartTime 001.png
2.
GetNearestWorkingStartTime( ME.Operation.OperationMainRes,
                         #2024/6/3 3:00:00#,
                         TRUE
                        )
03/06/2026 23:00
GetNearestWorkingEndTime( ME.Operation.OperationMainRes,
                         #2024/6/3 3:00:00#,
                         FALSE
                        )
02/06/2026 23:00
GetNearestWorkingStartTime 002.png
3.
GetNearestWorkingEndTime( PROJECT.ProductionCalendarRes,
                         StartOfNextWeek( PROJECT.BasisTime,
                                         1
                                        ),
                         TRUE
                        )
Ende der Arbeitszeit der [Werkskalenderressource] in der Woche nach der [Planungsbasiszeit].
4.
GetNearestWorkingEndTime( ME.OperationMainRes,
                         ME.OperationProductionStartTime,
                         FALSE
                        )
Ende der Arbeitszeit auf der [Hauptressource] vor dem [Produktionsbeginn].
Hinweis Kann genutzt werden, um mit der [Rüstzeitanpassungsformel] die Zeit vom Beginn der Arbeitszeit bis zum [Produktionsbeginn] zum Rüsten zu nutzen.

Hilfe Nummer: 741540