Skip to content

Instantly share code, notes, and snippets.

@mdornseif
Created February 18, 2011 08:14
Show Gist options
  • Save mdornseif/833409 to your computer and use it in GitHub Desktop.
Save mdornseif/833409 to your computer and use it in GitHub Desktop.
diff --git a/husoftm2/lieferscheine.py b/husoftm2/lieferscheine.py
index f0f4691..4bfe0df 100644
--- a/husoftm2/lieferscheine.py
+++ b/husoftm2/lieferscheine.py
@@ -67,6 +67,17 @@ def get_ls_kb_data(conditions, additional_conditions=None, limit=None, header_on
auftragsnr2satznr[remove_prefix(kopf['auftragsnr'], 'SO')] = pos_key
satznr2auftragsnr[pos_key] = remove_prefix(kopf['auftragsnr'], 'SO')
koepfe[pos_key] = d
+ if row['ALK00_dfsl']:
+ # Basis dieses Codes:
+ # [LH #721] LS mit 0-mengen vermeiden
+ # Wir sehen im Produktiv-Betrieb immer wieder Lieferscheine mit der Menge "0"
+ # erzeugt werden. Wir vermuten hier eine race Condition, bei der die
+ # ALK00 schon mit der Lieferscheinnummer geupdated ist, die ALN00 aber noch
+ # nicht mit der Lieferscheinmenge.
+ # Eine weitere Vermutung ist, dass wenn in der ALN00 die Menge noch cniht eingetragen
+ # ist, dort auch noch die Lieferscheinnummer fehlt. Das versuchen wir hier abzufangen.
+ # Lieber ein Crash, als ein Lieferschein mit (unbegr<C3><BC>nderter) 0-menge.
+ raise RuntimeError("Dateif<C3><BC>hrungsschl<C3><BC>ssel in ALK00: %r" % row)
if header_only:
return koepfe.values()
@@ -105,7 +116,7 @@ def get_ls_kb_data(conditions, additional_conditions=None, limit=None, header_on
cachingtime=cachingtime, ua='husoftm2.lieferscheine'):
if is_lieferschein == True:
lsmenge = int(row['menge'])
- if not row['ALN_lieferscheinnr']:
+ if row['ALN00_dfsl']:
# Basis dieses Codes:
# [LH #721] LS mit 0-mengen vermeiden
# Wir sehen im Produktiv-Betrieb immer wieder Lieferscheine mit der Menge "0"
@@ -115,7 +126,7 @@ def get_ls_kb_data(conditions, additional_conditions=None, limit=None, header_on
# Eine weitere Vermutung ist, dass wenn in der ALN00 die Menge noch cniht eingetragen
# ist, dort auch noch die Lieferscheinnummer fehlt. Das versuchen wir hier abzufangen.
# Lieber ein Crash, als ein Lieferschein mit (unbegr<C3><BC>nderter) 0-menge.
- raise RuntimeError("Unvollst<C3><A4>ndiger Sat in ALN00: %r" % row)
+ raise RuntimeError("Dateif<C3><BC>hrungsschl<C3><BC>ssel in ALN00: %r" % row)
else:
lsmenge = int(row['menge_komissionierbeleg'])
d = dict(artnr=row['artnr'],
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment