Esempio n. 1
0
    def scha_01():
        """0420502 Справка о стоимости чис - SR_0420502_R1"""

        shortURL = 'SR_0420502_R1' # код вкладки
        sheetName = fun.sheetNameFromUrl(urlSheets, shortURL)  # имя вкладки
        ws = wb[sheetName]
        cellBegin = 'C10' # левая-верхняя ячейка с данными
        print(f'{sheetName} - {shortURL}')
        # ---------------------------------------------------------
        # Переносим данные в форму:
        # Заголовки формы в файле-Аванкор
        AvancoreTitle = 'Раздел I. Реквизиты акционерного инвестиционного фонда (паевого инвестиционного фонда)'
        # Первая ячейка с данными (левая-верхняя)
        AvancoreCellBegin = 'A10'
        # Последняя ячейка (правая-нижняя)
        AvancoreCellEnd = 'M10'
        # Количество колонок для копирования в таблице Аванкор
        AvancoreTblCols = 5
        # Копируем данные из файла Аванкор в форму XBRL
        copyFromAvancore(ws, AvancoreCellBegin, AvancoreCellEnd, AvancoreTblCols)
        # ---------------------------------------------------------
        # Записываем в форму идентификатор фонда
        dcop.copy_id_fond_to_tbl(ws, id_fond)
        # ---------------------------------------------------------
        # Меняем местами значения ячеек и добавляем id фонда и УК
        adj.corrector_scha_01(wb, id_fond, shortURL=shortURL)
        # ---------------------------------------------------------
        # Корректируем реквизиты фонда: "№ лицензии", "ОКПО"
        ws.cell(10, 4).value = str(ws.cell(10, 4).value).split('.')[0]  # "№ лицензии"
        ws.cell(10, 5).value = str(ws.cell(10, 5).value).split('.')[0]  # "ОКПО"

        # Убираем лишние '.00' в конце строки,
        # которые могут появиться после копирования:
        # "номер лицензии", "ОКПО"
        adj.corrector_00(ws, 'D', 'E', row=10)
Esempio n. 2
0
 def scha_12():
     """0420502 Справка о стоимости _12	SR_0420502_R4"""
     shortURL = 'SR_0420502_R4'  # код вкладки
     sheetName = fun.sheetNameFromUrl(urlSheets, shortURL)  # имя вкладки
     ws = wb[sheetName]
     cellBegin = 'C10'
     cellPeriod = 'C6'
     print(f'{sheetName} - {shortURL}')
     # ---------------------------------------------------------
     # Переносим данные в форму:
     # Заголовки формы в файле-Аванкор
     AvancoreTitle = 'Раздел IV. Обязательства'
     # Первая ячейка с данными (левая-верхняя)
     AvancoreCellBegin = 'I133'
     # Последняя ячейка (правая-нижняя)
     AvancoreCellEnd = 'O137'
     # Количество колонок для копирования в таблице Аванкор
     AvancoreTblCols = 4
     # Копируем данные из файла Аванкор в форму XBRL
     copyFromAvancore(ws, AvancoreCellBegin, AvancoreCellEnd, AvancoreTblCols)
     # ---------------------------------------------------------
     # Вставляем данные о периоде отчетности
     adj.corrector_scha_03to12_(wb, df_avancor, cellPeriod, shortURL=shortURL)
     # ---------------------------------------------------------
     # Форматируем ячейки
     fun.cellFormat(ws, cellBegin)
     # for row in range(10, ws.max_row + 1):
     #     for col in range(3, ws.max_column + 1):
     #         ws.cell(row, col).alignment = Alignment(horizontal='right')
     # ---------------------------------------------------------
     # Записываем в форму идентификатор фонда
     dcop.copy_id_fond_to_tbl(ws, id_fond)
Esempio n. 3
0
 def scha_13():
     """0420502 Справка о стоимости _13	SR_0420502_R5"""
     shortURL = 'SR_0420502_R5'  # код вкладки
     sheetName = fun.sheetNameFromUrl(urlSheets, shortURL)  # имя вкладки
     ws = wb[sheetName]
     cellBegin = 'C9'
     print(f'{sheetName} - {shortURL}')
     # ---------------------------------------------------------
     # Переносим данные в форму:
     # Заголовки формы в файле-Аванкор
     AvancoreTitle = 'Раздел V. Стоимость чистых активов'
     # Первая ячейка с данными (левая-верхняя)
     AvancoreCellBegin = 'I143'
     # Последняя ячейка (правая-нижняя)
     AvancoreCellEnd = 'K145'
     # Количество колонок для копирования в таблице Аванкор
     AvancoreTblCols = 2
     # Копируем данные из файла Аванкор в форму XBRL
     copyFromAvancore(ws, AvancoreCellBegin, AvancoreCellEnd, AvancoreTblCols)
     # ---------------------------------------------------------
     # Корректируем количество паев,
     # устанавливая нужную точностью знаков после запятой
     adj.corrector_scha_13_(id_fond, ws, df_avancor)
     # ---------------------------------------------------------
     # Записываем в форму идентификатор фонда
     dcop.copy_id_fond_to_tbl(ws, id_fond)
     # ---------------------------------------------------------
     # Форматируем ячейки
     fun.cellFormat(ws, cellBegin)
