Zeit & Zeitreihe: Unterschied zwischen den Versionen
Aus Asprova Hilfe
GK (Diskussion | Beiträge) (Überarbeitung und Ergänzung um neue Funktionen) |
GK (Diskussion | Beiträge) (→Benachbarte Nutzungsanweisungen) |
||
| Zeile 158: | Zeile 158: | ||
|} | |} | ||
| − | == | + | == Nutzungsanweisungenslisten == |
; Hinweis | ; Hinweis | ||
: Erfordert mindestens Asprova Version 12.1. | : Erfordert mindestens Asprova Version 12.1. | ||
| Zeile 177: | Zeile 177: | ||
|colspan="2"|Gibt eine Liste der Nutzungsanweisungen aus [Nutzungsanweisungen in Beginnreihenfolge] von ''resource'' zurück, deren [Ende] am nächsten vor ''time'' liegt, auf die ''flag'' zutrifft, und deren [Vorgang] nicht ''operation'' ist. | |colspan="2"|Gibt eine Liste der Nutzungsanweisungen aus [Nutzungsanweisungen in Beginnreihenfolge] von ''resource'' zurück, deren [Ende] am nächsten vor ''time'' liegt, auf die ''flag'' zutrifft, und deren [Vorgang] nicht ''operation'' ist. | ||
|- | |- | ||
| − | !Beispiel | + | !rowspan="2"|Beispiel |
| + | |[Vorgangsbalkentext] | ||
| + | IF( ME.Work.Type=='P', | ||
| + | ME.Operation | ||
| + | +'\nLinks => ' | ||
| + | +GetNearestUseInstOfDiffWork_Left( ME.Resource, | ||
| + | ME.StartTime, | ||
| + | ME.Operation, | ||
| + | 1 | ||
| + | ).Operation, | ||
| + | '' | ||
| + | ) | ||
| + | |[[Datei:Incodefunc-GetNearestUseInstOfDiffWork_Left01.png]] | ||
| + | |- | ||
| + | |colspan="2"|Ist <code>ME</code> eine Nutzungsanweisung der Produktionsaufgabe von "04:30", so wird die Nutzungsanweisung der Produktionsaufgabe von "05:30" zurückgegeben. | ||
| + | ; <code>ME.StartTime</code> (2. Parameter) | ||
| + | : Die Zeit vor dem [Beginn] der Produktionsaufgabe von "04:30" wird durchsucht. | ||
| + | ; <code>ME.Operation</code> (3. Parameter) | ||
| + | : Die Nutzungsanweisungen von "04:30" werden ignoriert. | ||
| + | ; <code>1</code> (4. Parameter) | ||
| + | : Nur Produktionsaufgaben werden berücksichtigt, so dass die Abrüstaufgabe von "05:30" ignoriert wird. | ||
| + | |- | ||
| + | |} | ||
| + | |||
| + | === GetNearestUseInstOfDiffWork_Right( resource, time, operation, flag ) === | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | !rowspan="4"|Parameter | ||
| + | |''resource''||Ressourcenobjekt | ||
| + | |- | ||
| + | |''time''||Basiszeit | ||
| + | |- | ||
| + | |''operation''||Auszuschließender Vorgang | ||
| + | |- | ||
| + | |''flag''||0 für alle Aufgaben, 1 nur für Produktionsaufgaben | ||
| + | |- | ||
| + | !Rückgabewert | ||
| + | |colspan="2"|Gibt eine Liste der Nutzungsanweisungen aus [Nutzungsanweisungen in Beginnreihenfolge] von ''resource'' zurück, deren [Beginn] am nächsten nach ''time'' liegt, auf die ''flag'' zutrifft, und deren [Vorgang] nicht ''operation'' ist. | ||
| + | |- | ||
| + | !rowspan="2"|Beispiel | ||
| + | |[Vorgangsbalkentext] | ||
| + | IF( ME.Work.Type=='P', | ||
| + | ME.Operation | ||
| + | +'\nRechts => ' | ||
| + | +GetNearestUseInstOfDiffWork_Right( ME.Resource, | ||
| + | ME.EndTime, | ||
| + | ME.Operation, | ||
| + | 1 | ||
| + | ).Operation, | ||
| + | '' | ||
| + | ) | ||
| + | |[[Datei:Incodefunc-GetNearestUseInstOfDiffWork_Right01.png]] | ||
| + | |- | ||
| + | |colspan="2"|Ist <code>ME</code> eine Nutzungsanweisung der Produktionsaufgabe von "04:30", so wird die Nutzungsanweisung der Produktionsaufgabe von "06:30" zurückgegeben. | ||
| + | ; <code>ME.EndTime</code> (2. Parameter) | ||
| + | : Die Zeit nach dem [Ende] der Produktionsaufgabe von "04:30" wird durchsucht. | ||
| + | ; <code>ME.Operation</code> (3. Parameter) | ||
| + | : Die Nutzungsanweisungen von "04:30" werden ignoriert. | ||
| + | ; <code>1</code> (4. Parameter) | ||
| + | : Nur Produktionsaufgaben werden berücksichtigt, so dass die Rüstaufgabe von "06:30" ignoriert wird. | ||
| + | |- | ||
| + | |} | ||
| + | |||
| + | === GetUseInstListByStartTimeIF( resource, start, end, condition ) === | ||
| + | Die Funktion kann überladen und somit auch mit anderen Parametern genutzt werden: '''GetUseInstListByStartTimeIF( resource, start, span, condition )''' | ||
| + | |||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | | | ||
| + | !colspan="2"|Variante 1!!colspan="2"|Variante 2 | ||
| + | |- | ||
| + | !rowspan="4"|Parameter | ||
| + | |''resource''||Ressource||''resource''||Ressource | ||
| + | |- | ||
| + | |''start''||Beginn||''start''||Beginn | ||
| + | |- | ||
| + | |''end''||Ende||''span''||Zeitspanne | ||
| + | |- | ||
| + | |''condition''||Filterbedingung||''condition''||Filterbedingung | ||
| + | |- | ||
| + | !Rückgabewert | ||
| + | |colspan="2"|Gibt Liste der Nutzungsanweisungen zurück, die der ''resource'' zugewiesen sind, deren [Ende] zwischen ''start'' und ''end'' liegen, und die die ''condition'' erfüllen.||colspan="2"|Gibt Liste der Nutzungsanweisungen zurück, die der ''resource'' zugewiesen sind, deren [Ende] in ''span'' nach ''start'' liegen, und die die ''condition'' erfüllen. | ||
| + | |- | ||
| + | !rowspan="2"|Beispiel | ||
| + | |colspan="2"| | ||
| + | GetUseInstListByStartTimeIF(ME, | ||
| + | #2020/06/06#, | ||
| + | #2020/06/07#, | ||
| + | TARGET.Work.Type=='P' | ||
| + | ) | ||
|colspan="2"| | |colspan="2"| | ||
| + | GetUseInstListByStartTimeIF(ME, | ||
| + | #2020/06/06#, | ||
| + | 1d, | ||
| + | TARGET.Work.Type=='P' | ||
| + | ) | ||
| + | |- | ||
| + | |colspan="4"|Ist <code>ME</code> "Mischer 1", so enthält der 6. Juni 2020 sechs Nutzungsanweisungen, von diesen werden die drei Produktionsaufgaben zurückgegeben. | ||
| + | |||
| + | [[Datei:Incodefunc-GetUseInstListByStartTimeIF01.png]] | ||
|- | |- | ||
|} | |} | ||
Version vom 8. Januar 2019, 18:22 Uhr
Hilfe Nummer: 741530
Asprova stellt Ihnen die folgenden Funktionen zur Arbeit mit Zeiten und Zeitreihen zur Verfügung.
Inhaltsverzeichnis
Now( )
| Parameter | keiner | |
|---|---|---|
| Rückgabewert | Die aktuelle Systemzeit. | |
| Beispiel | Now() |
2020/06/27 10:30:00 |
Periodenbeginn & -ende
Bei allen folgenden Formeln zum Periodenbeginn ist die Uhrzeit des Rückgabewerts die [Tagestrennzeit] des Projekts. Bei den Formeln zum Periodenende ist die Uhrzeit des Rückgabewerts eine Sekunde vor der [Tagestrennzeit] des Projekts.
| Angenommen wird die [Tagestrennzeit] 08:00:00. | |
StartOfNextDay(#2020/4/2#,1) |
2020/04/03 08:00:00 |
EndOfNextDay(#2020/4/2#,1) |
2020/04/04 07:59:59 |
Für alle folgenden Beispiele wird die [Tagestrennzeit] 00:00:00 angenommen.
StartOfNextDay( time, day )
| Parameter | time | Basiszeit | |
|---|---|---|---|
| day | Integer, Versatztage | ||
| Rückgabewert | Beginn des Tages day Tage nach dem Tag in dem time liegt. | ||
| Beispiele | StartOfNextDay(#2020/4/2#,1) |
2020/04/03 00:00:00 | Beginn des nächsten Tages |
StartOfNextDay(#2020/4/2#,0) |
2020/04/02 00:00:00 | Beginn des Tages | |
StartOfNextDay(#2020/4/2#,-1) |
2020/04/01 00:00:00 | Beginn des vorherigen Tages | |
StartOfNextWeek( time, week )
| Parameter | time | Basiszeit | |
|---|---|---|---|
| week | Integer, Versatzwochen | ||
| Rückgabewert | Beginn der Woche (Montag) week Wochen nach der Woche in der time liegt. | ||
| Beispiele | StartOfNextWeek(#2020/4/2#,1) |
2020/04/06 00:00:00 | Beginn der nächsten Woche |
StartOfNextWeek(#2020/4/2#,0) |
2020/03/30 00:00:00 | Beginn der Woche | |
StartOfNextWeek(#2020/4/2#,-1) |
2020/03/23 00:00:00 | Beginn der vorherigen Woche | |
StartOfNextMonth( time, month )
| Parameter | time | Basiszeit | |
|---|---|---|---|
| month | Integer, Versatzmonate | ||
| Rückgabewert | Beginn des Monats month Monate nach dem Monat in dem time liegt. | ||
| Beispiele | StartOfNextMonth(#2020/4/2#,1) |
2020/05/01 00:00:00 | Beginn des nächsten Monats |
StartOfNextMonth(#2020/4/2#,0) |
2020/04/01 00:00:00 | Beginn des Monats | |
StartOfNextMonth(#2020/4/2#,-1) |
2020/03/01 00:00:00 | Beginn des vorherigen Monats | |
EndOfNextDay( time, day )
| Parameter | time | Basiszeit | |
|---|---|---|---|
| day | Integer, Versatztage | ||
| Rückgabewert | Ende des Tages day Tage nach dem Tag in dem time liegt. | ||
| Beispiele | EndOfNextDay(#2020/4/2#,1) |
2020/04/03 23:59:59 | Ende des nächsten Tages |
EndOfNextDay(#2020/4/2#,0) |
2020/04/02 23:59:59 | Ende des Tages | |
EndOfNextDay(#2020/4/2#,-1) |
2020/04/01 23:59:59 | Ende des vorherigen Tages | |
EndOfNextWeek( time, week )
| Parameter | time | Basiszeit | |
|---|---|---|---|
| week | Integer, Versatzwochen | ||
| Rückgabewert | Ende der Woche (Montag) week Wochen nach der Woche in der time liegt. | ||
| Beispiele | EndOfNextWeek(#2020/4/2#,1) |
2020/04/12 23:59:59 | Ende der nächsten Woche |
EndOfNextWeek(#2020/4/2#,0) |
2020/03/05 23:59:59 | Ende der Woche | |
EndOfNextWeek(#2020/4/2#,-1) |
2020/03/29 23:59:59 | Ende der vorherigen Woche | |
EndOfNextMonth( time, month )
| Parameter | time | Basiszeit | |
|---|---|---|---|
| month | Integer, Versatzmonate | ||
| Rückgabewert | Ende des Monats month Monate nach dem Monat in dem time liegt. | ||
| Beispiele | EndOfNextMonth(#2020/4/2#,1) |
2020/05/31 23:59:59 | Ende des nächsten Monats |
EndOfNextMonth(#2020/4/2#,0) |
2020/04/30 23:59:59 | Ende des Monats | |
EndOfNextMonth(#2020/4/2#,-1) |
2020/03/31 23:59:59 | Ende des vorherigen Monats | |
Nutzungsanweisungenslisten
- Hinweis
- Erfordert mindestens Asprova Version 12.1.
GetNearestUseInstOfDiffWork_Left( resource, time, operation, flag )
GetNearestUseInstOfDiffWork_Right( resource, time, operation, flag )
GetUseInstListByStartTimeIF( resource, start, end, condition )
Die Funktion kann überladen und somit auch mit anderen Parametern genutzt werden: GetUseInstListByStartTimeIF( resource, start, span, condition )
| Variante 1 | Variante 2 | |||
|---|---|---|---|---|
| Parameter | resource | Ressource | resource | Ressource |
| start | Beginn | start | Beginn | |
| end | Ende | span | Zeitspanne | |
| condition | Filterbedingung | condition | Filterbedingung | |
| Rückgabewert | Gibt Liste der Nutzungsanweisungen zurück, die der resource zugewiesen sind, deren [Ende] zwischen start und end liegen, und die die condition erfüllen. | Gibt Liste der Nutzungsanweisungen zurück, die der resource zugewiesen sind, deren [Ende] in span nach start liegen, und die die condition erfüllen. | ||
| Beispiel |
GetUseInstListByStartTimeIF(ME,
#2020/06/06#,
#2020/06/07#,
TARGET.Work.Type=='P'
)
|
GetUseInstListByStartTimeIF(ME,
#2020/06/06#,
1d,
TARGET.Work.Type=='P'
)
| ||
Ist ME "Mischer 1", so enthält der 6. Juni 2020 sechs Nutzungsanweisungen, von diesen werden die drei Produktionsaufgaben zurückgegeben.
| ||||
Hilfe Nummer: 741530


