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)
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)
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)
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)
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)
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')
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)
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)
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)
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)
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)
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])
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'] = 'Тованчов Андрей Яковлевич'
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'.....готово')
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'] = 'Тованчов Андрей Яковлевич'
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
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)
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
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)
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
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)
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)
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