Skip to content

About

Приложение для парсинга ежемесячных и заказных html и pdf отчётов с выводом результатов в csv таблицу

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

62 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

ParserBankReports

License: MIT GitHub release

Приложение для парсинга ежемесячных и заказных html отчётов с выводом результатов в csv таблицу. Поскольку я веду семейный бюджет, то иногда приходится сравнивать выписки по карте с имеющимися данными. На этом этапе возникает главная проблема - автоматически можно импортировать только табличные данные (csv, xls). Из Bank можно получить html или pdf, что вызывает определенные трудности получения табличного документа.

[WIP] Добавлена поддержка выгрузки данных из PDF. Для выписки по платёжному счёту Bank извлекаются категория, дата и время операции, отдельная дата обработки («Проведено»), место расчётов, сумма и остаток. Над таблицей показаны пополнения и списания из шапки отчёта рядом с суммами распарсенных операций. Если в источнике нет итогов, отображается «нет данных».

Перед сохранением CSV выберите кодировку в списке над таблицей: Windows-1251 (по умолчанию) или UTF-8 (с BOM для распознавания в Excel). Выбранная кодировка применяется к заголовкам и всем строкам отчёта. Справа над результатами расположен редактор схем соответствия категорий. Выберите схему или нажмите «+», введите уникальное имя и подтвердите «ОК». Категории загруженного отчёта добавляются в выбранную схему автоматически: достаточно заполнить соседнюю колонку «Категория 1С». Новые пары можно вводить в пустой строке внизу; выбранные строки удаляются клавишей Delete. Схемы и выбранная схема сохраняются автоматически в том же settings.json, что и настройки импорта. Количество схем не ограничено. Подменённые категории выделяются жёлтым. «Показать исходные категории» меняет только отображение; в CSV сохраняются категории по выбранной схеме. Выбор «Без схемы» восстанавливает исходные категории и для экспорта. Клик по строке соответствия фильтрует операции по исходной категории этой строки. Правая кнопка мыши в списке соответствий или кнопка «Показать все операции» сбрасывает выбор и фильтр. Для удаления соответствия нажмите кнопку × в первом столбце его строки; изменения сохраняются автоматически. Смена схемы или загрузка нового отчёта также сбрасывает фильтр. CSV всегда содержит все операции с подменёнными категориями выбранной схемы, независимо от фильтра и показа исходных категорий. После «Место» выгружаются пустая колонка, «Карта/счёт» с выбранным перед импортом именем и пустая «Статья расходов» для дальнейшего заполнения.

При открытии отчёта имя карты можно ввести вручную или выбрать из выпадающего списка. После подтверждения имя сохраняется в %LOCALAPPDATA%\ParserBankReports\card-names.json и доступно при следующих запусках. Пустое имя подтвердить нельзя; отмена закрывает диалог без импорта отчёта. Имена сравниваются без учёта регистра и пробелов по краям.

Загрузка карт из 1С пока не реализована. На проверенной локальной установке «1С:Деньги 8» обнаружена 32-разрядная платформа, но COMConnector не зарегистрирован. Для подключения необходимо настроить внешнее соединение соответствующей разрядности и определить справочник карт в метаданных конфигурации.

Для сохранения в Excel нажмите «Файл → Сохранить» и выберите «Excel (*.xlsx)» в поле «Тип файла» окна сохранения. Экспорт содержит все операции и категории выбранной схемы, независимо от фильтра. Суммы сохраняются как числа, даты — как даты Excel; отсутствующие даты остаются пустыми. Кодировка применяется только к CSV.

В меню «Файл» доступны «Последние отчёты», «Открыть проект…», «Сохранить проект…» и «Последние проекты обработки». История хранит по 10 путей каждого типа между запусками. JSON-проект содержит операции, исходные категории, итоги отчёта, настройки отображения и соответствия. Исходный PDF/HTML для повторного открытия проекта не требуется. Перед открытием другого файла приложение предлагает сохранить текущую обработку. Открытый проект сохраняется в тот же файл, в том числе при подтверждении сохранения перед выходом. Выбор места нужен только при первом сохранении нового проекта.

Общие правила выбранной схемы копируются в проект. Новые соответствия по умолчанию локальные: заполните «Категория 1С», при необходимости уточните «Название содержит». Так можно разделить операции Bank по получателю или назначению. Чтобы использовать правило в следующих импортах, выберите общую схему и установите флаг «Добавить в схему категорий». Снятие флага оставляет дальнейшие изменения в проекте, не удаляя ранее сохранённое общее правило. Локальные правила сохраняются через «Сохранить проект…». Удаление строки с установленным флагом удаляет и общее правило.

Для разных счетов у одинаковых переводов нажмите ПКМ по операции → «Во временную категорию…» и введите счёт. Ячейка категории выделяется фиолетовым. Значение сохраняется только в JSON-проекте и экспорте, без добавления в соответствия. ПКМ → «Очистить временную категорию» возвращает категорию по правилам. F6 очищает временные категории всех операций проекта после подтверждения с их количеством, включая операции, скрытые фильтром. Новых столбцов для временных категорий нет. F3 в таблице операций прокручивает список соответствий к правилу выбранной строки, с учётом исходной категории и названия. Фильтр при этом не меняется. Сортировка таблиц доступна по клику на заголовок столбца; повторный клик меняет направление. При открытии отчёта или проекта операции отсортированы по исходной категории. Выбранная сортировка сохраняется при применении и сбросе фильтра.

About

Приложение для парсинга ежемесячных и заказных html и pdf отчётов с выводом результатов в csv таблицу

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages