Заказ закрыт
Создание скрипта на языке python, который импортируют в базу данных postgresql данные из файлов pdf

Бюджет: по договоренности
Заказчик выбрал исполнителя:
Андрей Жученко  
Файл письма от брокера в формате pdf.
Репозиторий для сохранения результата – gitlab.kimkarus.ru/kimkar...
Ключ для входа после начала заказа.
Используем существующую схему данных (см. ниже).
Таблица наполняем самостоятельно на своей машине.

При обработке файла и перед импортом строк создаем виртуальную таблицу с сортировкой по дням. Перед импортом таблицу №1 нужно дополнить данные строки суммой комиссий из таблицы №5 (см. ниже) за определенный день равномерно.

«1. Реестр Отдельных договоров с расчетами в отчетном периоде:»
«Дата расчетов»:
• в “date_record” только дату;
• в “date_time_record” – только время;
• в “date_month_record” – первый день месяца;
• в “date_year_record” – первый день года.
«Направление» – в “type_record” трансформируем в «Покупка актива», если «Покупка» и «Продажа актива», если «Продажа».
«Базисный актив» в “symbol_record”.
«Курс отдельного договора» в “deal_price_record”.
«Количество во лотов» – в “count_record”. Минус игнорируем. Модуль числа.
…Пропускаем
«Реализованный финансовый результат в валюте счета» (знак сохраняем):
• в “sum_record”;
• в “sum_balance_record”;
• в “value_portfolio_record”

Если “type_record” содержит «Покупка…», то поле “buy_value_portfolio_record” заполняем

Если “type_record” содержит «Покупка…», то поле “buy_value_portfolio_record” заполняем

• в “sell_value_portfolio_record” только у который “type_record” содержит «Продажа…» (знак игнорируем)
«2. Реестр Отдельных договоров с расчетами в даты, следующие за отчетным периодом:»
Не заполняем, пропускаем.

«3. Реестр отложенных заявок:»
Не заполняем, пропускаем.

«4. Реестр переводов между счетами»
Не заполняем, пропускаем.

«5. Информация о движениях денежных средств Контрагента:»
«по неторговым операциям, RUB» – создавать строку с “type_record” = “Ввод денежных средств”. Заполнить поля “sum_record”, “sum_balance_record”, “sum_income_record” значением из строки за этот день. В “count_record” = 1.

«на основании Распоряжения Контрагента, RUB» – создавать строку с “type_record” = “Вывод денежных средств”. Заполнить поля “sum_record”, “sum_balance_record”, “sum_income_record” значением из строки за этот день со знаком минус. В “count_record” = 1.

«сумма удержанного налога, RUB» поделить на число строк из таблицы №1 за день и добавить к полю “sum_expense_record”.

«сумма удержанных комиссий, RUB» поделить на число строк из таблицы №1  за день и добавить к полю “sum_expense_record”.

Поля из аргументов скрипта сохраняем по аналогии, как у других типов импорта.
Опубликован 28.06.2023 в 07:41
Заказ находится в архиве

Выберите способ верификации:

Обновите страницу после прохождения верификации.