Zeit & Zeitreihe: Unterschied zwischen den Versionen

Aus Asprova Hilfe
Wechseln zu: Navigation, Suche
(Zeiten aus Zeichenketten extrahieren)
 
(8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:Zeitfolgen-Zeit}}
+
{{DISPLAYTITLE:Zeit & Zeitreihe}}
 
<div align="right">Hilfe Nummer: 741530</div>
 
<div align="right">Hilfe Nummer: 741530</div>
<div align="right">[[Interne Funktionen|Interne Funktionen]]</div>
+
<div align="right">[[Interne Funktionen]]</div>
<div align="right">[[Formeleditor|Formeldialog]]</div>
+
<div align="right">[[Formeleditor]]</div>
 
<hr>
 
<hr>
Interne Funktionen, bezogen auf Zeit
 
  
 +
Asprova stellt Ihnen die folgenden Funktionen zur Arbeit mit Zeiten und Zeitreihen zur Verfügung.
  
Now()
+
== Now( ) ==
 
+
{| class="wikitable"
Parameter
+
|-
 
+
!Parameter
 
+
| ||''keiner''
{|
+
|-
 +
!Rückgabewert
 +
|colspan="2"|Die aktuelle Systemzeit.
 
|-
 
|-
|   ||Keine||  || 
+
!Beispiel
 +
|<code>Now()</code>||2020/06/27 10:30:00
 
|-
 
|-
 
|}
 
|}
  
