(→Ablauf) Markierung: 2017-Quelltext-Bearbeitung |
Keine Bearbeitungszusammenfassung Markierung: 2017-Quelltext-Bearbeitung |
||
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Dies [[Programmfunktion]] '''Fehler mit Planungscode markieren''' dient zur Lösung von [[Ungeklärter Zustand|ungeklärten Zuständen]] auf Tages( | Dies [[Programmfunktion]] '''Fehler mit Planungscode markieren''' dient zur Lösung von [[Ungeklärter Zustand|ungeklärten Zuständen]] auf Tages-('''Dienstbeginn mit Planungscode markieren''', '''Dienstende mit Planungscode markieren''') oder Wochenebene ('''Wochenfehler mit Planungscode markieren'''). | ||
== Funktionsbeschreibung == | == Funktionsbeschreibung == | ||
=== | === Ausgangssituation === | ||
Ein Plan im Status Ist. Mitarbeiter am Plan haben ungeklärte Zustände durch Tages oder Wochenfehler. Dieser beschreibt üblicherweise Zeit über Soll die als Überstunden bewertet werden sollen. Dabei ist oft zwischen Anrechnung in Zeit oder Geld durch unterschiedliche Planungscodes zu unterschieden. wird | |||
=== Steuerdaten === | === Steuerdaten === | ||
:: [[Fehlermarkierung:_Nur_bei_Schema]] | :: [[Fehlermarkierung:_Nur_bei_Schema]] | ||
:: [[Planungscode#Fehlermarkierung:_Tagesgenau]] | |||
:: [[Planungscode#Mehrzeitmarkierung]] | :: [[Planungscode#Mehrzeitmarkierung]] | ||
Zeile 15: | Zeile 18: | ||
=== Ablauf === | === Ablauf === | ||
Beschreibung am Beispiel | Beschreibung am Beispiel '''Dienstbeginn mit Planungscode markieren''': | ||
Die Programfunktion sucht vom Dienstbeginn weg die erste Zeitstrecke die diese Bedingungen erfüllt: | Die Programfunktion sucht vom Dienstbeginn weg die erste Zeitstrecke die diese Bedingungen erfüllt: | ||
* Es ist der zu markierende Planungscode noch nicht hinterlegt | * Es ist der zu markierende Planungscode noch nicht hinterlegt | ||
* Wenn [[Fehlermarkierung:_Nur_bei_Schema]] in den Systemeinstellungen gesetzt ist, muss auf der Zeitstrecke | * Wenn [[Fehlermarkierung:_Nur_bei_Schema]] in den Systemeinstellungen gesetzt ist, muss auf der Zeitstrecke ein [[Abrechnungsschema]] gefunden werden. | ||
* Es ist kein Planungscode hinterlegt, | * Es ist kein Planungscode hinterlegt, | ||
** außer der [[Planungscode]] hat [[Planungscode#Fehlermarkierung:_Planungscode_ersetzen]] auf "Ja" | ** außer der [[Planungscode]] hat [[Planungscode#Fehlermarkierung:_Planungscode_ersetzen]] auf "Ja" |
Aktuelle Version vom 20. Februar 2024, 12:13 Uhr
Dies Programmfunktion Fehler mit Planungscode markieren dient zur Lösung von ungeklärten Zuständen auf Tages-(Dienstbeginn mit Planungscode markieren, Dienstende mit Planungscode markieren) oder Wochenebene (Wochenfehler mit Planungscode markieren).
Funktionsbeschreibung
Ausgangssituation
Ein Plan im Status Ist. Mitarbeiter am Plan haben ungeklärte Zustände durch Tages oder Wochenfehler. Dieser beschreibt üblicherweise Zeit über Soll die als Überstunden bewertet werden sollen. Dabei ist oft zwischen Anrechnung in Zeit oder Geld durch unterschiedliche Planungscodes zu unterschieden. wird
Steuerdaten
Ablauf
Beschreibung am Beispiel Dienstbeginn mit Planungscode markieren:
Die Programfunktion sucht vom Dienstbeginn weg die erste Zeitstrecke die diese Bedingungen erfüllt:
- Es ist der zu markierende Planungscode noch nicht hinterlegt
- Wenn Fehlermarkierung:_Nur_bei_Schema in den Systemeinstellungen gesetzt ist, muss auf der Zeitstrecke ein Abrechnungsschema gefunden werden.
- Es ist kein Planungscode hinterlegt,
- außer der Planungscode hat Planungscode#Fehlermarkierung:_Planungscode_ersetzen auf "Ja"
- oder der vorhandene Planungscode kann laut Planungscode#Fehlermarkierung:_Planungscode_bei_Abrechnungsgruppe_ersetzen ersetzt werden
- oder der vorhandene Planungscode ist laut Planungscode#Fehlermarkierung:_Diese_Planungscodes_zuerst_überschreiben vorrangig zu ersetzen. (Diese Zeitstrecken werden auch markiert, wenn sie direkt nicht am Dienstbeginn liegen!)
bool BitFactory::Alex::IsReplacableByMark( const PlanSymbol_x& s, const Ref< CompCode >& c )
{
return PlanSymbolCompCodeValueExact( s, c, ::PlanSymbolIsReplacableByMark, ::PlanSymbolIsReplacableByMarkForCompCode );
}
bool BitFactory::Alex::IgnoreForMark
( const CompCode_x& compCode, const Schema_x& schema, bool ignoreEmptySchemaForMark, const PlanSymbolCollection_x& prefered
, const PlanSymbol_x& old_, const PlanSymbol_x& mark
)
{
auto old = IsPlanSymbolX( old_ ) ? PlanSymbol_x{} : old_;
if( old == mark )
return true;
if( old&& !IsReplacableByMark( old, compCode ) )
return true;
if( schema && schema->DayIntervalBlockErrorMark() )
return true;
if( !schema && ignoreEmptySchemaForMark )
return true;
if( prefered && ( !old || !prefered->PlanSymbols.Exists( old ) ) )
return true;
return false;
}