Пример #1
0
    def prirost_07():
        """ 0420503 Отчет о приросте об у_7 -> SR_0420503_podpisant """
        shortURL = 'SR_0420503_podpisant'
        sheetName = fun.sheetNameFromUrl(urlSheets,
                                         shortURL)  # имя нужной формы
        ws_xbrl = wb_xbrl[sheetName]
        print(f'{sheetName} - {shortURL}')

        row = ws_xbrl.max_row
        col = ws_xbrl.max_column

        # Вкладка с которой копируем данные
        # 0420502 Справка о стоимости _56   'SR_0420502_Podpisant'
        shortURL_from = 'SR_0420502_Podpisant'
        sheetName_from = fun.sheetNameFromUrl(
            urlSheets, shortURL_from)  # имя нужной формы
        ws_xbrl_from = wb_xbrl[sheetName_from]
        row_from = ws_xbrl_from.max_row
        col_from = ws_xbrl_from.max_column

        # копируем фио директора УК
        ws_xbrl.cell(row, col).value = \
            ws_xbrl_from.cell(row_from, col_from).value

        # Проверяем форму на наличие не заполненных ячеек
        cellBegin = 'B7'
        cellEnd = 'B7'
        dCheck.empty_cell(ws_xbrl, cellBegin, cellEnd)
Пример #2
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)
Пример #3
0
    def prirost_01():
        """ 0420503 Отчет о приросте об уме -> SR_0420503_R1 """
        shortURL = 'SR_0420503_R1'
        sheetName = fun.sheetNameFromUrl(urlSheets,
                                         shortURL)  # имя нужной формы
        ws_xbrl = wb_xbrl[sheetName]
        print(f'{sheetName} - {shortURL}')

        row_start = ws_xbrl.max_row
        cols_start = [x for x in range(1, ws_xbrl.max_column + 1)]

        # Вкладка с которой копируем данные
        # 0420502 Справка о стоимости чис   'SR_0420502_R1'
        shortURL_from = 'SR_0420502_R1'
        sheetName_from = fun.sheetNameFromUrl(
            urlSheets, shortURL_from)  # имя нужной формы
        ws_xbrl_from = wb_xbrl[sheetName_from]
        row_start_from = ws_xbrl_from.max_row
        # список копирумых колонок
        # копируем всё, кроме колонки №2
        cols_from = [
            x for x in range(1, ws_xbrl_from.max_column + 1) if x != 2
        ]

        # копируем ячейки
        for i in range(ws_xbrl.max_column):
            ws_xbrl.cell(row_start, cols_start[i]).value = \
                ws_xbrl_from.cell(row_start_from, cols_from[i]).value

        # Проверяем форму на наличие не заполненных ячеек
        cellBegin = 'A10'
        cellEnd = 'F10'
        dCheck.empty_cell(ws_xbrl, cellBegin, cellEnd)
Пример #4
0
    def prirost_08():
        """ 0420503 Отчет о приросте об у_8 -> SR_0420503_podpisant_spec_dep """
        shortURL = 'SR_0420503_podpisant_spec_dep'
        sheetName = fun.sheetNameFromUrl(urlSheets,
                                         shortURL)  # имя нужной формы
        ws_xbrl = wb_xbrl[sheetName]
        print(f'{sheetName} - {shortURL}')

        row = 8
        cols = [1, 2, 3, 4, 5]

        # Вкладка с которой копируем данные
        # 0420502 Справка о стоимости _57   'SR_0420502_Podpisant_spec_dep'
        shortURL_from = 'SR_0420502_Podpisant_spec_dep'
        sheetName_from = fun.sheetNameFromUrl(
            urlSheets, shortURL_from)  # имя нужной формы
        ws_xbrl_from = wb_xbrl[sheetName_from]

        # копируем ячейки
        for i in range(len(cols)):
            ws_xbrl.cell(row, cols[i]).value = \
                ws_xbrl_from.cell(row, cols[i]).value

        # Проверяем форму на наличие не заполненных ячеек
        cellBegin = 'A8'
        cellEnd = 'E8'
        dCheck.empty_cell(ws_xbrl, cellBegin, cellEnd)
