Плоская форма ОСВ 1С: счёт из шапки, «Итого развернутое», плоский список, контрагенты расчётных счетов (#59) #63
@ -581,12 +581,17 @@ def _variant1_groups(sheet: Sheet, header: TableHeader, rules: Rules) -> GroupSc
|
||||
|
||||
|
||||
def _kind_row_groups(sheet: Sheet, header: TableHeader, rules: Rules) -> list[OsvGroup]:
|
||||
"""Виды субконто из строки шапки между названием и периодом: только узнанные явной записью словаря групп."""
|
||||
"""Виды субконто из строки шапки между названием и периодом: только узнанные явной записью словаря групп, не
|
||||
ACCOUNT; метки шапки (в том числе валюта) видом субконто не считаются."""
|
||||
cells = _head_cells(sheet, header)
|
||||
currency = _currency_cells(cells, rules)
|
||||
groups: list[OsvGroup] = []
|
||||
for cell in _kind_row_cells(_head_cells(sheet, header), rules):
|
||||
for cell in _kind_row_cells(cells, rules):
|
||||
if cell in currency or _is_structural_marker(cell, rules):
|
||||
continue
|
||||
for item in (part.strip() for part in cell.text.split(_LIST_SEPARATOR)):
|
||||
known = rules.groups.known(item) if item else None
|
||||
if known is not None:
|
||||
if known is not None and known != "ACCOUNT":
|
||||
groups.append(_group(known, item))
|
||||
return groups
|
||||
|
||||
|
||||
@ -643,3 +643,11 @@ def test_unknown_kind_row_is_not_added_to_schema(rules: Rules) -> None:
|
||||
|
||||
def test_organizations_kind_row_is_counterparty(rules: Rules) -> None:
|
||||
assert _flat_schema(rules, "Организации") == [("ACCOUNT", "Субконто"), ("COUNTERPARTY", "Организации")]
|
||||
|
||||
|
||||
def test_currency_row_between_title_and_period_is_not_added_to_schema(rules: Rules) -> None:
|
||||
assert _flat_schema(rules, "Валюта БУ, НУ: RUB") == [("ACCOUNT", "Субконто")]
|
||||
|
||||
|
||||
def test_subkonto_cell_between_title_and_period_does_not_add_second_account(rules: Rules) -> None:
|
||||
assert _flat_schema(rules, "Субконто") == [("ACCOUNT", "Субконто")]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user