diff --git a/sync_manager.py b/sync_manager.py index 37090dc6..7ced1275 100644 --- a/sync_manager.py +++ b/sync_manager.py @@ -155,27 +155,28 @@ class SyncManager: trigger_update = False - # --- FINALE, KORREKTE PRÜFLOGIK-STRUKTUR --- if gsheet_col == 'CRM Land': d365_code_lower = d365_val.lower() gsheet_val_lower = gsheet_val.lower() d365_translated_lower = Config.COUNTRY_CODE_MAP.get(d365_code_lower, d365_code_lower).lower() - # Ein Update wird nur ausgelöst, wenn der GSheet-Wert WEDER dem Code NOCH dem übersetzten Namen entspricht. if gsheet_val_lower != d365_code_lower and gsheet_val_lower != d365_translated_lower: trigger_update = True elif gsheet_col == 'CRM Anzahl Techniker': - if d365_val == '-1' and gsheet_val == '': pass - elif d365_val != gsheet_val: trigger_update = True + # Wiederhergestellte Logik: Ignoriere Update, wenn D365 '-1' ist und GSheet leer + if d365_val == '-1' and gsheet_val == '': + pass # Explizit als "nicht unterschiedlich" behandeln + elif d365_val != gsheet_val: + trigger_update = True elif gsheet_col == 'CRM Branche': if gsheet_row['Chat Vorschlag Branche'] == '' and d365_val != gsheet_val: trigger_update = True - else: # Standard-Vergleich für alle anderen Spalten - if d365_val != gsheet_val: trigger_update = True - # --- ENDE DER PRÜFLOGIK-STRUKTUR --- + else: + if d365_val != gsheet_val: + trigger_update = True if trigger_update: row_updates[gsheet_col] = d365_val