Опросник: добавлен словарь criterion_fields (20 показателей ПП-127), импортёр распознаёт строки «Показатель N …» в листе объекта и складывает в criterion_input; фильтр по сфере (берутся только применимые показатели)
This commit is contained in:
@@ -556,6 +556,17 @@ def _import_187_is_list(wb, data, settings, log_fn):
|
||||
if _set(field_lower, 'tech_measures', val_b):
|
||||
log_fn(f" Тех. меры: {val_b[:60]}")
|
||||
continue
|
||||
# --- Показатели критериев значимости (ПП-127) → criterion_input ---
|
||||
# Строки вида «Показатель 1. …» / «Показатель 2а. …» / «Показатель 13.1. …»
|
||||
m_crit = re.match(r'^показател[ья]?\s*(\d+(?:\.\d+)?)([а-яА-Я]?)', field_lower)
|
||||
if m_crit:
|
||||
_num_crit = m_crit.group(1) + m_crit.group(2)
|
||||
# нормализация: «10.1» → «10.1», «13.1» → «13.1», «2а» → «2а»
|
||||
_num_crit = _num_crit.replace(' .', '.').strip()
|
||||
if val_b and 'выбрать' not in field_lower and not _is_hint(val_b):
|
||||
is_obj.setdefault('criterion_input', {})[_num_crit] = str(val_b).strip()
|
||||
log_fn(f" Показатель {_num_crit}: {str(val_b)[:60]}")
|
||||
continue
|
||||
if 'интернет' in field_lower:
|
||||
is_obj['isInternet'] = is_checked
|
||||
continue
|
||||
|
||||
Reference in New Issue
Block a user