# Словарь форм ББ/ОФР (05-domain-rules.md §12): заголовки форм и ОКУД, маркер продолжения, подписи колонок, метки шапки. # Правила записи — как в osv_headers.yaml: паттерн ищется в НОРМАЛИЗОВАННОМ тексте (нижний регистр, «е» вместо «ё», # дефисы/тире/переносы -> пробел), без учёта регистра; новый синоним = строка в YAML. # Заголовок формы -> тип документа. Титул «Бухгалтерская отчетность» (НПЗ) типом не является и здесь не перечислен. form_titles: BALANCE: - 'бухгалтерский\s+баланс' INCOME: - 'отчет\s+о\s+финансовых\s+результатах' - 'отчет\s+о\s+прибылях\s+и\s+убытках' DISCLOSURE: - 'пояснени\w*\s+к\s+бухгалтерскому\s+балансу' - '^расшифровк' - 'отчет\s+об\s+изменениях\s+капитала' - 'отчет\s+о\s+движении\s+денежных\s+средств' - 'отчет\s+о\s+целевом\s+использовании' # Код ОКУД -> тип (ячейка «Форма по ОКУД 0710001» или сам код). Прочие формы 0710xxx — расшифровки (design D-3, решение №2) okud: BALANCE: - '\b0710001\b' INCOME: - '\b0710002\b' DISCLOSURE: - '\b07100(0(3|4|5|6|7|8|9)|(1|2|3|4|5|6|7|8|9)\d)\b' # Сам код ОКУД формы внутри ячейки («Форма по ОКУД 0710001» -> «0710001») okud_code: '0710\d{3}' # Единицы измерения в тысячах: «тыс. руб.», «в тыс. рублей» (для предупреждения о дробных значениях) units_thousands: 'тыс' # Маркер страницы-продолжения в 1С-выгрузке: «Форма 0710001 с.2» continuation: - '\bформа\s+0710\d{3}\s+с\.?\s*\d+' # Подписи колонок заголовка таблицы: ячейка целиком code_caption: - '^код(ы)?$' explanations_caption: - '^пояснени' # Строка нумерации колонок под шапкой («1 | 2 | 3 | 4 | 5»): каждая непустая ячейка — одно-двузначное число column_numbering: '^\d{1,2}$' # Метки шапки документа (значение — правее в той же строке либо в следующей строке) labels: organization: - '^организация\b' inn: - '^инн\b' - 'идентификационный\s+номер\s+налогоплательщика' okpo: - 'по\s+окпо' okopf: - 'по\s+окопф\b(?!\s*/)' okfs: - 'по\s+окфс' okopf_okfs: - 'по\s+окопф\s*/\s*окфс' okei: - 'по\s+океи' units: - 'единица\s+измерения' address: - 'местонахождение\s*\(адрес\)' - 'адрес\s+в\s+пределах\s+места\s+нахождения' - '^адрес\b' date: - '^(отчетная\s+)?дата\b' # Строки блока аудитора: ИНН ниже этой метки — ИНН аудитора, не организации auditor: - 'аудитор' # Признак, что строка содержит название организации (для имени над меткой «Организация», НПЗ) legal_form: - '\b(ооо|ао|пао|зао|оао|нао|ип|гуп|муп|фгуп)\b' - '"' - '«' # Коды строк форм: диапазоны четырёхзначных кодов (пятизначные — по первым четырём цифрам), доля кодов в колонке, # минимум кодов, чтобы колонка считалась колонкой кодов line_codes: ranges: BALANCE: [1100, 1799] INCOME: [2100, 2999] DISCLOSURE: [5000, 5999] min_share: 0.6 min_codes: 3 # лист, идущий после листа формы: хватает одного кода (лист-продолжение с единственной строкой, напр. 2400 у НПЗ) min_codes_continuation: 1 # Порог для предупреждения о дробных значениях при единицах в тыс. руб. (процент; 1..100) fractional_share_percent: 10