Пример #5
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)
Пример #6
0
    def podpisant_57():
        """0420502 Справка о стоимости _57	SR_0420502_Podpisant_spec_dep"""

        shortURL = 'SR_0420502_Podpisant_spec_dep'  # код вкладки
        sheetName = fun.sheetNameFromUrl(urlSheets, shortURL)  # имя вкладки
        ws = wb[sheetName]
        print(f'{sheetName} - {shortURL}')
        cell_fio = 'B8'

        AvancoreTitle = 'Уполномоченное лицо специализированного депозитария\n' \
                        'акционерного инвестиционного фонда (паевого инвестиционного фонда)'
        # Номер колонки ячейки с ФИО в таблице Аванкор
        avancor_fio_col = 'J'
        avancor_fio_col = fun.column_index_from_string(avancor_fio_col)

        # Записываем короткое-ФИО подписанта
        fioShort(ws, AvancoreTitle, avancor_fio_col, cell_fio)
        # Заменяем короткое-ФИО на полное-ФИО подписанта
        fioFull(ws, cell_fio)

        # Проставляем id-Фонда
        ws['A8'].value = id_fond
        # ---------------------------------------------------------
        # Проставляем реквизиты СпецДепа
        # adj.corrector_Podpisant_3_(ws, df_identifier, id_fond)
        adj.corrector_Podpisant_3_v2(ws, id_fond)
        # ---------------------------------------------------------
        # Проверяем является ли ячейка пустой
        dCheck.empty_cell(ws, 'A8', 'E8')
Пример #7
0
    def podpisant_56():
        """0420502 Справка о стоимости _56	SR_0420502_Podpisant"""

        shortURL = 'SR_0420502_Podpisant'  # код вкладки
        sheetName = fun.sheetNameFromUrl(urlSheets, shortURL)  # имя вкладки
        ws = wb[sheetName]
        print(f'{sheetName} - {shortURL}')
        cell_fio = 'B7'

        AvancoreTitle = 'Руководитель акционерного инвестиционного\n' \
                        'фонда (управляющей компании паевого инвестиционного\n' \
                        'фонда)  (лицо, исполняющее обязанности руководителя\n' \
                        'акционерного инвестиционного фонда\n' \
                        '(управляющей компании паевого инвестиционного фонда)'
        # Номер колонки ячейки с ФИО в таблице Аванкор
        avancor_fio_col = 'J'
        avancor_fio_col = fun.column_index_from_string(avancor_fio_col)

        # Записываем короткое-ФИО подписанта
        fioShort(ws, AvancoreTitle, avancor_fio_col, cell_fio)
        # Заменяем короткое-ФИО на полное-ФИО подписанта
        fioFull(ws, cell_fio)
        # ---------------------------------------------------------
        # Проверяем является ли ячейка пустой
        dCheck.empty_cell(ws, cell_fio, cell_fio)
Пример #8
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)
Пример #9
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)
Пример #10
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)
Пример #11
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)
Пример #12
0
def prirost(wb):
    # Удаляем формы из Прироста, которые не заполняются

    # словарь: URL и наименования листов
    urlSheets = fun.codesSheets(wb)
    # список url-вкладок для удаления
    url2del = ['SR_0420503_R3_5', 'SR_0420503_R4_5', 'SR_0420503_R4']

    for url in url2del:
        sheetName = fun.sheetNameFromUrl(urlSheets, url)
        wb.remove(wb[sheetName])
Пример #13
0
    def oborotka_FIO():
        # 0420521 Оборотная ведомость п_4
        # 0420521 Оборотная ведомость по счетам бухгалтерского учета. Сведения о лице, подписавшем отчетность
        # sr_0420521_podpisant

        # файл-xbrl
        sheetCode = 'sr_0420521_podpisant'
        sheetName = sheetNameFromUrl(urlSheets, sheetCode)  # имя вкладки
        ws = wb[sheetName]
        print(f'{sheetName} - {sheetCode}')
        # содержание ячейки
        ws['B7'] = 'Тованчов Андрей Яковлевич'
Пример #14
0
def copy_data(wb, sheetCode, urlSheets, file_dir, fileCode, sectionName, begin_cell, cols):

    # Имя файла-отчета
    fileReportName = findFile(fileCode, file_dir=file_dir)

    sheetName = sheetNameFromUrl(urlSheets, sheetCode)  # имя вкладки
    ws_xbrl = wb[sheetName]
    print(f'{sheetName} - {sheetCode}')

    # загружаем данные из нужного файла бух.отчетности
    # название файла отчетности
    file_report = file_dir + fileReportName
    # загрузка данныз из файла 'report'
    df_report = load_report(file_report)

    # 'report': текст в заголовке столбца с данными в таблице
    string_begin = sectionName
    # 'report': номер первой строки в таблице
    begin_row_df_report = find_row(df_report, string_begin, string_col=2) + 1
    # 'report': номер последней строки в таблице
    end_row_df_report = len(df_report.index)

    # wb_xbrl: координаты верхней левой ячейки с данными
    begin_row_wb_xbrl, begin_col_wb_xbrl = coordinate(begin_cell)
    # wb_xbrl: начальная ячейка с показателем
    start_row = begin_row_wb_xbrl
    start_col = begin_col_wb_xbrl - 1

    # перебор строк в файле 'report'
    for row_report in range(begin_row_df_report, end_row_df_report + 1):
        indicator = str(df_report.loc[row_report, 2]).replace('.', '')

        # пребор строк в xbrl файле
        for row_xbrl in range(start_row, ws_xbrl.max_row + 1):
            cell = ws_xbrl.cell(row_xbrl, start_col).value

            # проверяем совпадение показателей
            compare = compare_str(indicator)
            if cell.find(indicator) >= 0 or \
                    (compare and cell.find(compare[1]) > 0 and cell.find(compare[2]) > 0):

                # перебор колонок в таблице xbrl
                for n,col in enumerate(cols):
                    # преобразуем данные
                    data_reropt = analiz_data_all(df_report.loc[row_report, col])
                    # копируем данные
                    if data_reropt not in ['0.00','nan'] and data_reropt == data_reropt:  # исключаем нулевые значения
                        ws_xbrl_cell = ws_xbrl.cell(row_xbrl, begin_col_wb_xbrl + n)
                        ws_xbrl_cell.value = data_reropt
                        # Форматируем ячейку
                        ws_xbrl_cell.alignment = Alignment(horizontal='right')
                break
    print(f'.....готово')
Пример #15
0
    def repDohodRashod_FIO():
        # 0420522 Отчет о доходах и рас_2
        # 0420522 Отчет о доходах и расходах. Сведения о лице, подписавшем отчетность
        # ...xlsx
        # sr_0420522_podpisant

        # файл-xbrl
        sheetCode = 'sr_0420522_podpisant'
        sheetName = sheetNameFromUrl(urlSheets, sheetCode)  # имя вкладки
        ws = wb[sheetName]
        print(f'{sheetName} - {sheetCode}')
        # содержание ячейки
        ws['B7'] = 'Тованчов Андрей Яковлевич'
Пример #16
0
    def repDohodRashod_UK_quarter():
        # (Квартальная отчетность!)
        # Сведения об отчитывающейся орга
        # Сведения об отчитывающейся организации (Информация о должностных лицах, ответственных за предметную область отчетности)
        # sr_sved_otch_org_otv_predm_obl

        # файл-xbrl
        sheetCode = 'sr_sved_otch_org_otv_predm_obl'
        sheetName = sheetNameFromUrl(urlSheets, sheetCode)  # имя вкладки
        ws = wb[sheetName]
        print(f'{sheetName} - {sheetCode}')
        # содержание ячейки
        ws['A5']  = "T= " + period.current_from_year
        ws['A11'] = "T= " + period.report_month
        ws['A17'] = "T= " + period.current
Пример #17
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)
Пример #18
0
def corrector_scha_01(wb, id_fond, shortURL=None):
    """ Меняем местами значения ячеек и добавляем id фонда и УК"""
    # Форма:
    # 0420502 Справка о стоимости чис   SR_0420502_R1

    sheetName = sheetNameFromUrl(codesSheets(wb), shortURL)
    ws_change = wb[sheetName]

    # Меняем значения ячеек, т.к. в таблице xbrl ячейки расположены
    # в ином порядке, чем в файле, созданном Аванкор
    ws_change.cell(10, 5).value, ws_change.cell(10, 6).value = \
        ws_change.cell(10, 6).value, ws_change.cell(10, 5).value
    ws_change.cell(10, 5).value, ws_change.cell(10, 7).value = \
        ws_change.cell(10, 7).value, ws_change.cell(10, 5).value

    # Записываем в форму идентификаторы: фонда и УК
    ws_change.cell(10, 1).value = id_fond
    # ws_change.cell(10, 2).value = df_id['УК АИФ ПИФ'].loc[1, 0]
    ws_change.cell(10, 2).value = uk_ogrn
Пример #19
0
def corrector_scha_03to10(wb, shortURL=None):
    """ Проставляем нулевые значения в формах: ч_3 - ч_10 """

    # Формы:
    # 0420502 Справка о стоимости ч_3    SR_0420502_R3_P1
    # 0420502 Справка о стоимости ч_4    SR_0420502_R3_P4
    # 0420502 Справка о стоимости ч_5    SR_0420502_R3_P2
    # 0420502 Справка о стоимости ч_6    SR_0420502_R3_P3
    # 0420502 Справка о стоимости ч_7    SR_0420502_R3_P5
    # 0420502 Справка о стоимости ч_8    SR_0420502_R3_P6
    # 0420502 Справка о стоимости ч_9    SR_0420502_R3_P7
    # 0420502 Справка о стоимости _10    SR_0420502_R3_P8

    def insert_00(ws):
        """ Проставляем нулевые значения в форме """

        row_begin = 10
        col_1 = 3  # номер первой колонки с данными

        for row in range(row_begin, ws.max_row + 1):
            cell_1 = ws.cell(row, col_1).value
            cell_2 = ws.cell(row, col_1 + 1).value
            cell_3 = ws.cell(row, col_1 + 2).value
            cell_4 = ws.cell(row, col_1 + 3).value

            # Форматируем ячейки
            for i in range(4):
                ws.cell(row, col_1 + i).alignment = Alignment(horizontal='right')

            if cell_1 or cell_2:  # Если есть данные в одной из первых ячеек
                if not cell_1:  # если нет в первой
                    ws.cell(row, col_1).value = '0.00'
                if not cell_2:  # если нет во второй
                    ws.cell(row, col_1 + 1).value = '0.00'
                if not cell_3:  # если нет в третьей
                    ws.cell(row, col_1 + 2).value = '0.00'
                if not cell_4:  # если нет в червертой
                    ws.cell(row, col_1 + 3).value = '0.00'

    sheet = sheetNameFromUrl(codesSheets(wb), shortURL)
    ws = wb[sheet]
    insert_00(ws)
Пример #20
0
def corrector_scha_03to12_(wb_xbrl, df_avancor, cell_period, shortURL=None):
    """ Вставляем данные о периоде отчетности """
    # Формы:
    # 0420502 Справка о стоимости ч_3   SR_0420502_R3_P1
    # 0420502 Справка о стоимости ч_4   SR_0420502_R3_P4
    # 0420502 Справка о стоимости ч_5   SR_0420502_R3_P2
    # 0420502 Справка о стоимости ч_6   SR_0420502_R3_P3
    # 0420502 Справка о стоимости ч_7   SR_0420502_R3_P5
    # 0420502 Справка о стоимости ч_8   SR_0420502_R3_P6
    # 0420502 Справка о стоимости ч_9   SR_0420502_R3_P7
    # 0420502 Справка о стоимости _10   SR_0420502_R3_P8
    # 0420502 Справка о стоимости _11   SR_0420502_R3_P9
    # 0420502 Справка о стоимости _12   SR_0420502_R4

    period_begin = analiz_data_data(df_avancor.loc[18, 1])
    period_end = analiz_data_data(df_avancor.loc[18, 5])
    sheet_xbrl_period = sheetNameFromUrl(codesSheets(wb_xbrl), shortURL)

    ws_period = wb_xbrl[sheet_xbrl_period]
    # cell_period = df_matrica.loc[shortURL, 'cell_period']
    ws_period[cell_period].value = period_begin + ', ' + period_end
Пример #21
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)
Пример #22
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)
Пример #23
0
    def repDohodRashod_UK():
        # (Месячная отчетность!)
        # Сведения об отчитывающейся орга
        # Сведения об отчитывающейся организации (Информация о должностных лицах, ответственных за предметную область отчетности)
        # sr_sved_otch_org_otv_predm_obl

        # файл-xbrl
        sheetCode = 'sr_sved_otch_org_otv_predm_obl'
        sheetName = sheetNameFromUrl(urlSheets, sheetCode)  # имя вкладки
        ws = wb[sheetName]
        print(f'{sheetName} - {sheetCode}')
        # содержание ячейки

        ws['A11'] = "T= " + period.report_month

        ws['B7'] = 'Тованчов Андрей Яковлевич'
        ws['C7'] = 'Генеральный директор'
        ws['D7'] = '+7(863)2006110'
        ws['B8'] = ws['B7'].value
        ws['C8'] = ws['C7'].value
        ws['D8'] = ws['D7'].value

        ws['A5'] = "T= " + period.current_from_year