Esempio n. 4
0
 def scha_10():
     """0420502 Справка о стоимости _10	SR_0420502_R3_P8"""
     shortURL = 'SR_0420502_R3_P8'  # код вкладки
     sheetName = fun.sheetNameFromUrl(urlSheets, shortURL)  # имя вкладки
     ws = wb[sheetName]
     cellBegin = 'C10'
     cellPeriod = 'C6'
     print(f'{sheetName} - {shortURL}')
     # ---------------------------------------------------------
     # Переносим данные в форму:
     # Заголовки формы в файле-Аванкор
     AvancoreTitle = 'Подраздел 8. Дебиторская задолженность'
     # Первая ячейка с данными (левая-верхняя)
     AvancoreCellBegin = 'I117'
     # Последняя ячейка (правая-нижняя)
     AvancoreCellEnd = 'O121'
     # Количество колонок для копирования в таблице Аванкор
     AvancoreTblCols = 4
     # Копируем данные из файла Аванкор в форму XBRL
     copyFromAvancore(ws, AvancoreCellBegin, AvancoreCellEnd, AvancoreTblCols)
     # ---------------------------------------------------------
     # Проставляем нулевые значения в форме
     adj.corrector_scha_03to10(wb, shortURL=shortURL)
     # ---------------------------------------------------------
     # Вставляем данные о периоде отчетности
     adj.corrector_scha_03to12_(wb, df_avancor, cellPeriod, shortURL=shortURL)
     # ---------------------------------------------------------
     # Записываем в форму идентификатор фонда
     dcop.copy_id_fond_to_tbl(ws, id_fond)
     # ---------------------------------------------------------
     # Форматируем ячейки
     fun.cellFormat(ws, cellBegin)
Esempio n. 5
0
 def scha_07():
     """0420502 Справка о стоимости ч_7	SR_0420502_R3_P5"""
     shortURL = 'SR_0420502_R3_P5'  # код вкладки
     sheetName = fun.sheetNameFromUrl(urlSheets, shortURL)  # имя вкладки
     ws = wb[sheetName]
     cellBegin = 'C10'
     cellPeriod = 'C6'
     print(f'{sheetName} - {shortURL}')
     # ---------------------------------------------------------
     # Переносим данные в форму:
     # Заголовки формы в файле-Аванкор
     AvancoreTitle = 'Подраздел 5. Имущественные права (за исключением прав аренды недвижимого имущества, прав из кредитных договоров и договоров займа и прав требования к кредитной организации выплатить денежный эквивалент драгоценных металлов)'
     # Первая ячейка с данными (левая-верхняя)
     AvancoreCellBegin = 'I84'
     # Последняя ячейка (правая-нижняя)
     AvancoreCellEnd = 'O89'
     # Количество колонок для копирования в таблице Аванкор
     AvancoreTblCols = 4
     # Копируем данные из файла Аванкор в форму XBRL
     copyFromAvancore(ws, AvancoreCellBegin, AvancoreCellEnd, AvancoreTblCols)
     # ---------------------------------------------------------
     # Проставляем нулевые значения в форме
     adj.corrector_scha_03to10(wb, shortURL=shortURL)
     # ---------------------------------------------------------
     # Вставляем данные о периоде отчетности
     adj.corrector_scha_03to12_(wb, df_avancor, cellPeriod, shortURL=shortURL)
     # ---------------------------------------------------------
     # Записываем в форму идентификатор фонда
     dcop.copy_id_fond_to_tbl(ws, id_fond)
     # ---------------------------------------------------------
     # Форматируем ячейки
     fun.cellFormat(ws, cellBegin)
Esempio n. 6
0
    def prirost_02():
        """ 0420503 Отчет о приросте об у_2 -> SR_0420503_R2 """
        shortURL = 'SR_0420503_R2'
        sheetName = fun.sheetNameFromUrl(urlSheets,
                                         shortURL)  # имя нужной формы
        ws_xbrl = wb_xbrl[sheetName]
        print(f'{sheetName} - {shortURL}')

        row = ws_xbrl.max_row
        cols = [2, 3]

        # Вкладка с которой копируем данные
        # 0420502 Справка о стоимости ч_2   'SR_0420502_R2'
        shortURL_from = 'SR_0420502_R2'
        sheetName_from = fun.sheetNameFromUrl(
            urlSheets, shortURL_from)  # имя нужной формы
        ws_xbrl_from = wb_xbrl[sheetName_from]
        row_start_from = ws_xbrl_from.max_row
        # список копирумых колонок
        cols_from = [2, 4]
        # ---------------------------------------------------------
        # вставляем период
        dataEnd = ws_xbrl_from.cell(row_start_from, 2).value
        dataBbegin = dataEnd[:-2] + '01'
        ws_xbrl.cell(row, 2).value = dataBbegin + ' - ' + dataEnd
        # ---------------------------------------------------------
        # копируем код валюты
        ws_xbrl.cell(row, 3).value = \
            ws_xbrl_from.cell(row_start_from, 4).value
        # ---------------------------------------------------------
        # Записываем в форму идентификатор фонда
        dcop.copy_id_fond_to_tbl(ws_xbrl, id_fond)
Esempio n. 7
0
    def makeForm(shortURL, avancoreTitle, max_number, cell_start):
        cell_start_row, cell_start_col = coordinate_to_tuple(cell_start)
        sheetName = fun.sheetNameFromUrl(urlSheets, shortURL)  # имя вкладки
        ws = wb[sheetName]
        print(f'{sheetName} - {shortURL}')

        # Копируем данные из файла Аванкор
        if copyFromAvancore(ws, avancoreTitle, max_number, cell_start_row,
                            cell_start_col):
            # Записываем в форму идентификатор фонда
            dcop.copy_id_fond_to_tbl(ws, id_fond)

        else:
            # Если ничего скопировано не было, то Раздел пуст.
            # Удаляем вкладку
            wb.remove(ws)
Esempio n. 8
0
    def prirost_04():
        """ 0420503 Отчет о приросте об у_4 -> SR_0420503_R3 """
        shortURL = 'SR_0420503_R3'
        sheetName = fun.sheetNameFromUrl(urlSheets,
                                         shortURL)  # имя нужной формы
        ws_xbrl = wb_xbrl[sheetName]
        print(f'{sheetName} - {shortURL}')

        # Считываем данные из "Раздел III..." (файл-Аванкор)
        # Раздел III. Сведения о приросте (об уменьшении) стоимости имущества, принадлежащего
        # акционерному инвестиционному фонду (составляющего паевой инвестиционный фонд)
        row_start_av = 26
        row_end_av = 97
        col_2_av = 5  # Код строки (колонка 2)
        col_3_av = 6  # Значение показателя за отчетный период (колонка 3)
        data = {}
        for row in range(row_start_av, row_end_av + 1):
            cell_2 = df_avancor.loc[row, col_2_av]
            cell_3 = df_avancor.loc[row, col_3_av]
            if str(cell_2) != 'nan' and cell_3 != 0:
                data[cell_2] = analiz_data_all(cell_3)

        # Заполняем форму
        row_start_xbrl = 7
        row_end_xbrl = 54
        col_2_xbrl = 2
        col_3_xbrl = 3
        for row in range(row_start_xbrl, row_end_xbrl + 1):
            # номер строки в xbrl
            cell = ws_xbrl.cell(row, col_2_xbrl).value
            # сравниваем номера строк в Аванкоре и xbrl
            if cell in data.keys():
                ws_xbrl.cell(row, col_3_xbrl).value = data[cell]
                # Форматируем ячейку
                ws_xbrl.cell(
                    row, col_3_xbrl).alignment = Alignment(horizontal='right')
        # ---------------------------------------------------------
        # Записываем в форму идентификатор фонда
        dcop.copy_id_fond_to_tbl(ws_xbrl, id_fond)
Esempio n. 9
0
    def scha_02():
        """ 0420502 Справка о стоимости ч_2	SR_0420502_R2"""

        shortURL = 'SR_0420502_R2'  # код вкладки
        sheetName = fun.sheetNameFromUrl(urlSheets, shortURL)  # имя вкладки
        ws = wb[sheetName]
        cellBegin = 'B9'    # левая-верхняя ячейка с данными
        print(f'{sheetName} - {shortURL}')
        # ---------------------------------------------------------
        # Переносим данные в форму:
        # Заголовки формы в файле-Аванкор
        AvancoreTitle = 'Раздел II. Параметры справки о стоимости чистых активов'
        # Первая ячейка с данными (левая-верхняя)
        AvancoreCellBegin = 'A18'
        # Последняя ячейка (правая-нижняя)
        AvancoreCellEnd = 'G18'
        # Количество колонок для копирования в таблице Аванкор
        AvancoreTblCols = 3
        # Копируем данные из файла Аванкор в форму XBRL
        copyFromAvancore(ws, AvancoreCellBegin, AvancoreCellEnd, AvancoreTblCols)
        # ---------------------------------------------------------
        # Записываем в форму идентификатор фонда
        dcop.copy_id_fond_to_tbl(ws, id_fond)