diff --git a/dokogen/ui.py b/dokogen/ui.py index f266f96..d6587d4 100644 --- a/dokogen/ui.py +++ b/dokogen/ui.py @@ -2342,15 +2342,15 @@ class DokoGenApp: def _apply(): _calc() txt = result.get('1.0', 'end-1c').strip() + # Если расчёт не удался (ошибка «Заполните…») — не применяем и не пишем в обоснование + if txt.startswith('Заполните'): + return lines = txt.split('\n') cat_line = next((l for l in lines if l.startswith('Категория значимости:')), '') cat = None - if 'Категория значимости: I' in cat_line: - cat = 'I' - elif 'Категория значимости: II' in cat_line: - cat = 'II' - elif 'Категория значимости: III' in cat_line: - cat = 'III' + m = _re2.search(r'Категория значимости:\s*(I{1,3})\b', cat_line) + if m: + cat = m.group(1) if cat: opts = list(combo['values']) target = next((o for o in opts if o.startswith(f"{cat} категория")), None)