Zeit & Zeitreihe: Unterschied zwischen den Versionen

Aus Asprova Hilfe
Wechseln zu: Navigation, Suche
(Überarbeitung und Ergänzung um neue Funktionen)
(Benachbarte Nutzungsanweisungen)
Zeile 158: Zeile 158:
 
|}
 
|}
  
== Benachbarte Nutzungsanweisungen ==
+
== 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,
 +
  &#39;&#39;
 +
  )
 +
|[[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
Interne Funktionen
Formeleditor

Asprova stellt Ihnen die folgenden Funktionen zur Arbeit mit Zeiten und Zeitreihen zur Verfügung.

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.

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

Parameter resource Ressourcenobjekt
time Basiszeit
operation Auszuschließender Vorgang
flag 0 für alle Aufgaben, 1 nur für Produktionsaufgaben
Rückgabewert 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 [Vorgangsbalkentext]
IF( ME.Work.Type=='P',
  ME.Operation
  +'\nLinks => '
  +GetNearestUseInstOfDiffWork_Left( ME.Resource,
                                     ME.StartTime,
                                     ME.Operation,
                                     1
                                   ).Operation,
  ''
 )
Incodefunc-GetNearestUseInstOfDiffWork Left01.png
Ist ME eine Nutzungsanweisung der Produktionsaufgabe von "04:30", so wird die Nutzungsanweisung der Produktionsaufgabe von "05:30" zurückgegeben.
ME.StartTime (2. Parameter)
Die Zeit vor dem [Beginn] der Produktionsaufgabe von "04:30" wird durchsucht.
ME.Operation (3. Parameter)
Die Nutzungsanweisungen von "04:30" werden ignoriert.
1 (4. Parameter)
Nur Produktionsaufgaben werden berücksichtigt, so dass die Abrüstaufgabe von "05:30" ignoriert wird.

GetNearestUseInstOfDiffWork_Right( resource, time, operation, flag )

Parameter resource Ressourcenobjekt
time Basiszeit
operation Auszuschließender Vorgang
flag 0 für alle Aufgaben, 1 nur für Produktionsaufgaben
Rückgabewert 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.
Beispiel [Vorgangsbalkentext]
IF( ME.Work.Type=='P',
  ME.Operation
  +'\nRechts => '
  +GetNearestUseInstOfDiffWork_Right( ME.Resource,
                                      ME.EndTime,
                                      ME.Operation,
                                      1
                                    ).Operation,
  ''
 )
Incodefunc-GetNearestUseInstOfDiffWork Right01.png
Ist ME eine Nutzungsanweisung der Produktionsaufgabe von "04:30", so wird die Nutzungsanweisung der Produktionsaufgabe von "06:30" zurückgegeben.
ME.EndTime (2. Parameter)
Die Zeit nach dem [Ende] der Produktionsaufgabe von "04:30" wird durchsucht.
ME.Operation (3. Parameter)
Die Nutzungsanweisungen von "04:30" werden ignoriert.
1 (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 )

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.

Incodefunc-GetUseInstListByStartTimeIF01.png


Hilfe Nummer: 741530