|
|
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) |
| Zeile 322: |
Zeile 322: |
| | |- | | |- |
| | !Hinweis | | !Hinweis |
| − | |colspan="4"|Kann genutzt werden, um mit der [Rüstzeitanapssungsformel] die Zeit vom Beginn der Arbeitszeit bis zum [Produktionsbeginn] zum Rüsten zu nutzen. | + | |colspan="4"|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 ) == |
| | + | {| class="wikitable" |
| | + | |- |
| | + | !rowspan="3"|Parameter |
| | + | |''resource''||Ressource||rowspan="2"| |
| | + | |- |
| | + | |''date''||Startzeit für die Suche |
| | + | |- |
| | + | |''dir''||Richtung der Suche |
| | + | | |
| | + | * <code>TRUE</code>: in die Zukunft |
| | + | * <code>FALSE</code>: in die Vergangenheit |
| | + | |- |
| | + | !Rückgabewert |
| | + | |colspan="4"|Das erste Ende einer Arbeitszeitperiode auf ''resource'' ab ''date'' in Richtung ''dir''. |
| | + | |- |
| | + | !rowspan="8"|Beispiele |
| | + | !rowspan="2"|1. |
| | + | |colspan="2"| |
| | + | GetNearestWorkingEndTime( ME.Operation.OperationMainRes, |
| | + | #2026/06/01 15:00:00#, |
| | + | TRUE |
| | + | ) |
| | + | |01/06/2026 23:00 |
| | + | |- |
| | + | |colspan="3"|[[Image:GetNearestWorkingStartTime_001.png]] |
| | + | |- |
| | + | !rowspan="3"|2. |
| | + | |colspan="2"| |
| | + | GetNearestWorkingStartTime( ME.Operation.OperationMainRes, |
| | + | #2024/6/3 3:00:00#, |
| | + | TRUE |
| | + | ) |
| | + | |03/06/2026 23:00 |
| | + | |- |
| | + | |colspan="2"| |
| | + | GetNearestWorkingEndTime( ME.Operation.OperationMainRes, |
| | + | #2024/6/3 3:00:00#, |
| | + | FALSE |
| | + | ) |
| | + | |02/06/2026 23:00 |
| | + | |- |
| | + | |colspan="3"|[[Image:GetNearestWorkingStartTime_002.png]] |
| | + | |- |
| | + | !3. |
| | + | |colspan="2"| |
| | + | GetNearestWorkingEndTime( PROJECT.ProductionCalendarRes, |
| | + | StartOfNextWeek( PROJECT.BasisTime, |
| | + | 1 |
| | + | ), |
| | + | TRUE |
| | + | ) |
| | + | |Ende der Arbeitszeit der [Werkskalenderressource] in der Woche nach der [Planungsbasiszeit]. |
| | + | |- |
| | + | !4. |
| | + | |colspan="2"| |
| | + | GetNearestWorkingEndTime( ME.OperationMainRes, |
| | + | ME.OperationProductionStartTime, |
| | + | FALSE |
| | + | ) |
| | + | |Ende der Arbeitszeit auf der [Hauptressource] vor dem [Produktionsbeginn]. |
| | + | |- |
| | + | !Hinweis |
| | + | |colspan="4"|Kann genutzt werden, um mit der [Rüstzeitanpassungsformel] die Zeit vom Beginn der Arbeitszeit bis zum [Produktionsbeginn] zum Rüsten zu nutzen. |
| | |- | | |- |
| | |} | | |} |
Aktuelle Version vom 17. Juni 2025, 12:43 Uhr
Hilfe Nummer: 741540
Asprova stellt Ihnen die folgenden Funktionen rund um Arbeitszeiten zur Verfügung.
Inhaltsverzeichnis
- 1 AdvanceAlongResourceWorkingTime( resouce, time, timeSpan )
- 2 GetResourceQtyTime( resource, start, end )
- 3 GetWorkingDays ( start, end, resource, minTime )
- 4 GetWorkingTime( start, end, resource )
- 5 GetCalendar( res, time )
- 6 GetShiftList( res, time, includeStart, includeEnd )
- 7 GetOverwriteCalendar( res, time )
- 8 AdvanceAlongResourceWorkingDay( resource, time, day, minTime, type )
- 9 GetNearestWorkingStartTime( resource, date, dir )
- 10 GetNearestWorkingEndTime( resource, date, dir )
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
|

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
|

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
|
|
GetWorkingDays(#2020/06/01 00:00#, #2020/06/03 00:00#, ME, 4h) |
4
|
|
GetWorkingDays(#2020/06/01 00:00#, #2020/06/03 00:00#, ME, 4h, 1) |
2
|
|
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
|

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)
|
|
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
)
|

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
)
|
 Der [Nutzungsanweisungsbalkentext] zeigt die Kalenderausnahme der [Hauptressource] des Vorgangs zum [Beginn] der Aufgabe an.
|
GetOverwriteCalendar( ME.TentAssignResource,
ME.TentAssignProductionStartTime-1s
)
|
 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(ME.OperationMainRes, ME.OperationProductionStartTime, -2, 0, 0) |
10/06/2026 00:00
|
|
| 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
|
|
| 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
|
|
| 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
|
|
| 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
|
|
| 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