Rückgabewert
+
== 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.
  
 
+
{| class="wikitable"
{|
+
|-
 +
|+ Beispiele
 +
|-
 +
|colspan="2"|''Angenommen wird die [Tagestrennzeit] 08:00:00.''
 +
|-
 +
|<code>StartOfNextDay(#2020/4/2#,1)</code>||2020/04/03 08:00:00
 
|-
 
|-
|   ||Gibt das aktuelle Datum des Computers aus.|| 
+
|<code>EndOfNextDay(#2020/4/2#,1)</code>||2020/04/04 07:59:59
 
|-
 
|-
 
|}
 
|}
  
Beispiel
+
Für alle folgenden Beispiele wird die [Tagestrennzeit] 00:00:00 angenommen.
  
 
+
=== StartOfNextDay( time, day ) ===
{|
+
{| class="wikitable"
 +
|-
 +
!rowspan="2"|Parameter
 +
|''time''||colspan="2"|Basiszeit
 +
|-
 +
|''day''||colspan="2"|Integer, Versatztage
 +
|-
 +
!Rückgabewert
 +
|colspan="3"|Beginn des Tages ''day'' Tage nach dem Tag in dem ''time'' liegt.
 +
|-
 +
!rowspan="3"|Beispiele
 +
|<code>StartOfNextDay(#2020/4/2#,1)</code>||2020/04/03 00:00:00||Beginn des nächsten Tages
 +
|-
 +
|<code>StartOfNextDay(#2020/4/2#,0)</code>||2020/04/02 00:00:00||Beginn des Tages
 
|-
 
|-
|   ||Now() -> #2017/06/27 10:30:00#||  
+
|<code>StartOfNextDay(#2020/4/2#,-1)</code>||2020/04/01 00:00:00||Beginn des vorherigen Tages
 
|-
 
|-
 
|}
 
|}
  
 
+
=== StartOfNextWeek( time, week ) ===
StartOfNextDay( Zeit, Tag )
+
{| class="wikitable"
 
+
|-
Parameter
+
!rowspan="2"|Parameter
 
+
|''time''||colspan="2"|Basiszeit
 
+
|-
{|
+
|''week''||colspan="2"|Integer, Versatzwochen
 +
|-
 +
!Rückgabewert
 +
|colspan="3"|Beginn der Woche (Montag) ''week'' Wochen nach der Woche in der ''time'' liegt.
 +
|-
 +
!rowspan="3"|Beispiele
 +
|<code>StartOfNextWeek(#2020/4/2#,1)</code>||2020/04/06 00:00:00||Beginn der nächsten Woche
 
|-
 
|-
|   ||Zeit||Basiszeit|| 
+
|<code>StartOfNextWeek(#2020/4/2#,0)</code>||2020/03/30 00:00:00||Beginn der Woche
 
|-
 
|-
||   ||Tag||Ganze Zahl Hinzugefügte Tage
+
|<code>StartOfNextWeek(#2020/4/2#,-1)</code>||2020/03/23 00:00:00||Beginn der vorherigen Woche
 
|-
 
|-
 
|}
 
|}
  
Rückgabewert
+
=== StartOfNextMonth( time, month ) ===
 
+
{| class="wikitable"
 
+
|-
{|
+
!rowspan="2"|Parameter
 +
|''time''||colspan="2"|Basiszeit
 +
|-
 +
|''month''||colspan="2"|Integer, Versatzmonate
 +
|-
 +
!Rückgabewert
 +
|colspan="3"|Beginn des Monats ''month'' Monate nach dem Monat in dem ''time'' liegt.
 +
|-
 +
!rowspan="3"|Beispiele
 +
|<code>StartOfNextMonth(#2020/4/2#,1)</code>||2020/05/01 00:00:00||Beginn des nächsten Monats
 +
|-
 +
|<code>StartOfNextMonth(#2020/4/2#,0)</code>||2020/04/01 00:00:00||Beginn des Monats
 
|-
 
|-
|   ||Gibt die Startzeit (nach Hinzufügen der Tage), basierend auf der Zeit, aus.||  
+
|<code>StartOfNextMonth(#2020/4/2#,-1)</code>||2020/03/01 00:00:00||Beginn des vorherigen Monats
 
|-
 
|-
 
|}
 
|}
  
Beispiel
+
=== EndOfNextDay( time, day ) ===
 
+
{| class="wikitable"
 
+
|-
{|
+
!rowspan="2"|Parameter
 +
|''time''||colspan="2"|Basiszeit
 +
|-
 +
|''day''||colspan="2"|Integer, Versatztage
 +
|-
 +
!Rückgabewert
 +
|colspan="3"|Ende des Tages ''day'' Tage nach dem Tag in dem ''time'' liegt.
 +
|-
 +
!rowspan="3"|Beispiele
 +
|<code>EndOfNextDay(#2020/4/2#,1)</code>||2020/04/03 23:59:59||Ende des nächsten Tages
 +
|-
 +
|<code>EndOfNextDay(#2020/4/2#,0)</code>||2020/04/02 23:59:59||Ende des Tages
 
|-
 
|-
|   ||StartOfNextDay(#2017/4/2#,1) -> #2017/4/3 00:00:00#  Startzeit am nächsten Tag.<br />StartOfNextDay(#2017/4/2#,0) -> #2017/4/2 00:00:00#  Startzeit von Heute.<br />StartOfNextDay(#2017/4/2#,-1) -> #2017/4/1 00:00:00#  Startzeit von Gestern.<br /><br />Wenn die "Tagestrennzeit" (in den Projekteinstellungen) auf 08:00:00 gestellt ist, ist die Startzeit gleich der "Tagestrennzeit".<br />StartOfNextDay(#2017/4/2#,1) -> #2017/4/3 08:00:00#||  
+
|<code>EndOfNextDay(#2020/4/2#,-1)</code>||2020/04/01 23:59:59||Ende des vorherigen Tages
 
|-
 
|-
 
|}
 
|}
  
 
+
=== EndOfNextWeek( time, week ) ===
StartOfNextWeek( time, week )
+
{| class="wikitable"
 
+
|-
Parameter
+
!rowspan="2"|Parameter
 
+
|''time''||colspan="2"|Basiszeit
 
+
|-
{|
+
|''week''||colspan="2"|Integer, Versatzwochen
 +
|-
 +
!Rückgabewert
 +
|colspan="3"|Ende der Woche (Montag) ''week'' Wochen nach der Woche in der ''time'' liegt.
 +
|-
 +
!rowspan="3"|Beispiele
 +
|<code>EndOfNextWeek(#2020/4/2#,1)</code>||2020/04/12 23:59:59||Ende der nächsten Woche
 
|-
 
|-
|   ||Zeit||Basiszeit|| 
+
|<code>EndOfNextWeek(#2020/4/2#,0)</code>||2020/03/05 23:59:59||Ende der Woche
 
|-
 
|-
||   ||Woche||Ganze Zahl. Hinzugfügte Woche.
+
|<code>EndOfNextWeek(#2020/4/2#,-1)</code>||2020/03/29 23:59:59||Ende der vorherigen Woche
 
|-
 
|-
 
|}
 
|}
  
Rückgabewert
+
=== EndOfNextMonth( time, month ) ===
 
+
{| class="wikitable"
 
+
|-
{|
+
!rowspan="2"|Parameter
 +
|''time''||colspan="2"|Basiszeit
 +
|-
 +
|''month''||colspan="2"|Integer, Versatzmonate
 +
|-
 +
!Rückgabewert
 +
|colspan="3"|Ende des Monats ''month'' Monate nach dem Monat in dem ''time'' liegt.
 +
|-
 +
!rowspan="3"|Beispiele
 +
|<code>EndOfNextMonth(#2020/4/2#,1)</code>||2020/05/31 23:59:59||Ende des nächsten Monats
 +
|-
 +
|<code>EndOfNextMonth(#2020/4/2#,0)</code>||2020/04/30 23:59:59||Ende des Monats
 
|-
 
|-
|   ||Gibt die Startzeit (Montag) (nach Hinzufügen der Wochen), basierend auf der Zeit, aus.||  
+
|<code>EndOfNextMonth(#2020/4/2#,-1)</code>||2020/03/31 23:59:59||Ende des vorherigen Monats
 
|-
 
|-
 
|}
 
|}
  
Beispiel
+
== Nutzungsanweisungenslisten ==
 +
; Hinweis
 +
: Erfordert mindestens Asprova Version 12.1.
  
 
+
=== GetNearestUseInstOfDiffWork_Left( 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 [Ende] am nächsten vor ''time'' liegt, auf die ''flag'' zutrifft, und deren [Vorgang] nicht ''operation'' ist.
 +
|-
 +
!rowspan="2"|Beispiel
 +
|[Vorgangsbalkentext]
 +
IF( ME.Work.Type=='P',
 +
  ME.Operation
 +
  +'\nLinks => '
 +
  +GetNearestUseInstOfDiffWork_Left( ME.Resource,
 +
                                      ME.StartTime,
 +
                                      ME.Operation,
 +
                                      1
 +
                                    ).Operation,
 +
  &#39;&#39;
 +
  )
 +
|[[Datei:Incodefunc-GetNearestUseInstOfDiffWork_Left01.png]]
 
|-
 
|-
|   ||StartOfNextWeek(#2017/4/2#,1) -> #2017/4/4 00:00:00#  Startzeit der Woche.<br />StartOfNextWeek(#2017/4/2#,0) -> #2017/3/28 00:00:00#  Startzeit dieser Woche.<br />StartOfNextWeek(#2017/4/2#,-1) -> #2017/3/21 00:00:00#  Startzeit der letzten Woche.<br /><br />Wenn die "Tragestrennzeit" (in den Projekteinstellungen) 08:00:00 ist, ist die Startzeit gleich die "Tagestrennzeit":<br />StartOfNextWeek(#2017/4/2#,1) -> #2017/4/4 08:00:00#|| 
+
|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 ) ===
StartOfNextMonth( Zeit, Monat )
+
{| class="wikitable"
 
+
|-
Parameter
+
!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.
 
|-
 
|-
|  ||Zeit||Basiszeit|| 
+
!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]]
 
|-
 
|-
||   ||Monat||Ganze Zahl Hinzugefügte Monate
+
|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.
 
|-
 
|-
 
|}
 
|}
  
Rückgabewert
+
=== GetUseInstListByStartTime( resource, start, end ) ===
 +
Die Funktion kann überladen und somit auch mit anderen Parametern genutzt werden: '''GetUseInstListByStartTime( resource, start, span )'''
  
 +
{| class="wikitable"
 +
|-
 +
|
 +
!colspan="2"|Variante 1!!colspan="2"|Variante 2
 +
|-
 +
!rowspan="3"|Parameter
 +
|''resource''||Ressource||''resource''||Ressource
 +
|-
 +
|''start''||Beginn||''start''||Beginn
 +
|-
 +
|''end''||Ende||''span''||Zeitspanne
 +
|-
 +
!Rückgabewert
 +
|colspan="2"|Gibt Liste der Nutzungsanweisungen zurück, die der ''resource'' zugewiesen sind und deren [Beginn] zwischen ''start'' und ''end'' liegt.||colspan="2"|Gibt Liste der Nutzungsanweisungen zurück, die der ''resource'' zugewiesen sind und deren [Beginn] in ''span'' nach ''start'' liegt.
 +
|-
 +
!rowspan="2"|Beispiel
 +
|colspan="2"|
 +
GetUseInstListByStartTime(ME,
 +
                #2020/06/06#,
 +
                #2020/06/07#
 +
)
 +
|colspan="2"|
 +
GetUseInstListByStartTime(ME,
 +
                #2020/06/06#,
 +
                1d
 +
)
 +
|-
 +
|colspan="4"|Ist <code>ME</code> "Mischer 1", so beginnen am 6. Juni 2020 sechs Nutzungsanweisungen, die als Nutzungsanweisungsliste zurückgegeben.
  
{|
+
[[Datei:Incodefunc-GetUseInstListByStartTime01.png]]
|-
 
|  ||Gibt die Startzeit (Sonntag) (nach Hinzufügen der Monate), basierend auf der Zeit, aus.|| 
 
 
|-
 
|-
 
|}
 
|}
  
Beispiel
+
=== 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 [Beginn] zwischen ''start'' und ''end'' liegt, und die die ''condition'' erfüllen.||colspan="2"|Gibt Liste der Nutzungsanweisungen zurück, die der ''resource'' zugewiesen sind, deren [Beginn] in ''span'' nach ''start'' liegt, 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"|
 +
GetUseInstListByStartTimeIF(ME,
 +
          #2020/06/06#,
 +
          1d,
 +
          TARGET.Work.Type=='P'
 +
)
 +
|-
 +
|colspan="4"|Ist <code>ME</code> "Mischer 1", so beginnen am 6. Juni 2020 sechs Nutzungsanweisungen, von diesen werden die drei Produktionsaufgaben als Nutzungsanweisungsliste zurückgegeben.
  
{|
+
[[Datei:Incodefunc-GetUseInstListByStartTimeIF01.png]]
|-
 
|  ||StartOfNextMonth(#2017/4/10#,1) -> #2017/5/1 00:00:00#  Startzeit des nächsten Monats.<br />StartOfNextMonth(#2017/4/10#,0) -> #2017/4/1 00:00:00#  Startzeit diesen Monats.<br />StartOfNextMonth(#2017/4/10#,-1) -> #2017/3/1 00:00:00#  Startzeit letzten Monats.<br /><br />Wenn die "Tragestrennzeit" (in den Projekteinstellungen) 08:00:00 ist, ist die Startzeit gleich die "Tagestrennzeit".<br />StartOfNextMonth(#2017/4/10#,1) -> #2017/5/1 08:00:00#|| 
 
 
|-
 
|-
 
|}
 
|}
  
 +
=== GetUseInstListByEndTime( resource, start, end ) ===
 +
Die Funktion kann überladen und somit auch mit anderen Parametern genutzt werden: '''GetUseInstListByEndTime( resource, start, span )'''
  
EndOfNextDay( Zeit, Tag )
+
{| class="wikitable"
 +
|-
 +
|
 +
!colspan="2"|Variante 1!!colspan="2"|Variante 2
 +
|-
 +
!rowspan="3"|Parameter
 +
|''resource''||Ressource||''resource''||Ressource
 +
|-
 +
|''start''||Beginn||''start''||Beginn
 +
|-
 +
|''end''||Ende||''span''||Zeitspanne
 +
|-
 +
!Rückgabewert
 +
|colspan="2"|Gibt Liste der Nutzungsanweisungen zurück, die der ''resource'' zugewiesen sind und deren [Ende] zwischen ''start'' und ''end'' liegt.||colspan="2"|Gibt Liste der Nutzungsanweisungen zurück, die der ''resource'' zugewiesen sind und deren [Ende] in ''span'' nach ''start'' liegt.
 +
|-
 +
!rowspan="2"|Beispiel
 +
|colspan="2"|
 +
GetUseInstListByEndTime(ME,
 +
              #2020/06/06#,
 +
              #2020/06/07#
 +
)
 +
|colspan="2"|
 +
GetUseInstListByStartTime(ME,
 +
                #2020/06/06#,
 +
                1d
 +
)
 +
|-
 +
|colspan="4"|Ist <code>ME</code> "Mischer 1", so enden am 6. Juni 2020 fünf Nutzungsanweisungen, die als Nutzungsanweisungsliste zurückgegeben.
  
Parameter
+
[[Datei:Incodefunc-GetUseInstListByEndTime01.png]]
 +
|-
 +
|}
  
 +
=== GetUseInstListByEndTimeIF( resource, start, end, condition ) ===
 +
Die Funktion kann überladen und somit auch mit anderen Parametern genutzt werden: '''GetUseInstListByEndTimeIF( 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'' liegt, 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'' liegt, und die die ''condition'' erfüllen.
 
|-
 
|-
|   ||Zeit||Basiszeit|| 
+
!rowspan="2"|Beispiel
 +
|colspan="2"|
 +
GetUseInstListByEndTimeIF(ME,
 +
        #2020/06/06#,
 +
        #2020/06/07#,
 +
        TARGET.Work.Type=='P'
 +
)
 +
|colspan="2"|
 +
GetUseInstListByEndTimeIF(ME,
 +
        #2020/06/06#,
 +
        1d,
 +
        TARGET.Work.Type=='P'
 +
)
 
|-
 
|-
||   ||Tag||Ganze Zahl. Hinzugfügte Tage.
+
|colspan="4"|Ist <code>ME</code> "Mischer 1", so enden am 6. Juni 2020 fünf Nutzungsanweisungen, von diesen werden die zwei Produktionsaufgaben als Nutzungsanweisungsliste zurückgegeben.
 +
 
 +
[[Datei:Incodefunc-GetUseInstListByEndTimeIF01.png]]
 
|-
 
|-
 
|}
 
|}
  
Rückgabewert
+
=== GetUseInstListOverlappingPeriod( resource, start, end ) ===
 +
Die Funktion kann überladen und somit auch mit anderen Parametern genutzt werden: '''GetUseInstListOverlappingPeriod( resource, start, span )'''
  
 
+
{| class="wikitable"
{|
 
 
|-
 
|-
|   ||Gibt die Endzeit (nach hinzugefügten Tagen), basierend auf der Zeit, aus.|| 
+
|
 +
!colspan="2"|Variante 1!!colspan="2"|Variante 2
 
|-
 
|-
|}
+
!rowspan="3"|Parameter
 
+
|''resource''||Ressource||''resource''||Ressource
Beispiel
 
 
 
 
 
{|
 
 
|-
 
|-
|   ||EndOfNextDay(#2017/4/2#,1) -> #2017/4/3 23:59:59#  Endzeit am nächsten Tag.<br />EndOfNextDay(#2017/4/2#,0) -> #2017/4/2 23:59:59#  Endzeit von Heute.<br />EndOfNextDay(#2017/4/2#,-1) -> #2017/4/1 23:59:59#  Endzeit von Gestern.<br /><br />Wenn die "Tragestrennzeit" (in den Projekteinstellungen) 08:00:00 ist, ist die Startzeit gleich die "Tagestrennzeit".<br />EndOfNextDay(#2017/4/2#,1) -> #2017/4/4 07:59:59#  End time of tomorrow.||  
+
|''start''||Beginn||''start''||Beginn
 
|-
 
|-
|}
+
|''end''||Ende||''span''||Zeitspanne
 
 
 
 
EndOfNextWeek( Zeit, Woche )
 
 
 
Parameter
 
 
 
 
 
{|
 
 
|-
 
|-
|   ||Zeit||Basiszeit|| 
+
!Rückgabewert
 +
|colspan="2"|Gibt Liste der Nutzungsanweisungen zurück, die der ''resource'' zugewiesen sind und mindestens teilweise zwischen ''start'' und ''end'' liegen.||colspan="2"|Gibt Liste der Nutzungsanweisungen zurück, die der ''resource'' zugewiesen sind und mindestens teilweise in ''span'' nach ''start'' liegen.
 
|-
 
|-
||   ||Woche||Ganze Zahl. Hinzugfügte Woche.
+
!rowspan="2"|Beispiel
 +
|colspan="2"|
 +
GetUseInstListOverlappingPeriod(ME,
 +
                      #2020/06/06#,
 +
                      #2020/06/07#
 +
)
 +
|colspan="2"|
 +
GetUseInstListOverlappingPeriod(ME,
 +
                      #2020/06/06#,
 +
                      1d
 +
)
 
|-
 
|-
|}
+
|colspan="4"|Ist <code>ME</code> "Mischer 1", so beginnen oder enden am 6. Juni 2020 fünf Nutzungsanweisungen, die als Nutzungsanweisungsliste zurückgegeben.
 
 
Rückgabewert
 
 
 
  
{|
+
[[Datei:Incodefunc-GetUseInstListOverlappingPeriod01.png]]
|-
 
|  ||Gibt die Endzeit (Sonntag) (nach Hinzufügen der Wochen), basierend auf der Zeit, aus.|| 
 
 
|-
 
|-
 
|}
 
|}
  
Beispiel
+
=== GetUseInstListOverlappingPeriodIF( resource, start, end, condition ) ===
 +
Die Funktion kann überladen und somit auch mit anderen Parametern genutzt werden: '''GetUseInstListOverlappingPeriodIF( resource, start, span, condition )'''
  
 
+
{| class="wikitable"
{|
+
|-
 +
|
 +
!colspan="2"|Variante 1!!colspan="2"|Variante 2
 
|-
 
|-
|   ||EndOfNextWeek(#2017/4/2#,1) -> #2017/04/10 23:59:59#  Endzeit der nächsten Woche.<br />EndOfNextWeek(#2017/4/2#,0) -> #2017/04/03 23:59:59#  Endzeit dieser Woche<br />EndOfNextWeek(#2017/4/2#,-1) -> #2017/03/27 23:59:59#  Endzeit der letzten Woche<br /><br />Wenn die "Tragestrennzeit" (in den Projekteinstellungen) 08:00:00 ist, ist die Startzeit gleich die "Tagestrennzeit".<br />EndOfNextDay(#2017/4/2#,1) -> #2017/04/11 07:59:59#  Endzeit der nächsten Woche.||  
+
!rowspan="4"|Parameter
 +
|''resource''||Ressource||''resource''||Ressource
 
|-
 
|-
|}
+
|''start''||Beginn||''start''||Beginn
 
 
 
 
EndOfNextMonth( Zeit, Monat )
 
 
 
Parameter
 
 
 
 
 
{|
 
 
|-
 
|-
|   ||Zeit||Basiszeit||  
+
|''end''||Ende||''span''||Zeitspanne
 
|-
 
|-
||   ||Monat||Ganze Zahl. Hinzugfügte Monate.
+
|''condition''||Filterbedingung||''condition''||Filterbedingung
 
|-
 
|-
|}
+
!Rückgabewert
 
+
|colspan="2"|Gibt Liste der Nutzungsanweisungen zurück, die der ''resource'' zugewiesen sind, die mindestens teilweise zwischen ''start'' und ''end'' liegen, und die die ''condition'' erfüllen.||colspan="2"|Gibt Liste der Nutzungsanweisungen zurück, die der ''resource'' zugewiesen sind, die mindestens teilweise in ''span'' nach ''start'' liegen, und die die ''condition'' erfüllen.
Rückgabewert
 
 
 
 
 
{|
 
 
|-
 
|-
|   ||Gibt die Endzeit (nach hinzugefügten Monaten), basierend auf der Zeit, aus.||  
+
!rowspan="2"|Beispiel
 +
|colspan="2"|
 +
GetUseInstListOverlappingPeriodIF(ME,
 +
                #2020/06/06#,
 +
                #2020/06/07#,
 +
                TARGET.Work.Type=='P'
 +
)
 +
|colspan="2"|
 +
GetUseInstListOverlappingPeriodIF(ME,
 +
                #2020/06/06#,
 +
                1d,
 +
                TARGET.Work.Type=='P'
 +
)
 
|-
 
|-
|}
+
|colspan="4"|Ist <code>ME</code> "Mischer 1", so beginnen oder enden am 6. Juni 2020 fünf Nutzungsanweisungen, von diesen werden die drei Produktionsaufgaben als Nutzungsanweisungsliste zurückgegeben.
 
 
Beispiel
 
 
 
  
{|
+
[[Datei:Incodefunc-GetUseInstListOverlappingPeriodIF01.png]]
|-
 
|  ||EndOfNextMonth(#2017/4/2#,1) -> #2017/05/31 23:59:59#  Endzeit des nächsten Monats.<br />EndOfNextMonth(#2017/4/2#,0) -> #2017/04/30 23:59:59#  Endzeit diesen Monats.<br />EndOfNextMonth(#2017/4/2#,-1) -> #2017/03/31 23:59:59#  Endzeit letzten Monats<br /><br />Wenn die "Tagestrennzeit" (in den Projekteinstellugen) auf 08:00:00 gestellt ist, dann ist die Endzeit um 08:00:00.<br />EndOfNextMonth(#2017/4/2#,1) -> #2017/06/01 07:59:59#  Endzeit des Monats.|| 
 
 
|-
 
|-
 
|}
 
|}
 +
  
 
<hr>
 
<hr>
 
<div align="right">Hilfe Nummer: 741530</div>
 
<div align="right">Hilfe Nummer: 741530</div>

Aktuelle Version vom 31. Oktober 2024, 07:31 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.

GetUseInstListByStartTime( resource, start, end )

Die Funktion kann überladen und somit auch mit anderen Parametern genutzt werden: GetUseInstListByStartTime( resource, start, span )

Variante 1 Variante 2
Parameter resource Ressource resource Ressource
start Beginn start Beginn
end Ende span Zeitspanne
Rückgabewert Gibt Liste der Nutzungsanweisungen zurück, die der resource zugewiesen sind und deren [Beginn] zwischen start und end liegt. Gibt Liste der Nutzungsanweisungen zurück, die der resource zugewiesen sind und deren [Beginn] in span nach start liegt.
Beispiel
GetUseInstListByStartTime(ME,
                #2020/06/06#,
                #2020/06/07#
)
GetUseInstListByStartTime(ME,
                #2020/06/06#,
                1d
)
Ist ME "Mischer 1", so beginnen am 6. Juni 2020 sechs Nutzungsanweisungen, die als Nutzungsanweisungsliste zurückgegeben.

Incodefunc-GetUseInstListByStartTime01.png

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 [Beginn] zwischen start und end liegt, und die die condition erfüllen. Gibt Liste der Nutzungsanweisungen zurück, die der resource zugewiesen sind, deren [Beginn] in span nach start liegt, 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 beginnen am 6. Juni 2020 sechs Nutzungsanweisungen, von diesen werden die drei Produktionsaufgaben als Nutzungsanweisungsliste zurückgegeben.

Incodefunc-GetUseInstListByStartTimeIF01.png

GetUseInstListByEndTime( resource, start, end )

Die Funktion kann überladen und somit auch mit anderen Parametern genutzt werden: GetUseInstListByEndTime( resource, start, span )

Variante 1 Variante 2
Parameter resource Ressource resource Ressource
start Beginn start Beginn
end Ende span Zeitspanne
Rückgabewert Gibt Liste der Nutzungsanweisungen zurück, die der resource zugewiesen sind und deren [Ende] zwischen start und end liegt. Gibt Liste der Nutzungsanweisungen zurück, die der resource zugewiesen sind und deren [Ende] in span nach start liegt.
Beispiel
GetUseInstListByEndTime(ME,
              #2020/06/06#,
              #2020/06/07#
)
GetUseInstListByStartTime(ME,
                #2020/06/06#,
                1d
)
Ist ME "Mischer 1", so enden am 6. Juni 2020 fünf Nutzungsanweisungen, die als Nutzungsanweisungsliste zurückgegeben.

Incodefunc-GetUseInstListByEndTime01.png

GetUseInstListByEndTimeIF( resource, start, end, condition )

Die Funktion kann überladen und somit auch mit anderen Parametern genutzt werden: GetUseInstListByEndTimeIF( 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 liegt, und die die condition erfüllen. Gibt Liste der Nutzungsanweisungen zurück, die der resource zugewiesen sind, deren [Ende] in span nach start liegt, und die die condition erfüllen.
Beispiel
GetUseInstListByEndTimeIF(ME,
        #2020/06/06#,
        #2020/06/07#,
        TARGET.Work.Type=='P'
)
GetUseInstListByEndTimeIF(ME,
        #2020/06/06#,
        1d,
        TARGET.Work.Type=='P'
)
Ist ME "Mischer 1", so enden am 6. Juni 2020 fünf Nutzungsanweisungen, von diesen werden die zwei Produktionsaufgaben als Nutzungsanweisungsliste zurückgegeben.

Incodefunc-GetUseInstListByEndTimeIF01.png

GetUseInstListOverlappingPeriod( resource, start, end )

Die Funktion kann überladen und somit auch mit anderen Parametern genutzt werden: GetUseInstListOverlappingPeriod( resource, start, span )

Variante 1 Variante 2
Parameter resource Ressource resource Ressource
start Beginn start Beginn
end Ende span Zeitspanne
Rückgabewert Gibt Liste der Nutzungsanweisungen zurück, die der resource zugewiesen sind und mindestens teilweise zwischen start und end liegen. Gibt Liste der Nutzungsanweisungen zurück, die der resource zugewiesen sind und mindestens teilweise in span nach start liegen.
Beispiel
GetUseInstListOverlappingPeriod(ME,
                      #2020/06/06#,
                      #2020/06/07#
)
GetUseInstListOverlappingPeriod(ME,
                      #2020/06/06#,
                     1d
) 
Ist ME "Mischer 1", so beginnen oder enden am 6. Juni 2020 fünf Nutzungsanweisungen, die als Nutzungsanweisungsliste zurückgegeben.

Incodefunc-GetUseInstListOverlappingPeriod01.png

GetUseInstListOverlappingPeriodIF( resource, start, end, condition )

Die Funktion kann überladen und somit auch mit anderen Parametern genutzt werden: GetUseInstListOverlappingPeriodIF( 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, die mindestens teilweise zwischen start und end liegen, und die die condition erfüllen. Gibt Liste der Nutzungsanweisungen zurück, die der resource zugewiesen sind, die mindestens teilweise in span nach start liegen, und die die condition erfüllen.
Beispiel
GetUseInstListOverlappingPeriodIF(ME,
                #2020/06/06#,
                #2020/06/07#,
                TARGET.Work.Type=='P'
)
GetUseInstListOverlappingPeriodIF(ME,
                #2020/06/06#,
                1d,
                TARGET.Work.Type=='P'
)
Ist ME "Mischer 1", so beginnen oder enden am 6. Juni 2020 fünf Nutzungsanweisungen, von diesen werden die drei Produktionsaufgaben als Nutzungsanweisungsliste zurückgegeben.

Incodefunc-GetUseInstListOverlappingPeriodIF01.png



Hilfe Nummer: 741530