From fcece07c6426b7a13a10c5aa254a94464a437667 Mon Sep 17 00:00:00 2001 From: PotapovaA Date: Fri, 29 May 2026 13:51:47 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D1=81=D1=82=D1=80=D0=BE=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RealtimeTable/RealtimeTable.jsx | 27 +- .../SettingPanel/SettingPanel.jsx | 4 +- .../RealtimeTable/constants/FORM_1/AHR.js | 6684 +++++++++-------- .../RealtimeTable/contexts/RealtimeContext.js | 5 +- .../RealtimeTable/hooks/useRealtimeData.js | 41 +- .../RealtimeTable/utils/cellUtils.js | 25 +- 6 files changed, 3418 insertions(+), 3368 deletions(-) diff --git a/web/src/components/RealtimeTable/RealtimeTable.jsx b/web/src/components/RealtimeTable/RealtimeTable.jsx index 1cdf94b..655c333 100644 --- a/web/src/components/RealtimeTable/RealtimeTable.jsx +++ b/web/src/components/RealtimeTable/RealtimeTable.jsx @@ -21,6 +21,7 @@ import { getTablePaperStyles, } from './constants/tableConfig'; import { useRealtime } from './contexts/RealtimeContext'; +import { toast } from 'react-toastify'; const RealtimeTable = ({ formType, formId, sheetName, direction }) => { const { data, setData } = useRealtimeData(formId, sheetName, direction); @@ -40,6 +41,7 @@ const RealtimeTable = ({ formType, formId, sheetName, direction }) => { error: wsError, updateCell: contextUpdateCell, addRow: contextAddRow, + deleteRow: contextDeleteRow, } = useRealtime(); const { @@ -85,7 +87,7 @@ const RealtimeTable = ({ formType, formId, sheetName, direction }) => { })); }, [rowSelection]) - // Создание колонок с интеграцией WebSocket + const columns = useMemo(() => { if (!columnsConfig || !columnsConfig.columns) return []; try { @@ -106,7 +108,7 @@ const RealtimeTable = ({ formType, formId, sheetName, direction }) => { } }, [columnsConfig, handleUpdateCell]); - // Метаданные для таблицы + const tableMeta = useMemo(() => ({ updateCell: handleUpdateCell, }), [handleUpdateCell]); @@ -199,18 +201,30 @@ const RealtimeTable = ({ formType, formId, sheetName, direction }) => { const handleAddRow = useCallback(() => { const allRows = table.getRowModel().rows; - // Фильтруем выделенные строки const selectedRows = allRows.filter(row => rowSelection[row.id]); if (selectedRows.length === 0) { - toasr.error('Выделите строку для вставки'); + toast.error('Выделите строку для вставки'); return; } const row = selectedRows[0]; const expense_item_id = row.original.data.header.expense_item_id; - contextAddRow({expense_item_id:expense_item_id}) + contextAddRow({ expense_item_id: expense_item_id }) + }, [rowSelection, table]) + + const handleDeleteRow = useCallback(() => { + const allRows = table.getRowModel().rows; + + const selectedRows = allRows.filter(row => rowSelection[row.id]); + if (selectedRows.length === 0) { + toast.error('Выделите строку для удаления'); + return; + } + const row = selectedRows[0]; + const expense_item_id = row.original.data.line_id; + contextDeleteRow(expense_item_id) }, [rowSelection, table]) if (!data) { - return
Loading...
; + return
Загрузка...
; } return ( @@ -227,6 +241,7 @@ const RealtimeTable = ({ formType, formId, sheetName, direction }) => { sizeMult={sizeMult} onChangeShowColumnFilters={setShowColumnFilters} onAddRow={handleAddRow} + onDeleteRow={handleDeleteRow} />
diff --git a/web/src/components/RealtimeTable/SettingPanel/SettingPanel.jsx b/web/src/components/RealtimeTable/SettingPanel/SettingPanel.jsx index 225e5fe..494f694 100644 --- a/web/src/components/RealtimeTable/SettingPanel/SettingPanel.jsx +++ b/web/src/components/RealtimeTable/SettingPanel/SettingPanel.jsx @@ -30,6 +30,7 @@ const SettingPanel = ({ sizeMult, onChangeShowColumnFilters, onAddRow, + onDeleteRow, }) => { const [isPinned, setIsPinned] = useState(false); const [columnTree, setColumnTree] = useState(); @@ -55,6 +56,7 @@ const SettingPanel = ({ ); }, [columnVisibility]); + //TO DO: сделать const { addColorForCells, addFormulaForCells, deleteFormula } = {}; const handleChangeShowColumnFilters = () => { @@ -100,7 +102,7 @@ const SettingPanel = ({ - + diff --git a/web/src/components/RealtimeTable/constants/FORM_1/AHR.js b/web/src/components/RealtimeTable/constants/FORM_1/AHR.js index b6aebf3..2cbf9bb 100644 --- a/web/src/components/RealtimeTable/constants/FORM_1/AHR.js +++ b/web/src/components/RealtimeTable/constants/FORM_1/AHR.js @@ -1,4106 +1,4112 @@ - - import { - greenColumn, - whiteColumn, - orangeColumn, - yellowColumn, - redColumn, - blueColumn, - } from '../columnColors'; - export const config = { - "config":{ - "colors":{ - "dannye_field_field":{ - "color_type":greenColumn, - "accessorKey":"dannye_field_field" - }, - "dannye_god_smety_god_smety":{ - "color_type":greenColumn, - "accessorKey":"dannye_god_smety_god_smety" - }, - "data.header.section":{ - "color_type":greenColumn, - "accessorKey":"data.header.section" - }, - "data.header.item_id":{ - "color_type":greenColumn, - "accessorKey":"data.header.item_id" - }, - "data.header.num_group":{ - "color_type":greenColumn, - "accessorKey":"data.header.num_group" - }, - "data.header.name":{ - "color_type":greenColumn, - "accessorKey":"data.header.name" - }, - "data.header.internal_order":{ - "color_type":greenColumn, - "accessorKey":"data.header.internal_order" - }, - "data.plan.q1":{ - "color_type":greenColumn, - "accessorKey":"data.plan.q1" - }, - "data.plan.q2":{ - "color_type":greenColumn, - "accessorKey":"data.plan.q2" - }, - "data.plan.q3":{ - "color_type":greenColumn, - "accessorKey":"data.plan.q3" - }, - "data.plan.q4":{ - "color_type":greenColumn, - "accessorKey":"data.plan.q4" - }, - "data.plan.year":{ - "color_type":greenColumn, - "accessorKey":"data.plan.year" - }, - "data.plan.comment":{ - "color_type":greenColumn, - "accessorKey":"data.plan.comment" - }, - "data.contract_summary.total":{ - "color_type":greenColumn, - "accessorKey":"data.contract_summary.total" - }, - "data.contract_summary.counterparty":{ - "color_type":greenColumn, - "accessorKey":"data.contract_summary.counterparty" - }, - "data.contract_summary.deadline":{ - "color_type":greenColumn, - "accessorKey":"data.contract_summary.deadline" - }, - "data.contract_summary.comment":{ - "color_type":greenColumn, - "accessorKey":"data.contract_summary.comment" - }, - "data.contract_summary.future_y1":{ - "color_type":greenColumn, - "accessorKey":"data.contract_summary.future_y1" - }, - "data.contract_summary.future_y2":{ - "color_type":greenColumn, - "accessorKey":"data.contract_summary.future_y2" - }, - "data.contract_summary.other_ssp":{ - "color_type":greenColumn, - "accessorKey":"data.contract_summary.other_ssp" - }, - "data.allocation.order":{ - "color_type":greenColumn, - "accessorKey":"data.allocation.order" - }, - "data.allocation.property":{ - "color_type":greenColumn, - "accessorKey":"data.allocation.property" - }, - "data.sequestration.q1":{ - "color_type":greenColumn, - "accessorKey":"data.sequestration.q1" - }, - "data.sequestration.q2":{ - "color_type":greenColumn, - "accessorKey":"data.sequestration.q2" - }, - "data.sequestration.q3":{ - "color_type":greenColumn, - "accessorKey":"data.sequestration.q3" +import { + greenColumn, + whiteColumn, + orangeColumn, + yellowColumn, + redColumn, + blueColumn, +} from "../columnColors"; +export const config = { + config: { + colors: { + dannye_field_field: { + color_type: greenColumn, + accessorKey: "dannye_field_field", + }, + dannye_god_smety_god_smety: { + color_type: greenColumn, + accessorKey: "dannye_god_smety_god_smety", + }, + "data.header.section": { + color_type: greenColumn, + accessorKey: "data.header.section", + }, + "data.header.item_id": { + color_type: greenColumn, + accessorKey: "data.header.item_id", + }, + "data.header.num_group": { + color_type: greenColumn, + accessorKey: "data.header.num_group", + }, + "data.header.name": { + color_type: greenColumn, + accessorKey: "data.header.name", + }, + "data.header.internal_order": { + color_type: greenColumn, + accessorKey: "data.header.internal_order", + }, + "data.plan.q1": { + color_type: greenColumn, + accessorKey: "data.plan.q1", + }, + "data.plan.q2": { + color_type: greenColumn, + accessorKey: "data.plan.q2", + }, + "data.plan.q3": { + color_type: greenColumn, + accessorKey: "data.plan.q3", + }, + "data.plan.q4": { + color_type: greenColumn, + accessorKey: "data.plan.q4", + }, + "data.plan.year": { + color_type: greenColumn, + accessorKey: "data.plan.year", + }, + "data.plan.comment": { + color_type: greenColumn, + accessorKey: "data.plan.comment", + }, + "data.contract_summary.total": { + color_type: greenColumn, + accessorKey: "data.contract_summary.total", + }, + "data.contract_summary.counterparty": { + color_type: greenColumn, + accessorKey: "data.contract_summary.counterparty", + }, + "data.contract_summary.deadline": { + color_type: greenColumn, + accessorKey: "data.contract_summary.deadline", + }, + "data.contract_summary.comment": { + color_type: greenColumn, + accessorKey: "data.contract_summary.comment", + }, + "data.contract_summary.future_y1": { + color_type: greenColumn, + accessorKey: "data.contract_summary.future_y1", + }, + "data.contract_summary.future_y2": { + color_type: greenColumn, + accessorKey: "data.contract_summary.future_y2", + }, + "data.contract_summary.other_ssp": { + color_type: greenColumn, + accessorKey: "data.contract_summary.other_ssp", + }, + "data.allocation.order": { + color_type: greenColumn, + accessorKey: "data.allocation.order", + }, + "data.allocation.property": { + color_type: greenColumn, + accessorKey: "data.allocation.property", + }, + "data.sequestration.q1": { + color_type: greenColumn, + accessorKey: "data.sequestration.q1", + }, + "data.sequestration.q2": { + color_type: greenColumn, + accessorKey: "data.sequestration.q2", + }, + "data.sequestration.q3": { + color_type: greenColumn, + accessorKey: "data.sequestration.q3", }, - "data.sequestration.q4":{ - "color_type":greenColumn, - "accessorKey":"data.sequestration.q4" + "data.sequestration.q4": { + color_type: greenColumn, + accessorKey: "data.sequestration.q4", }, - "data.sequestration.year":{ - "color_type":greenColumn, - "accessorKey":"data.sequestration.year" + "data.sequestration.year": { + color_type: greenColumn, + accessorKey: "data.sequestration.year", }, - "data.sequestration.justification":{ - "color_type":greenColumn, - "accessorKey":"data.sequestration.justification" + "data.sequestration.justification": { + color_type: greenColumn, + accessorKey: "data.sequestration.justification", }, - "data.reserve.q1":{ - "color_type":greenColumn, - "accessorKey":"data.reserve.q1" + "data.reserve.q1": { + color_type: greenColumn, + accessorKey: "data.reserve.q1", }, - "data.reserve.q2":{ - "color_type":greenColumn, - "accessorKey":"data.reserve.q2" + "data.reserve.q2": { + color_type: greenColumn, + accessorKey: "data.reserve.q2", }, - "data.reserve.q3":{ - "color_type":greenColumn, - "accessorKey":"data.reserve.q3" + "data.reserve.q3": { + color_type: greenColumn, + accessorKey: "data.reserve.q3", }, - "data.reserve.q4":{ - "color_type":greenColumn, - "accessorKey":"data.reserve.q4" + "data.reserve.q4": { + color_type: greenColumn, + accessorKey: "data.reserve.q4", }, - "data.reserve.year":{ - "color_type":greenColumn, - "accessorKey":"data.reserve.year" + "data.reserve.year": { + color_type: greenColumn, + accessorKey: "data.reserve.year", }, - "data.reserve.justification":{ - "color_type":greenColumn, - "accessorKey":"data.reserve.justification" + "data.reserve.justification": { + color_type: greenColumn, + accessorKey: "data.reserve.justification", }, - "data.approved.q1":{ - "color_type":greenColumn, - "accessorKey":"data.approved.q1" + "data.approved.q1": { + color_type: greenColumn, + accessorKey: "data.approved.q1", }, - "data.approved.q2":{ - "color_type":greenColumn, - "accessorKey":"data.approved.q2" + "data.approved.q2": { + color_type: greenColumn, + accessorKey: "data.approved.q2", }, - "data.approved.q3":{ - "color_type":greenColumn, - "accessorKey":"data.approved.q3" + "data.approved.q3": { + color_type: greenColumn, + accessorKey: "data.approved.q3", }, - "data.approved.q4":{ - "color_type":greenColumn, - "accessorKey":"data.approved.q4" + "data.approved.q4": { + color_type: greenColumn, + accessorKey: "data.approved.q4", }, - "data.approved.year":{ - "color_type":greenColumn, - "accessorKey":"data.approved.year" + "data.approved.year": { + color_type: greenColumn, + accessorKey: "data.approved.year", }, - "data.collegial.approved":{ - "color_type":orangeColumn, - "accessorKey":"data.collegial.approved" + "data.collegial.approved": { + color_type: orangeColumn, + accessorKey: "data.collegial.approved", }, - "data.collegial.protocol":{ - "color_type":orangeColumn, - "accessorKey":"data.collegial.protocol" + "data.collegial.protocol": { + color_type: orangeColumn, + accessorKey: "data.collegial.protocol", }, - "field_kollegialnye_organy_field":{ - "color_type":orangeColumn, - "accessorKey":"field_kollegialnye_organy_field" + field_kollegialnye_organy_field: { + color_type: orangeColumn, + accessorKey: "field_kollegialnye_organy_field", }, - "data.collegial.note":{ - "color_type":orangeColumn, - "accessorKey":"data.collegial.note" + "data.collegial.note": { + color_type: orangeColumn, + accessorKey: "data.collegial.note", }, - "data.ckk.ceiling":{ - "color_type":orangeColumn, - "accessorKey":"data.ckk.ceiling" + "data.ckk.ceiling": { + color_type: orangeColumn, + accessorKey: "data.ckk.ceiling", }, - "data.ckk.q1":{ - "color_type":orangeColumn, - "accessorKey":"data.ckk.q1" + "data.ckk.q1": { + color_type: orangeColumn, + accessorKey: "data.ckk.q1", }, - "data.ckk.q2":{ - "color_type":orangeColumn, - "accessorKey":"data.ckk.q2" + "data.ckk.q2": { + color_type: orangeColumn, + accessorKey: "data.ckk.q2", }, - "data.ckk.q3":{ - "color_type":orangeColumn, - "accessorKey":"data.ckk.q3" + "data.ckk.q3": { + color_type: orangeColumn, + accessorKey: "data.ckk.q3", }, - "data.ckk.q4":{ - "color_type":orangeColumn, - "accessorKey":"data.ckk.q4" + "data.ckk.q4": { + color_type: orangeColumn, + accessorKey: "data.ckk.q4", }, - "data.ckk.rf_schedule":{ - "color_type":orangeColumn, - "accessorKey":"data.ckk.rf_schedule" + "data.ckk.rf_schedule": { + color_type: orangeColumn, + accessorKey: "data.ckk.rf_schedule", }, - "data.ckk.deadline":{ - "color_type":orangeColumn, - "accessorKey":"data.ckk.deadline" + "data.ckk.deadline": { + color_type: orangeColumn, + accessorKey: "data.ckk.deadline", }, - "data.ckk.proc_plan":{ - "color_type":orangeColumn, - "accessorKey":"data.ckk.proc_plan" + "data.ckk.proc_plan": { + color_type: orangeColumn, + accessorKey: "data.ckk.proc_plan", }, - "data.ckk.proc_method":{ - "color_type":orangeColumn, - "accessorKey":"data.ckk.proc_method" + "data.ckk.proc_method": { + color_type: orangeColumn, + accessorKey: "data.ckk.proc_method", }, - "data.ckk.comment":{ - "color_type":orangeColumn, - "accessorKey":"data.ckk.comment" + "data.ckk.comment": { + color_type: orangeColumn, + accessorKey: "data.ckk.comment", }, - "data.contract_detail.counterparty":{ - "color_type":orangeColumn, - "accessorKey":"data.contract_detail.counterparty" + "data.contract_detail.counterparty": { + color_type: orangeColumn, + accessorKey: "data.contract_detail.counterparty", }, - "data.contract_detail.reference":{ - "color_type":orangeColumn, - "accessorKey":"data.contract_detail.reference" + "data.contract_detail.reference": { + color_type: orangeColumn, + accessorKey: "data.contract_detail.reference", }, - "data.contract_detail.addenda":{ - "color_type":orangeColumn, - "accessorKey":"data.contract_detail.addenda" + "data.contract_detail.addenda": { + color_type: orangeColumn, + accessorKey: "data.contract_detail.addenda", }, - "data.contract_detail.subject":{ - "color_type":orangeColumn, - "accessorKey":"data.contract_detail.subject" + "data.contract_detail.subject": { + color_type: orangeColumn, + accessorKey: "data.contract_detail.subject", }, - "data.contract_detail.currency":{ - "color_type":orangeColumn, - "accessorKey":"data.contract_detail.currency" + "data.contract_detail.currency": { + color_type: orangeColumn, + accessorKey: "data.contract_detail.currency", }, - "data.contract_detail.ceiling":{ - "color_type":orangeColumn, - "accessorKey":"data.contract_detail.ceiling" + "data.contract_detail.ceiling": { + color_type: orangeColumn, + accessorKey: "data.contract_detail.ceiling", }, - "data.contract_detail.q1":{ - "color_type":orangeColumn, - "accessorKey":"data.contract_detail.q1" + "data.contract_detail.q1": { + color_type: orangeColumn, + accessorKey: "data.contract_detail.q1", }, - "data.contract_detail.q2":{ - "color_type":orangeColumn, - "accessorKey":"data.contract_detail.q2" + "data.contract_detail.q2": { + color_type: orangeColumn, + accessorKey: "data.contract_detail.q2", }, - "data.contract_detail.q3":{ - "color_type":orangeColumn, - "accessorKey":"data.contract_detail.q3" + "data.contract_detail.q3": { + color_type: orangeColumn, + accessorKey: "data.contract_detail.q3", }, - "data.contract_detail.q4":{ - "color_type":orangeColumn, - "accessorKey":"data.contract_detail.q4" + "data.contract_detail.q4": { + color_type: orangeColumn, + accessorKey: "data.contract_detail.q4", }, - "data.contract_detail.rf_schedule":{ - "color_type":orangeColumn, - "accessorKey":"data.contract_detail.rf_schedule" + "data.contract_detail.rf_schedule": { + color_type: orangeColumn, + accessorKey: "data.contract_detail.rf_schedule", }, - "data.contract_detail.vat_rate":{ - "color_type":orangeColumn, - "accessorKey":"data.contract_detail.vat_rate" + "data.contract_detail.vat_rate": { + color_type: orangeColumn, + accessorKey: "data.contract_detail.vat_rate", }, - "data.contract_detail.exchange_rate":{ - "color_type":orangeColumn, - "accessorKey":"data.contract_detail.exchange_rate" + "data.contract_detail.exchange_rate": { + color_type: orangeColumn, + accessorKey: "data.contract_detail.exchange_rate", }, - "data.contract_detail.amount_foreign":{ - "color_type":orangeColumn, - "accessorKey":"data.contract_detail.amount_foreign" + "data.contract_detail.amount_foreign": { + color_type: orangeColumn, + accessorKey: "data.contract_detail.amount_foreign", }, - "data.contract_detail.deadline":{ - "color_type":orangeColumn, - "accessorKey":"data.contract_detail.deadline" + "data.contract_detail.deadline": { + color_type: orangeColumn, + accessorKey: "data.contract_detail.deadline", }, - "data.contract_detail.payment_scheme":{ - "color_type":orangeColumn, - "accessorKey":"data.contract_detail.payment_scheme" + "data.contract_detail.payment_scheme": { + color_type: orangeColumn, + accessorKey: "data.contract_detail.payment_scheme", }, - "data.contract_detail.act":{ - "color_type":orangeColumn, - "accessorKey":"data.contract_detail.act" + "data.contract_detail.act": { + color_type: orangeColumn, + accessorKey: "data.contract_detail.act", }, - "data.contract_detail.comment":{ - "color_type":orangeColumn, - "accessorKey":"data.contract_detail.comment" + "data.contract_detail.comment": { + color_type: orangeColumn, + accessorKey: "data.contract_detail.comment", }, - "data.q1.adj_current":{ - "color_type":yellowColumn, - "accessorKey":"data.q1.adj_current" + "data.q1.adj_current": { + color_type: yellowColumn, + accessorKey: "data.q1.adj_current", }, - "data.q1.adj_ssp":{ - "color_type":yellowColumn, - "accessorKey":"data.q1.adj_ssp" + "data.q1.adj_ssp": { + color_type: yellowColumn, + accessorKey: "data.q1.adj_ssp", }, - "data.q1.adj_rf":{ - "color_type":yellowColumn, - "accessorKey":"data.q1.adj_rf" + "data.q1.adj_rf": { + color_type: yellowColumn, + accessorKey: "data.q1.adj_rf", }, - "data.q1.adj_reserve":{ - "color_type":yellowColumn, - "accessorKey":"data.q1.adj_reserve" + "data.q1.adj_reserve": { + color_type: yellowColumn, + accessorKey: "data.q1.adj_reserve", }, - "1_kvartal_2026_perenos_vo_2_kv_26_summa_tys_rub_bez_nds":{ - "color_type":redColumn, - "accessorKey":"1_kvartal_2026_perenos_vo_2_kv_26_summa_tys_rub_bez_nds" + "1_kvartal_2026_perenos_vo_2_kv_26_summa_tys_rub_bez_nds": { + color_type: redColumn, + accessorKey: "1_kvartal_2026_perenos_vo_2_kv_26_summa_tys_rub_bez_nds", }, - "data.q1.adj_comment":{ - "color_type":yellowColumn, - "accessorKey":"data.q1.adj_comment" + "data.q1.adj_comment": { + color_type: yellowColumn, + accessorKey: "data.q1.adj_comment", }, - "data.q1.corrected_plan":{ - "color_type":yellowColumn, - "accessorKey":"data.q1.corrected_plan" + "data.q1.corrected_plan": { + color_type: yellowColumn, + accessorKey: "data.q1.corrected_plan", }, - "1_kvartal_2026_field_field":{ - "color_type":whiteColumn, - "accessorKey":"1_kvartal_2026_field_field" + "1_kvartal_2026_field_field": { + color_type: whiteColumn, + accessorKey: "1_kvartal_2026_field_field", }, - "data.q1.pay_date":{ - "color_type":blueColumn, - "accessorKey":"data.q1.pay_date" + "data.q1.pay_date": { + color_type: blueColumn, + accessorKey: "data.q1.pay_date", }, - "data.q1.pay_amount":{ - "color_type":blueColumn, - "accessorKey":"data.q1.pay_amount" + "data.q1.pay_amount": { + color_type: blueColumn, + accessorKey: "data.q1.pay_amount", }, - "data.q1.pay_ho":{ - "color_type":blueColumn, - "accessorKey":"data.q1.pay_ho" + "data.q1.pay_ho": { + color_type: blueColumn, + accessorKey: "data.q1.pay_ho", }, - "data.q1.pay_rf":{ - "color_type":blueColumn, - "accessorKey":"data.q1.pay_rf" + "data.q1.pay_rf": { + color_type: blueColumn, + accessorKey: "data.q1.pay_rf", }, - "data.q1.pay_comment":{ - "color_type":blueColumn, - "accessorKey":"data.q1.pay_comment" + "data.q1.pay_comment": { + color_type: blueColumn, + accessorKey: "data.q1.pay_comment", }, - "data.q1.pay_act":{ - "color_type":blueColumn, - "accessorKey":"data.q1.pay_act" + "data.q1.pay_act": { + color_type: blueColumn, + accessorKey: "data.q1.pay_act", }, - "data.q1.booking":{ - "color_type":orangeColumn, - "accessorKey":"data.q1.booking" + "data.q1.booking": { + color_type: orangeColumn, + accessorKey: "data.q1.booking", }, - "data.q1.actual_m1":{ - "color_type":greenColumn, - "accessorKey":"data.q1.actual_m1" + "data.q1.actual_m1": { + color_type: greenColumn, + accessorKey: "data.q1.actual_m1", }, - "data.q1.actual_m2":{ - "color_type":greenColumn, - "accessorKey":"data.q1.actual_m2" + "data.q1.actual_m2": { + color_type: greenColumn, + accessorKey: "data.q1.actual_m2", }, - "data.q1.actual_m3":{ - "color_type":greenColumn, - "accessorKey":"data.q1.actual_m3" + "data.q1.actual_m3": { + color_type: greenColumn, + accessorKey: "data.q1.actual_m3", }, - "data.q1.actual_quarter":{ - "color_type":greenColumn, - "accessorKey":"data.q1.actual_quarter" + "data.q1.actual_quarter": { + color_type: greenColumn, + accessorKey: "data.q1.actual_quarter", }, - "data.q1.rem_booking":{ - "color_type":orangeColumn, - "accessorKey":"data.q1.rem_booking" + "data.q1.rem_booking": { + color_type: orangeColumn, + accessorKey: "data.q1.rem_booking", }, - "data.q1.rem_actual":{ - "color_type":greenColumn, - "accessorKey":"data.q1.rem_actual" + "data.q1.rem_actual": { + color_type: greenColumn, + accessorKey: "data.q1.rem_actual", }, - "data.q1.transfer_q2":{ - "color_type":redColumn, - "accessorKey":"data.q1.transfer_q2" + "data.q1.transfer_q2": { + color_type: redColumn, + accessorKey: "data.q1.transfer_q2", }, - "data.q1.transfer_q3":{ - "color_type":redColumn, - "accessorKey":"data.q1.transfer_q3" + "data.q1.transfer_q3": { + color_type: redColumn, + accessorKey: "data.q1.transfer_q3", }, - "data.q1.transfer_q4":{ - "color_type":redColumn, - "accessorKey":"data.q1.transfer_q4" + "data.q1.transfer_q4": { + color_type: redColumn, + accessorKey: "data.q1.transfer_q4", }, - "data.q1.economy":{ - "color_type":redColumn, - "accessorKey":"data.q1.economy" + "data.q1.economy": { + color_type: redColumn, + accessorKey: "data.q1.economy", }, - "data.q1.total":{ - "color_type":redColumn, - "accessorKey":"data.q1.total" + "data.q1.total": { + color_type: redColumn, + accessorKey: "data.q1.total", }, - "data.q2.rev_eco":{ - "color_type":redColumn, - "accessorKey":"data.q2.rev_eco" + "data.q2.rev_eco": { + color_type: redColumn, + accessorKey: "data.q2.rev_eco", }, - "data.q2.rev_item":{ - "color_type":redColumn, - "accessorKey":"data.q2.rev_item" + "data.q2.rev_item": { + color_type: redColumn, + accessorKey: "data.q2.rev_item", }, - "data.q2.rev_inc":{ - "color_type":redColumn, - "accessorKey":"data.q2.rev_inc" + "data.q2.rev_inc": { + color_type: redColumn, + accessorKey: "data.q2.rev_inc", }, - "data.q2.rev_seq":{ - "color_type":redColumn, - "accessorKey":"data.q2.rev_seq" + "data.q2.rev_seq": { + color_type: redColumn, + accessorKey: "data.q2.rev_seq", }, - "data.q2.rev_comment":{ - "color_type":redColumn, - "accessorKey":"data.q2.rev_comment" + "data.q2.rev_comment": { + color_type: redColumn, + accessorKey: "data.q2.rev_comment", }, - "data.q2.new_plan":{ - "color_type":yellowColumn, - "accessorKey":"data.q2.new_plan" + "data.q2.new_plan": { + color_type: yellowColumn, + accessorKey: "data.q2.new_plan", }, - "2_kvartal_2026_field_field":{ - "color_type":whiteColumn, - "accessorKey":"2_kvartal_2026_field_field" + "2_kvartal_2026_field_field": { + color_type: whiteColumn, + accessorKey: "2_kvartal_2026_field_field", }, - "data.q2.adj_current":{ - "color_type":yellowColumn, - "accessorKey":"data.q2.adj_current" + "data.q2.adj_current": { + color_type: yellowColumn, + accessorKey: "data.q2.adj_current", }, - "data.q2.adj_ssp":{ - "color_type":yellowColumn, - "accessorKey":"data.q2.adj_ssp" + "data.q2.adj_ssp": { + color_type: yellowColumn, + accessorKey: "data.q2.adj_ssp", }, - "data.q2.adj_rf":{ - "color_type":yellowColumn, - "accessorKey":"data.q2.adj_rf" + "data.q2.adj_rf": { + color_type: yellowColumn, + accessorKey: "data.q2.adj_rf", }, - "data.q2.adj_reserve":{ - "color_type":yellowColumn, - "accessorKey":"data.q2.adj_reserve" + "data.q2.adj_reserve": { + color_type: yellowColumn, + accessorKey: "data.q2.adj_reserve", }, - "2_kvartal_2026_perenos_v_3_kv_26_summa_tys_rub_bez_nds":{ - "color_type":redColumn, - "accessorKey":"2_kvartal_2026_perenos_v_3_kv_26_summa_tys_rub_bez_nds" + "2_kvartal_2026_perenos_v_3_kv_26_summa_tys_rub_bez_nds": { + color_type: redColumn, + accessorKey: "2_kvartal_2026_perenos_v_3_kv_26_summa_tys_rub_bez_nds", }, - "data.q2.corrected_plan":{ - "color_type":yellowColumn, - "accessorKey":"data.q2.corrected_plan" + "data.q2.corrected_plan": { + color_type: yellowColumn, + accessorKey: "data.q2.corrected_plan", }, - "data.q2.pay_date":{ - "color_type":blueColumn, - "accessorKey":"data.q2.pay_date" + "data.q2.pay_date": { + color_type: blueColumn, + accessorKey: "data.q2.pay_date", }, - "data.q2.pay_amount":{ - "color_type":blueColumn, - "accessorKey":"data.q2.pay_amount" + "data.q2.pay_amount": { + color_type: blueColumn, + accessorKey: "data.q2.pay_amount", }, - "data.q2.pay_ho":{ - "color_type":blueColumn, - "accessorKey":"data.q2.pay_ho" + "data.q2.pay_ho": { + color_type: blueColumn, + accessorKey: "data.q2.pay_ho", }, - "data.q2.pay_rf":{ - "color_type":blueColumn, - "accessorKey":"data.q2.pay_rf" + "data.q2.pay_rf": { + color_type: blueColumn, + accessorKey: "data.q2.pay_rf", }, - "data.q2.pay_comment":{ - "color_type":blueColumn, - "accessorKey":"data.q2.pay_comment" + "data.q2.pay_comment": { + color_type: blueColumn, + accessorKey: "data.q2.pay_comment", }, - "data.q2.pay_act":{ - "color_type":blueColumn, - "accessorKey":"data.q2.pay_act" + "data.q2.pay_act": { + color_type: blueColumn, + accessorKey: "data.q2.pay_act", }, - "data.q2.booking":{ - "color_type":orangeColumn, - "accessorKey":"data.q2.booking" + "data.q2.booking": { + color_type: orangeColumn, + accessorKey: "data.q2.booking", }, - "data.q2.actual_m1":{ - "color_type":greenColumn, - "accessorKey":"data.q2.actual_m1" + "data.q2.actual_m1": { + color_type: greenColumn, + accessorKey: "data.q2.actual_m1", }, - "data.q2.actual_m2":{ - "color_type":greenColumn, - "accessorKey":"data.q2.actual_m2" + "data.q2.actual_m2": { + color_type: greenColumn, + accessorKey: "data.q2.actual_m2", }, - "data.q2.actual_m3":{ - "color_type":greenColumn, - "accessorKey":"data.q2.actual_m3" + "data.q2.actual_m3": { + color_type: greenColumn, + accessorKey: "data.q2.actual_m3", }, - "data.q2.actual_quarter":{ - "color_type":greenColumn, - "accessorKey":"data.q2.actual_quarter" + "data.q2.actual_quarter": { + color_type: greenColumn, + accessorKey: "data.q2.actual_quarter", }, - "data.q2.rem_booking":{ - "color_type":orangeColumn, - "accessorKey":"data.q2.rem_booking" + "data.q2.rem_booking": { + color_type: orangeColumn, + accessorKey: "data.q2.rem_booking", }, - "data.q2.rem_actual":{ - "color_type":greenColumn, - "accessorKey":"data.q2.rem_actual" + "data.q2.rem_actual": { + color_type: greenColumn, + accessorKey: "data.q2.rem_actual", }, - "data.q2.transfer_q3":{ - "color_type":redColumn, - "accessorKey":"data.q2.transfer_q3" + "data.q2.transfer_q3": { + color_type: redColumn, + accessorKey: "data.q2.transfer_q3", }, - "data.q2.transfer_q4":{ - "color_type":redColumn, - "accessorKey":"data.q2.transfer_q4" + "data.q2.transfer_q4": { + color_type: redColumn, + accessorKey: "data.q2.transfer_q4", }, - "data.q2.economy":{ - "color_type":redColumn, - "accessorKey":"data.q2.economy" + "data.q2.economy": { + color_type: redColumn, + accessorKey: "data.q2.economy", }, - "data.q2.total":{ - "color_type":redColumn, - "accessorKey":"data.q2.total" + "data.q2.total": { + color_type: redColumn, + accessorKey: "data.q2.total", }, - "data.q3.rev_eco":{ - "color_type":redColumn, - "accessorKey":"data.q3.rev_eco" + "data.q3.rev_eco": { + color_type: redColumn, + accessorKey: "data.q3.rev_eco", }, - "data.q3.rev_item":{ - "color_type":redColumn, - "accessorKey":"data.q3.rev_item" + "data.q3.rev_item": { + color_type: redColumn, + accessorKey: "data.q3.rev_item", }, - "data.q3.rev_inc":{ - "color_type":redColumn, - "accessorKey":"data.q3.rev_inc" + "data.q3.rev_inc": { + color_type: redColumn, + accessorKey: "data.q3.rev_inc", }, - "data.q3.rev_seq":{ - "color_type":redColumn, - "accessorKey":"data.q3.rev_seq" + "data.q3.rev_seq": { + color_type: redColumn, + accessorKey: "data.q3.rev_seq", }, - "data.q3.rev_comment":{ - "color_type":redColumn, - "accessorKey":"data.q3.rev_comment" + "data.q3.rev_comment": { + color_type: redColumn, + accessorKey: "data.q3.rev_comment", }, - "data.q3.new_plan":{ - "color_type":yellowColumn, - "accessorKey":"data.q3.new_plan" + "data.q3.new_plan": { + color_type: yellowColumn, + accessorKey: "data.q3.new_plan", }, - "3_kvartal_2026_field_field":{ - "color_type":whiteColumn, - "accessorKey":"3_kvartal_2026_field_field" + "3_kvartal_2026_field_field": { + color_type: whiteColumn, + accessorKey: "3_kvartal_2026_field_field", }, - "data.q3.adj_current":{ - "color_type":yellowColumn, - "accessorKey":"data.q3.adj_current" + "data.q3.adj_current": { + color_type: yellowColumn, + accessorKey: "data.q3.adj_current", }, - "data.q3.adj_ssp":{ - "color_type":yellowColumn, - "accessorKey":"data.q3.adj_ssp" + "data.q3.adj_ssp": { + color_type: yellowColumn, + accessorKey: "data.q3.adj_ssp", }, - "data.q3.adj_rf":{ - "color_type":yellowColumn, - "accessorKey":"data.q3.adj_rf" + "data.q3.adj_rf": { + color_type: yellowColumn, + accessorKey: "data.q3.adj_rf", }, - "data.q3.adj_reserve":{ - "color_type":yellowColumn, - "accessorKey":"data.q3.adj_reserve" + "data.q3.adj_reserve": { + color_type: yellowColumn, + accessorKey: "data.q3.adj_reserve", }, - "3_kvartal_2026_perenos_v_4_kv_26_summa_tys_rub_bez_nds":{ - "color_type":redColumn, - "accessorKey":"3_kvartal_2026_perenos_v_4_kv_26_summa_tys_rub_bez_nds" + "3_kvartal_2026_perenos_v_4_kv_26_summa_tys_rub_bez_nds": { + color_type: redColumn, + accessorKey: "3_kvartal_2026_perenos_v_4_kv_26_summa_tys_rub_bez_nds", }, - "data.q3.corrected_plan":{ - "color_type":yellowColumn, - "accessorKey":"data.q3.corrected_plan" + "data.q3.corrected_plan": { + color_type: yellowColumn, + accessorKey: "data.q3.corrected_plan", }, - "data.q3.pay_date":{ - "color_type":blueColumn, - "accessorKey":"data.q3.pay_date" + "data.q3.pay_date": { + color_type: blueColumn, + accessorKey: "data.q3.pay_date", }, - "data.q3.pay_amount":{ - "color_type":blueColumn, - "accessorKey":"data.q3.pay_amount" + "data.q3.pay_amount": { + color_type: blueColumn, + accessorKey: "data.q3.pay_amount", }, - "data.q3.pay_ho":{ - "color_type":blueColumn, - "accessorKey":"data.q3.pay_ho" + "data.q3.pay_ho": { + color_type: blueColumn, + accessorKey: "data.q3.pay_ho", }, - "data.q3.pay_rf":{ - "color_type":blueColumn, - "accessorKey":"data.q3.pay_rf" + "data.q3.pay_rf": { + color_type: blueColumn, + accessorKey: "data.q3.pay_rf", }, - "data.q3.pay_comment":{ - "color_type":blueColumn, - "accessorKey":"data.q3.pay_comment" + "data.q3.pay_comment": { + color_type: blueColumn, + accessorKey: "data.q3.pay_comment", }, - "data.q3.pay_act":{ - "color_type":blueColumn, - "accessorKey":"data.q3.pay_act" + "data.q3.pay_act": { + color_type: blueColumn, + accessorKey: "data.q3.pay_act", }, - "data.q3.booking":{ - "color_type":orangeColumn, - "accessorKey":"data.q3.booking" + "data.q3.booking": { + color_type: orangeColumn, + accessorKey: "data.q3.booking", }, - "data.q3.actual_m1":{ - "color_type":greenColumn, - "accessorKey":"data.q3.actual_m1" + "data.q3.actual_m1": { + color_type: greenColumn, + accessorKey: "data.q3.actual_m1", }, - "data.q3.actual_m2":{ - "color_type":greenColumn, - "accessorKey":"data.q3.actual_m2" + "data.q3.actual_m2": { + color_type: greenColumn, + accessorKey: "data.q3.actual_m2", }, - "data.q3.actual_m3":{ - "color_type":greenColumn, - "accessorKey":"data.q3.actual_m3" + "data.q3.actual_m3": { + color_type: greenColumn, + accessorKey: "data.q3.actual_m3", }, - "data.q3.actual_quarter":{ - "color_type":greenColumn, - "accessorKey":"data.q3.actual_quarter" + "data.q3.actual_quarter": { + color_type: greenColumn, + accessorKey: "data.q3.actual_quarter", }, - "data.q3.rem_booking":{ - "color_type":orangeColumn, - "accessorKey":"data.q3.rem_booking" + "data.q3.rem_booking": { + color_type: orangeColumn, + accessorKey: "data.q3.rem_booking", }, - "data.q3.rem_actual":{ - "color_type":greenColumn, - "accessorKey":"data.q3.rem_actual" + "data.q3.rem_actual": { + color_type: greenColumn, + accessorKey: "data.q3.rem_actual", }, - "data.q3.transfer_q4":{ - "color_type":redColumn, - "accessorKey":"data.q3.transfer_q4" + "data.q3.transfer_q4": { + color_type: redColumn, + accessorKey: "data.q3.transfer_q4", }, - "data.q3.economy":{ - "color_type":redColumn, - "accessorKey":"data.q3.economy" + "data.q3.economy": { + color_type: redColumn, + accessorKey: "data.q3.economy", }, - "data.q3.total":{ - "color_type":redColumn, - "accessorKey":"data.q3.total" + "data.q3.total": { + color_type: redColumn, + accessorKey: "data.q3.total", }, - "data.q4.rev_eco":{ - "color_type":redColumn, - "accessorKey":"data.q4.rev_eco" + "data.q4.rev_eco": { + color_type: redColumn, + accessorKey: "data.q4.rev_eco", }, - "data.q4.rev_item":{ - "color_type":redColumn, - "accessorKey":"data.q4.rev_item" + "data.q4.rev_item": { + color_type: redColumn, + accessorKey: "data.q4.rev_item", }, - "data.q4.rev_inc":{ - "color_type":redColumn, - "accessorKey":"data.q4.rev_inc" + "data.q4.rev_inc": { + color_type: redColumn, + accessorKey: "data.q4.rev_inc", }, - "data.q4.rev_seq":{ - "color_type":redColumn, - "accessorKey":"data.q4.rev_seq" + "data.q4.rev_seq": { + color_type: redColumn, + accessorKey: "data.q4.rev_seq", }, - "data.q4.rev_comment":{ - "color_type":redColumn, - "accessorKey":"data.q4.rev_comment" + "data.q4.rev_comment": { + color_type: redColumn, + accessorKey: "data.q4.rev_comment", }, - "data.q4.adj_comment":{ - "color_type":yellowColumn, - "accessorKey":"data.q4.adj_comment" + "data.q4.adj_comment": { + color_type: yellowColumn, + accessorKey: "data.q4.adj_comment", }, - "data.q4.new_plan":{ - "color_type":yellowColumn, - "accessorKey":"data.q4.new_plan" + "data.q4.new_plan": { + color_type: yellowColumn, + accessorKey: "data.q4.new_plan", }, - "4_kvartal_2026_field_field":{ - "color_type":whiteColumn, - "accessorKey":"4_kvartal_2026_field_field" + "4_kvartal_2026_field_field": { + color_type: whiteColumn, + accessorKey: "4_kvartal_2026_field_field", }, - "data.q4.adj_current":{ - "color_type":yellowColumn, - "accessorKey":"data.q4.adj_current" + "data.q4.adj_current": { + color_type: yellowColumn, + accessorKey: "data.q4.adj_current", }, - "data.q4.adj_ssp":{ - "color_type":yellowColumn, - "accessorKey":"data.q4.adj_ssp" + "data.q4.adj_ssp": { + color_type: yellowColumn, + accessorKey: "data.q4.adj_ssp", }, - "data.q4.adj_rf":{ - "color_type":yellowColumn, - "accessorKey":"data.q4.adj_rf" + "data.q4.adj_rf": { + color_type: yellowColumn, + accessorKey: "data.q4.adj_rf", }, - "data.q4.adj_reserve":{ - "color_type":yellowColumn, - "accessorKey":"data.q4.adj_reserve" + "data.q4.adj_reserve": { + color_type: yellowColumn, + accessorKey: "data.q4.adj_reserve", }, - "data.q4.corrected_plan":{ - "color_type":yellowColumn, - "accessorKey":"data.q4.corrected_plan" + "data.q4.corrected_plan": { + color_type: yellowColumn, + accessorKey: "data.q4.corrected_plan", }, - "data.q4.pay_date":{ - "color_type":blueColumn, - "accessorKey":"data.q4.pay_date" + "data.q4.pay_date": { + color_type: blueColumn, + accessorKey: "data.q4.pay_date", }, - "data.q4.pay_amount":{ - "color_type":blueColumn, - "accessorKey":"data.q4.pay_amount" + "data.q4.pay_amount": { + color_type: blueColumn, + accessorKey: "data.q4.pay_amount", }, - "data.q4.pay_ho":{ - "color_type":blueColumn, - "accessorKey":"data.q4.pay_ho" + "data.q4.pay_ho": { + color_type: blueColumn, + accessorKey: "data.q4.pay_ho", }, - "data.q4.pay_rf":{ - "color_type":blueColumn, - "accessorKey":"data.q4.pay_rf" + "data.q4.pay_rf": { + color_type: blueColumn, + accessorKey: "data.q4.pay_rf", }, - "data.q4.pay_comment":{ - "color_type":blueColumn, - "accessorKey":"data.q4.pay_comment" + "data.q4.pay_comment": { + color_type: blueColumn, + accessorKey: "data.q4.pay_comment", }, - "data.q4.pay_act":{ - "color_type":blueColumn, - "accessorKey":"data.q4.pay_act" + "data.q4.pay_act": { + color_type: blueColumn, + accessorKey: "data.q4.pay_act", }, - "data.q4.booking":{ - "color_type":orangeColumn, - "accessorKey":"data.q4.booking" + "data.q4.booking": { + color_type: orangeColumn, + accessorKey: "data.q4.booking", }, - "data.q4.actual_m1":{ - "color_type":greenColumn, - "accessorKey":"data.q4.actual_m1" + "data.q4.actual_m1": { + color_type: greenColumn, + accessorKey: "data.q4.actual_m1", }, - "data.q4.actual_m2":{ - "color_type":greenColumn, - "accessorKey":"data.q4.actual_m2" + "data.q4.actual_m2": { + color_type: greenColumn, + accessorKey: "data.q4.actual_m2", }, - "data.q4.actual_m3":{ - "color_type":greenColumn, - "accessorKey":"data.q4.actual_m3" + "data.q4.actual_m3": { + color_type: greenColumn, + accessorKey: "data.q4.actual_m3", }, - "data.q4.actual_quarter":{ - "color_type":greenColumn, - "accessorKey":"data.q4.actual_quarter" + "data.q4.actual_quarter": { + color_type: greenColumn, + accessorKey: "data.q4.actual_quarter", }, - "data.q4.actual_spod":{ - "color_type":greenColumn, - "accessorKey":"data.q4.actual_spod" + "data.q4.actual_spod": { + color_type: greenColumn, + accessorKey: "data.q4.actual_spod", }, - "data.q4.rem_booking":{ - "color_type":orangeColumn, - "accessorKey":"data.q4.rem_booking" + "data.q4.rem_booking": { + color_type: orangeColumn, + accessorKey: "data.q4.rem_booking", }, - "data.q4.rem_actual":{ - "color_type":greenColumn, - "accessorKey":"data.q4.rem_actual" + "data.q4.rem_actual": { + color_type: greenColumn, + accessorKey: "data.q4.rem_actual", }, - "4_kvartal_2026_zakrytie_4_go_kvartala_field":{ - "color_type":redColumn, - "accessorKey":"4_kvartal_2026_zakrytie_4_go_kvartala_field" + "4_kvartal_2026_zakrytie_4_go_kvartala_field": { + color_type: redColumn, + accessorKey: "4_kvartal_2026_zakrytie_4_go_kvartala_field", }, - "data.q4.economy":{ - "color_type":redColumn, - "accessorKey":"data.q4.economy" + "data.q4.economy": { + color_type: redColumn, + accessorKey: "data.q4.economy", }, - "data.q4.total":{ - "color_type":redColumn, - "accessorKey":"data.q4.total" + "data.q4.total": { + color_type: redColumn, + accessorKey: "data.q4.total", }, - "data.totals.fact_year":{ - "color_type":greenColumn, - "accessorKey":"data.totals.fact_year" + "data.totals.fact_year": { + color_type: greenColumn, + accessorKey: "data.totals.fact_year", }, - "fakt_field_field":{ - "color_type":whiteColumn, - "accessorKey":"fakt_field_field" + fakt_field_field: { + color_type: whiteColumn, + accessorKey: "fakt_field_field", + }, + "data.totals.pay_year": { + color_type: blueColumn, + accessorKey: "data.totals.pay_year", }, - "data.totals.pay_year":{ - "color_type":blueColumn, - "accessorKey":"data.totals.pay_year" - } }, - "columns":[ + columns: [ { - "header":"Данные", - "accessorKey":"dannye", - "columns":[ + header: "Данные", + accessorKey: "dannye", + columns: [ { - "header":"", - "accessorKey":"dannye_field", - "columns":[ + header: "", + accessorKey: "dannye_field", + columns: [ { - "header":"", - "accessorKey":"dannye_field_field", - "columnLetter":"A", - "size":150, - "filterFn":"contains" - } - ] + header: "", + accessorKey: "dannye_field_field", + columnLetter: "A", + size: 150, + filterFn: "contains", + }, + ], }, { - "header":"Год сметы", - "accessorKey":"dannye_god_smety", - "columns":[ + header: "Год сметы", + accessorKey: "dannye_god_smety", + columns: [ { - "header":"Год сметы", - "accessorKey":"dannye_god_smety_god_smety", - "columnLetter":"B", - "size":150, - "filterFn":"contains" - } - ] + header: "Год сметы", + accessorKey: "dannye_god_smety_god_smety", + columnLetter: "B", + size: 150, + filterFn: "contains", + }, + ], }, { - "header":"Код раздела", - "accessorKey":"dannye_kod_razdela", - "columns":[ + header: "Код раздела", + accessorKey: "dannye_kod_razdela", + columns: [ { - "header":"Код раздела", - "accessorKey":"data.header.section", - "columnLetter":"C", - "size":150, - "filterFn":"contains" - } - ] + header: "Код раздела", + accessorKey: "data.header.section", + columnLetter: "C", + size: 150, + filterFn: "contains", + }, + ], }, { - "header":"ID статьи", - "accessorKey":"dannye_id_stati", - "columns":[ + header: "ID статьи", + accessorKey: "dannye_id_stati", + columns: [ { - "header":"ID статьи", - "accessorKey":"data.header.item_id", - "columnLetter":"D", - "size":150, - "filterFn":"contains" - } - ] + header: "ID статьи", + accessorKey: "data.header.item_id", + columnLetter: "D", + size: 150, + filterFn: "contains", + }, + ], }, { - "header":"ID группы номенклатуры", - "accessorKey":"dannye_id_gruppy_nomenklatury", - "columns":[ + header: "ID группы номенклатуры", + accessorKey: "dannye_id_gruppy_nomenklatury", + columns: [ { - "header":"ID группы номенклатуры", - "accessorKey":"data.header.num_group", - "columnLetter":"E", - "size":150, - "filterFn":"contains" - } - ] + header: "ID группы номенклатуры", + accessorKey: "data.header.num_group", + columnLetter: "E", + size: 150, + filterFn: "contains", + }, + ], }, { - "header":"Наименование", - "accessorKey":"dannye_naimenovanie", - "columns":[ + header: "Наименование", + accessorKey: "dannye_naimenovanie", + columns: [ { - "header":"Наименование", - "accessorKey":"data.header.name", - "columnLetter":"F", - "size":150, - "filterFn":"contains" - } - ] + header: "Наименование", + accessorKey: "data.header.name", + columnLetter: "F", + size: 150, + filterFn: "contains", + }, + ], }, { - "header":"Внутренний заказ", - "accessorKey":"dannye_vnutrenniy_zakaz", - "columns":[ + header: "Внутренний заказ", + accessorKey: "dannye_vnutrenniy_zakaz", + columns: [ { - "header":"Внутренний заказ", - "accessorKey":"data.header.internal_order", - "columnLetter":"G", - "size":150, - "filterFn":"contains" - } - ] - } + header: "Внутренний заказ", + accessorKey: "data.header.internal_order", + columnLetter: "G", + size: 150, + filterFn: "contains", + }, + ], + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Планируемые ССП показатели сметы расходов", - "accessorKey":"planiruemye_ssp_pokazateli_smety_raskhodov", - "columns":[ + header: "Планируемые ССП показатели сметы расходов", + accessorKey: "planiruemye_ssp_pokazateli_smety_raskhodov", + columns: [ { - "header":"План 2026(тыс. руб.) с учетом складского НДС", - "accessorKey":"planiruemye_ssp_pokazateli_smety_raskhodov_plan_2026tys_rub_s_uchetom_skladskogo_nds", - "columns":[ + header: "План 2026(тыс. руб.) с учетом складского НДС", + accessorKey: + "planiruemye_ssp_pokazateli_smety_raskhodov_plan_2026tys_rub_s_uchetom_skladskogo_nds", + columns: [ { - "header":"1 кв. 26", - "accessorKey":"data.plan.q1", - "columnLetter":"H", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "1 кв. 26", + accessorKey: "data.plan.q1", + columnLetter: "H", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"2 кв. 26", - "accessorKey":"data.plan.q2", - "columnLetter":"I", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "2 кв. 26", + accessorKey: "data.plan.q2", + columnLetter: "I", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"3 кв. 26", - "accessorKey":"data.plan.q3", - "columnLetter":"J", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "3 кв. 26", + accessorKey: "data.plan.q3", + columnLetter: "J", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"4 кв. 26", - "accessorKey":"data.plan.q4", - "columnLetter":"K", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "4 кв. 26", + accessorKey: "data.plan.q4", + columnLetter: "K", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Год", - "accessorKey":"data.plan.year", - "columnLetter":"L", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Год", + accessorKey: "data.plan.year", + columnLetter: "L", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Комментарий", - "accessorKey":"data.plan.comment", - "columnLetter":"M", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + header: "Комментарий", + accessorKey: "data.plan.comment", + columnLetter: "M", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Договоры", - "accessorKey":"planiruemye_ssp_pokazateli_smety_raskhodov_dogovory", - "columns":[ + header: "Договоры", + accessorKey: "planiruemye_ssp_pokazateli_smety_raskhodov_dogovory", + columns: [ { - "header":"Сумма", - "accessorKey":"data.contract_summary.total", - "columnLetter":"N", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Сумма", + accessorKey: "data.contract_summary.total", + columnLetter: "N", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Контрагент", - "accessorKey":"data.contract_summary.counterparty", - "columnLetter":"O", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Контрагент", + accessorKey: "data.contract_summary.counterparty", + columnLetter: "O", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Срок", - "accessorKey":"data.contract_summary.deadline", - "columnLetter":"P", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Срок", + accessorKey: "data.contract_summary.deadline", + columnLetter: "P", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Комментарии", - "accessorKey":"data.contract_summary.comment", - "columnLetter":"Q", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Комментарии", + accessorKey: "data.contract_summary.comment", + columnLetter: "Q", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Платежив 2027 году", - "accessorKey":"data.contract_summary.future_y1", - "columnLetter":"R", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Платежив 2027 году", + accessorKey: "data.contract_summary.future_y1", + columnLetter: "R", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Платежив 2028 году", - "accessorKey":"data.contract_summary.future_y2", - "columnLetter":"S", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Платежив 2028 году", + accessorKey: "data.contract_summary.future_y2", + columnLetter: "S", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Сумма в других ССП", - "accessorKey":"data.contract_summary.other_ssp", - "columnLetter":"T", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + header: "Сумма в других ССП", + accessorKey: "data.contract_summary.other_ssp", + columnLetter: "T", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#BFBFBF", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#BFBFBF", + color: "#000000", + }, + }, }, { - "header":"Аллокация расходов", - "accessorKey":"allokatsiya_raskhodov", - "columns":[ + header: "Аллокация расходов", + accessorKey: "allokatsiya_raskhodov", + columns: [ { - "header":"Внутренний заказ", - "accessorKey":"allokatsiya_raskhodov_vnutrenniy_zakaz", - "columns":[ + header: "Внутренний заказ", + accessorKey: "allokatsiya_raskhodov_vnutrenniy_zakaz", + columns: [ { - "header":"Внутренний заказ", - "accessorKey":"data.allocation.order", - "columnLetter":"V", - "size":150, - "filterFn":"contains" - } - ] + header: "Внутренний заказ", + accessorKey: "data.allocation.order", + columnLetter: "V", + size: 150, + filterFn: "contains", + }, + ], }, { - "header":"Объект недвижимости", - "accessorKey":"allokatsiya_raskhodov_obekt_nedvizhimosti", - "columns":[ + header: "Объект недвижимости", + accessorKey: "allokatsiya_raskhodov_obekt_nedvizhimosti", + columns: [ { - "header":"Объект недвижимости", - "accessorKey":"data.allocation.property", - "columnLetter":"W", - "size":150, - "filterFn":"contains" - } - ] - } + header: "Объект недвижимости", + accessorKey: "data.allocation.property", + columnLetter: "W", + size: 150, + filterFn: "contains", + }, + ], + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#BFBFBF", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#BFBFBF", + color: "#000000", + }, + }, }, { - "header":"Секвестирование ДФиП", - "accessorKey":"sekvestirovanie_dfip", - "columns":[ + header: "Секвестирование ДФиП", + accessorKey: "sekvestirovanie_dfip", + columns: [ { - "header":"Корректировка сметы расходов", - "accessorKey":"sekvestirovanie_dfip_korrektirovka_smety_raskhodov", - "columns":[ + header: "Корректировка сметы расходов", + accessorKey: "sekvestirovanie_dfip_korrektirovka_smety_raskhodov", + columns: [ { - "header":"1 кв. 26", - "accessorKey":"data.sequestration.q1", - "columnLetter":"Y", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "1 кв. 26", + accessorKey: "data.sequestration.q1", + columnLetter: "Y", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"2 кв. 26", - "accessorKey":"data.sequestration.q2", - "columnLetter":"Z", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "2 кв. 26", + accessorKey: "data.sequestration.q2", + columnLetter: "Z", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"3 кв. 26", - "accessorKey":"data.sequestration.q3", - "columnLetter":"AA", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "3 кв. 26", + accessorKey: "data.sequestration.q3", + columnLetter: "AA", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"4 кв. 26", - "accessorKey":"data.sequestration.q4", - "columnLetter":"AB", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "4 кв. 26", + accessorKey: "data.sequestration.q4", + columnLetter: "AB", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Год", - "accessorKey":"data.sequestration.year", - "columnLetter":"AC", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + header: "Год", + accessorKey: "data.sequestration.year", + columnLetter: "AC", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Обоснование", - "accessorKey":"sekvestirovanie_dfip_obosnovanie", - "columns":[ + header: "Обоснование", + accessorKey: "sekvestirovanie_dfip_obosnovanie", + columns: [ { - "header":"Обоснование", - "accessorKey":"data.sequestration.justification", - "columnLetter":"AD", - "size":150, - "filterFn":"contains" - } + header: "Обоснование", + accessorKey: "data.sequestration.justification", + columnLetter: "AD", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#BFBFBF", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#BFBFBF", + color: "#000000", + }, + }, }, { - "header":"Отнесение в резерв", - "accessorKey":"otnesenie_v_rezerv", - "columns":[ + header: "Отнесение в резерв", + accessorKey: "otnesenie_v_rezerv", + columns: [ { - "header":"Резерв Финансового Комитета", - "accessorKey":"otnesenie_v_rezerv_rezerv_finansovogo_komiteta", - "columns":[ + header: "Резерв Финансового Комитета", + accessorKey: "otnesenie_v_rezerv_rezerv_finansovogo_komiteta", + columns: [ { - "header":"1 кв. 26", - "accessorKey":"data.reserve.q1", - "columnLetter":"AF", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "1 кв. 26", + accessorKey: "data.reserve.q1", + columnLetter: "AF", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"2 кв. 26", - "accessorKey":"data.reserve.q2", - "columnLetter":"AG", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "2 кв. 26", + accessorKey: "data.reserve.q2", + columnLetter: "AG", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"3 кв. 26", - "accessorKey":"data.reserve.q3", - "columnLetter":"AH", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "3 кв. 26", + accessorKey: "data.reserve.q3", + columnLetter: "AH", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"4 кв. 26", - "accessorKey":"data.reserve.q4", - "columnLetter":"AI", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "4 кв. 26", + accessorKey: "data.reserve.q4", + columnLetter: "AI", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Год", - "accessorKey":"data.reserve.year", - "columnLetter":"AJ", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + header: "Год", + accessorKey: "data.reserve.year", + columnLetter: "AJ", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Обоснование", - "accessorKey":"otnesenie_v_rezerv_obosnovanie", - "columns":[ + header: "Обоснование", + accessorKey: "otnesenie_v_rezerv_obosnovanie", + columns: [ { - "header":"Обоснование", - "accessorKey":"data.reserve.justification", - "columnLetter":"AK", - "size":150, - "filterFn":"contains" - } + header: "Обоснование", + accessorKey: "data.reserve.justification", + columnLetter: "AK", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#BFBFBF", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#BFBFBF", + color: "#000000", + }, + }, }, { - "header":"Итоговая смета расходов", - "accessorKey":"itogovaya_smeta_raskhodov", - "columns":[ + header: "Итоговая смета расходов", + accessorKey: "itogovaya_smeta_raskhodov", + columns: [ { - "header":"План 2026", - "accessorKey":"itogovaya_smeta_raskhodov_plan_2026", - "columns":[ + header: "План 2026", + accessorKey: "itogovaya_smeta_raskhodov_plan_2026", + columns: [ { - "header":"1 кв. 26", - "accessorKey":"data.approved.q1", - "columnLetter":"AM", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "1 кв. 26", + accessorKey: "data.approved.q1", + columnLetter: "AM", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"2 кв. 26", - "accessorKey":"data.approved.q2", - "columnLetter":"AN", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "2 кв. 26", + accessorKey: "data.approved.q2", + columnLetter: "AN", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"3 кв. 26", - "accessorKey":"data.approved.q3", - "columnLetter":"AO", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "3 кв. 26", + accessorKey: "data.approved.q3", + columnLetter: "AO", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"4 кв. 26", - "accessorKey":"data.approved.q4", - "columnLetter":"AP", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "4 кв. 26", + accessorKey: "data.approved.q4", + columnLetter: "AP", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Год", - "accessorKey":"data.approved.year", - "columnLetter":"AQ", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + header: "Год", + accessorKey: "data.approved.year", + columnLetter: "AQ", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#BFBFBF", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#BFBFBF", + color: "#000000", + }, + }, }, { - "header":"", - "accessorKey":"field", - "columns":[ + header: "", + accessorKey: "field", + columns: [ { - "header":"Коллегиальные органы", - "accessorKey":"field_kollegialnye_organy", - "columns":[ + header: "Коллегиальные органы", + accessorKey: "field_kollegialnye_organy", + columns: [ { - "header":"Сумма (без НДС)", - "accessorKey":"data.collegial.approved", - "columnLetter":"AS", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Сумма (без НДС)", + accessorKey: "data.collegial.approved", + columnLetter: "AS", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Реквизиты протокола (дата, номер)", - "accessorKey":"data.collegial.protocol", - "columnLetter":"AT", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Реквизиты протокола (дата, номер)", + accessorKey: "data.collegial.protocol", + columnLetter: "AT", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"", - "accessorKey":"field_kollegialnye_organy_field", - "columnLetter":"AU", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "", + accessorKey: "field_kollegialnye_organy_field", + columnLetter: "AU", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Примечание", - "accessorKey":"data.collegial.note", - "columnLetter":"AV", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + header: "Примечание", + accessorKey: "data.collegial.note", + columnLetter: "AV", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FABF8F", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FABF8F", + color: "#000000", + }, + }, }, { - "header":"ЦКК", - "accessorKey":"field_tskk", - "columns":[ + header: "ЦКК", + accessorKey: "field_tskk", + columns: [ { - "header":"Предельная ст-ть, тыс. руб. (без НДС)", - "accessorKey":"data.ckk.ceiling", - "columnLetter":"AX", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Предельная ст-ть, тыс. руб. (без НДС)", + accessorKey: "data.ckk.ceiling", + columnLetter: "AX", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Расходы 1 кв. 2026 г. тыс. руб. (без НДС)", - "accessorKey":"data.ckk.q1", - "columnLetter":"AY", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#748C42", - "color":"#000000" - } - } + header: "Расходы 1 кв. 2026 г. тыс. руб. (без НДС)", + accessorKey: "data.ckk.q1", + columnLetter: "AY", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#748C42", + color: "#000000", + }, + }, }, { - "header":"Расходы 2 кв. 2026 г. тыс. руб. (без НДС)", - "accessorKey":"data.ckk.q2", - "columnLetter":"AZ", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#748C42", - "color":"#000000" - } - } + header: "Расходы 2 кв. 2026 г. тыс. руб. (без НДС)", + accessorKey: "data.ckk.q2", + columnLetter: "AZ", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#748C42", + color: "#000000", + }, + }, }, { - "header":"Расходы 3 кв. 2026 г. тыс. руб. (без НДС)", - "accessorKey":"data.ckk.q3", - "columnLetter":"BA", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#748C42", - "color":"#000000" - } - } + header: "Расходы 3 кв. 2026 г. тыс. руб. (без НДС)", + accessorKey: "data.ckk.q3", + columnLetter: "BA", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#748C42", + color: "#000000", + }, + }, }, { - "header":"Расходы 4 кв. 2026 г. тыс. руб. (без НДС)", - "accessorKey":"data.ckk.q4", - "columnLetter":"BB", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#748C42", - "color":"#000000" - } - } + header: "Расходы 4 кв. 2026 г. тыс. руб. (без НДС)", + accessorKey: "data.ckk.q4", + columnLetter: "BB", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#748C42", + color: "#000000", + }, + }, }, { - "header":"по сметам РФ (1 кв, 2 кв, 3 кв, 4 кв)", - "accessorKey":"data.ckk.rf_schedule", - "columnLetter":"BC", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "по сметам РФ (1 кв, 2 кв, 3 кв, 4 кв)", + accessorKey: "data.ckk.rf_schedule", + columnLetter: "BC", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Срок поставки", - "accessorKey":"data.ckk.deadline", - "columnLetter":"BD", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Срок поставки", + accessorKey: "data.ckk.deadline", + columnLetter: "BD", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"План закупок", - "accessorKey":"data.ckk.proc_plan", - "columnLetter":"BE", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "План закупок", + accessorKey: "data.ckk.proc_plan", + columnLetter: "BE", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Способ закупки", - "accessorKey":"data.ckk.proc_method", - "columnLetter":"BF", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Способ закупки", + accessorKey: "data.ckk.proc_method", + columnLetter: "BF", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Комментарий", - "accessorKey":"data.ckk.comment", - "columnLetter":"BG", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + header: "Комментарий", + accessorKey: "data.ckk.comment", + columnLetter: "BG", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FABF8F", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FABF8F", + color: "#000000", + }, + }, }, { - "header":"Договор", - "accessorKey":"field_dogovor", - "columns":[ + header: "Договор", + accessorKey: "field_dogovor", + columns: [ { - "header":"Контрагент", - "accessorKey":"data.contract_detail.counterparty", - "columnLetter":"BI", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Контрагент", + accessorKey: "data.contract_detail.counterparty", + columnLetter: "BI", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Договор (реквизиты)", - "accessorKey":"data.contract_detail.reference", - "columnLetter":"BJ", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Договор (реквизиты)", + accessorKey: "data.contract_detail.reference", + columnLetter: "BJ", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Доп.соглашения, спецификации и пр. (реквизиты)", - "accessorKey":"data.contract_detail.addenda", - "columnLetter":"BK", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Доп.соглашения, спецификации и пр. (реквизиты)", + accessorKey: "data.contract_detail.addenda", + columnLetter: "BK", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Предмет", - "accessorKey":"data.contract_detail.subject", - "columnLetter":"BL", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Предмет", + accessorKey: "data.contract_detail.subject", + columnLetter: "BL", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Валюта договора", - "accessorKey":"data.contract_detail.currency", - "columnLetter":"BM", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Валюта договора", + accessorKey: "data.contract_detail.currency", + columnLetter: "BM", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Предельная ст-ть, тыс. руб. (без НДС)", - "accessorKey":"data.contract_detail.ceiling", - "columnLetter":"BN", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Предельная ст-ть, тыс. руб. (без НДС)", + accessorKey: "data.contract_detail.ceiling", + columnLetter: "BN", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Расходы 1 кв. 2026 г. тыс. руб. (без НДС)", - "accessorKey":"data.contract_detail.q1", - "columnLetter":"BO", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#748C42", - "color":"#000000" - } - } + header: "Расходы 1 кв. 2026 г. тыс. руб. (без НДС)", + accessorKey: "data.contract_detail.q1", + columnLetter: "BO", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#748C42", + color: "#000000", + }, + }, }, { - "header":"Расходы 2 кв. 2026 г. тыс. руб. (без НДС)", - "accessorKey":"data.contract_detail.q2", - "columnLetter":"BP", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#748C42", - "color":"#000000" - } - } + header: "Расходы 2 кв. 2026 г. тыс. руб. (без НДС)", + accessorKey: "data.contract_detail.q2", + columnLetter: "BP", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#748C42", + color: "#000000", + }, + }, }, { - "header":"Расходы 3 кв. 2026 г. тыс. руб. (без НДС)", - "accessorKey":"data.contract_detail.q3", - "columnLetter":"BQ", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#748C42", - "color":"#000000" - } - } + header: "Расходы 3 кв. 2026 г. тыс. руб. (без НДС)", + accessorKey: "data.contract_detail.q3", + columnLetter: "BQ", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#748C42", + color: "#000000", + }, + }, }, { - "header":"Расходы 4 кв. 2026 г. тыс. руб. (без НДС)", - "accessorKey":"data.contract_detail.q4", - "columnLetter":"BR", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#748C42", - "color":"#000000" - } - } + header: "Расходы 4 кв. 2026 г. тыс. руб. (без НДС)", + accessorKey: "data.contract_detail.q4", + columnLetter: "BR", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#748C42", + color: "#000000", + }, + }, }, { - "header":"по сметам РФ (1 кв, 2 кв, 3 кв, 4 кв)", - "accessorKey":"data.contract_detail.rf_schedule", - "columnLetter":"BS", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "по сметам РФ (1 кв, 2 кв, 3 кв, 4 кв)", + accessorKey: "data.contract_detail.rf_schedule", + columnLetter: "BS", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Ставка НДС (%)", - "accessorKey":"data.contract_detail.vat_rate", - "columnLetter":"BT", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Ставка НДС (%)", + accessorKey: "data.contract_detail.vat_rate", + columnLetter: "BT", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Курс пересчета", - "accessorKey":"data.contract_detail.exchange_rate", - "columnLetter":"BU", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Курс пересчета", + accessorKey: "data.contract_detail.exchange_rate", + columnLetter: "BU", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Сумма (без НДС), вал (без НДС)", - "accessorKey":"data.contract_detail.amount_foreign", - "columnLetter":"BV", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Сумма (без НДС), вал (без НДС)", + accessorKey: "data.contract_detail.amount_foreign", + columnLetter: "BV", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Срок", - "accessorKey":"data.contract_detail.deadline", - "columnLetter":"BW", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Срок", + accessorKey: "data.contract_detail.deadline", + columnLetter: "BW", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Схема платежа", - "accessorKey":"data.contract_detail.payment_scheme", - "columnLetter":"BX", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "Схема платежа", + accessorKey: "data.contract_detail.payment_scheme", + columnLetter: "BX", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"АКТ", - "accessorKey":"data.contract_detail.act", - "columnLetter":"BY", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + header: "АКТ", + accessorKey: "data.contract_detail.act", + columnLetter: "BY", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Комментарий", - "accessorKey":"data.contract_detail.comment", - "columnLetter":"BZ", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + header: "Комментарий", + accessorKey: "data.contract_detail.comment", + columnLetter: "BZ", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FABF8F", - "color":"#000000" - } - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FABF8F", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"1 квартал 2026", - "accessorKey":"1_kvartal_2026", - "columns":[ + header: "1 квартал 2026", + accessorKey: "1_kvartal_2026", + columns: [ { - "header":"Текущие корректировки( = 0)", - "accessorKey":"1_kvartal_2026_tekuschie_korrektirovki_0", - "columns":[ + header: "Текущие корректировки( = 0)", + accessorKey: "1_kvartal_2026_tekuschie_korrektirovki_0", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q1.adj_current", - "columnLetter":"CB", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q1.adj_current", + columnLetter: "CB", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"Корректировки с ССП / сметой развития", - "accessorKey":"1_kvartal_2026_korrektirovki_s_ssp_smetoy_razvitiya", - "columns":[ + header: "Корректировки с ССП / сметой развития", + accessorKey: "1_kvartal_2026_korrektirovki_s_ssp_smetoy_razvitiya", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q1.adj_ssp", - "columnLetter":"CC", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q1.adj_ssp", + columnLetter: "CC", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"Корректировки с РФ", - "accessorKey":"1_kvartal_2026_korrektirovki_s_rf", - "columns":[ + header: "Корректировки с РФ", + accessorKey: "1_kvartal_2026_korrektirovki_s_rf", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q1.adj_rf", - "columnLetter":"CD", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q1.adj_rf", + columnLetter: "CD", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"Корректировки из резерва", - "accessorKey":"1_kvartal_2026_korrektirovki_iz_rezerva", - "columns":[ + header: "Корректировки из резерва", + accessorKey: "1_kvartal_2026_korrektirovki_iz_rezerva", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q1.adj_reserve", - "columnLetter":"CE", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q1.adj_reserve", + columnLetter: "CE", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"Перенос во 2 кв 26", - "accessorKey":"1_kvartal_2026_perenos_vo_2_kv_26", - "columns":[ + header: "Перенос во 2 кв 26", + accessorKey: "1_kvartal_2026_perenos_vo_2_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"1_kvartal_2026_perenos_vo_2_kv_26_summa_tys_rub_bez_nds", - "columnLetter":"CF", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: + "1_kvartal_2026_perenos_vo_2_kv_26_summa_tys_rub_bez_nds", + columnLetter: "CF", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Комментарий", - "accessorKey":"1_kvartal_2026_kommentariy", - "columns":[ + header: "Комментарий", + accessorKey: "1_kvartal_2026_kommentariy", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q1.adj_comment", - "columnLetter":"CG", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q1.adj_comment", + columnLetter: "CG", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"Скорр. план 1 кв. 26", - "accessorKey":"1_kvartal_2026_skorr_plan_1_kv_26", - "columns":[ + header: "Скорр. план 1 кв. 26", + accessorKey: "1_kvartal_2026_skorr_plan_1_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q1.corrected_plan", - "columnLetter":"CH", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q1.corrected_plan", + columnLetter: "CH", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"", - "accessorKey":"1_kvartal_2026_field", - "columns":[ + header: "", + accessorKey: "1_kvartal_2026_field", + columns: [ { - "header":"", - "accessorKey":"1_kvartal_2026_field_field", - "columnLetter":"CI", - "size":150, - "filterFn":"contains" - } + header: "", + accessorKey: "1_kvartal_2026_field_field", + columnLetter: "CI", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Платеж и предоставление акта", - "accessorKey":"1_kvartal_2026_platezh_i_predostavlenie_akta", - "columns":[ + header: "Платеж и предоставление акта", + accessorKey: "1_kvartal_2026_platezh_i_predostavlenie_akta", + columns: [ { - "header":"Дата платежа", - "accessorKey":"data.q1.pay_date", - "columnLetter":"CJ", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + header: "Дата платежа", + accessorKey: "data.q1.pay_date", + columnLetter: "CJ", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q1.pay_amount", - "columnLetter":"CK", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q1.pay_amount", + columnLetter: "CK", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"в т.ч. сумма (без НДС) ГО", - "accessorKey":"data.q1.pay_ho", - "columnLetter":"CL", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + header: "в т.ч. сумма (без НДС) ГО", + accessorKey: "data.q1.pay_ho", + columnLetter: "CL", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"в т.ч. сумма (без НДС) РФ", - "accessorKey":"data.q1.pay_rf", - "columnLetter":"CM", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + header: "в т.ч. сумма (без НДС) РФ", + accessorKey: "data.q1.pay_rf", + columnLetter: "CM", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"Комментарий", - "accessorKey":"data.q1.pay_comment", - "columnLetter":"CN", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + header: "Комментарий", + accessorKey: "data.q1.pay_comment", + columnLetter: "CN", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"Предоставление акта (др. подтверждения)", - "accessorKey":"data.q1.pay_act", - "columnLetter":"CO", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } - } + header: "Предоставление акта (др. подтверждения)", + accessorKey: "data.q1.pay_act", + columnLetter: "CO", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"Бронь 1 кв 26", - "accessorKey":"1_kvartal_2026_bron_1_kv_26", - "columns":[ + header: "Бронь 1 кв 26", + accessorKey: "1_kvartal_2026_bron_1_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q1.booking", - "columnLetter":"CQ", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q1.booking", + columnLetter: "CQ", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FABF8F", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FABF8F", + color: "#000000", + }, + }, }, { - "header":"Факт РСБУ Январь 26", - "accessorKey":"1_kvartal_2026_fakt_rsbu_yanvar_26", - "columns":[ + header: "Факт РСБУ Январь 26", + accessorKey: "1_kvartal_2026_fakt_rsbu_yanvar_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q1.actual_m1", - "columnLetter":"CR", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q1.actual_m1", + columnLetter: "CR", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Факт РСБУ Февраль 26", - "accessorKey":"1_kvartal_2026_fakt_rsbu_fevral_26", - "columns":[ + header: "Факт РСБУ Февраль 26", + accessorKey: "1_kvartal_2026_fakt_rsbu_fevral_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q1.actual_m2", - "columnLetter":"CS", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q1.actual_m2", + columnLetter: "CS", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Факт РСБУ Март 26", - "accessorKey":"1_kvartal_2026_fakt_rsbu_mart_26", - "columns":[ + header: "Факт РСБУ Март 26", + accessorKey: "1_kvartal_2026_fakt_rsbu_mart_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q1.actual_m3", - "columnLetter":"CT", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q1.actual_m3", + columnLetter: "CT", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Факт РСБУ 1 кв 26", - "accessorKey":"1_kvartal_2026_fakt_rsbu_1_kv_26", - "columns":[ + header: "Факт РСБУ 1 кв 26", + accessorKey: "1_kvartal_2026_fakt_rsbu_1_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q1.actual_quarter", - "columnLetter":"CU", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q1.actual_quarter", + columnLetter: "CU", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Остаток после брони 1 кв. 26", - "accessorKey":"1_kvartal_2026_ostatok_posle_broni_1_kv_26", - "columns":[ + header: "Остаток после брони 1 кв. 26", + accessorKey: "1_kvartal_2026_ostatok_posle_broni_1_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q1.rem_booking", - "columnLetter":"CV", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q1.rem_booking", + columnLetter: "CV", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FABF8F", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FABF8F", + color: "#000000", + }, + }, }, { - "header":"Остаток после факта 1 кв. 26", - "accessorKey":"1_kvartal_2026_ostatok_posle_fakta_1_kv_26", - "columns":[ + header: "Остаток после факта 1 кв. 26", + accessorKey: "1_kvartal_2026_ostatok_posle_fakta_1_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q1.rem_actual", - "columnLetter":"CW", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q1.rem_actual", + columnLetter: "CW", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Закрытие 1-го квартала", - "accessorKey":"1_kvartal_2026_zakrytie_1_go_kvartala", - "columns":[ + header: "Закрытие 1-го квартала", + accessorKey: "1_kvartal_2026_zakrytie_1_go_kvartala", + columns: [ { - "header":"Перенос во 2 кв.26", - "accessorKey":"data.q1.transfer_q2", - "columnLetter":"CY", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + header: "Перенос во 2 кв.26", + accessorKey: "data.q1.transfer_q2", + columnLetter: "CY", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Перенос в 3 кв.26", - "accessorKey":"data.q1.transfer_q3", - "columnLetter":"CZ", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + header: "Перенос в 3 кв.26", + accessorKey: "data.q1.transfer_q3", + columnLetter: "CZ", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Перенос в 4 кв.26", - "accessorKey":"data.q1.transfer_q4", - "columnLetter":"DA", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + header: "Перенос в 4 кв.26", + accessorKey: "data.q1.transfer_q4", + columnLetter: "DA", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Перенос в фонд экономии", - "accessorKey":"data.q1.economy", - "columnLetter":"DB", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + header: "Перенос в фонд экономии", + accessorKey: "data.q1.economy", + columnLetter: "DB", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"ВСЕГО", - "accessorKey":"data.q1.total", - "columnLetter":"DC", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } - } + header: "ВСЕГО", + accessorKey: "data.q1.total", + columnLetter: "DC", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"2 квартал 2026", - "accessorKey":"2_kvartal_2026", - "columns":[ + header: "2 квартал 2026", + accessorKey: "2_kvartal_2026", + columns: [ { - "header":"Изменение целевого назначения перенесенной экономии ( =0)", - "accessorKey":"2_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0", - "columns":[ + header: "Изменение целевого назначения перенесенной экономии ( =0)", + accessorKey: + "2_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q2.rev_eco", - "columnLetter":"DE", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q2.rev_eco", + columnLetter: "DE", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Корректировка статей базового плана ( =0)", - "accessorKey":"2_kvartal_2026_korrektirovka_statey_bazovogo_plana_0", - "columns":[ + header: "Корректировка статей базового плана ( =0)", + accessorKey: "2_kvartal_2026_korrektirovka_statey_bazovogo_plana_0", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q2.rev_item", - "columnLetter":"DF", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q2.rev_item", + columnLetter: "DF", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Увеличение базового плана( >0)", - "accessorKey":"2_kvartal_2026_uvelichenie_bazovogo_plana_0", - "columns":[ + header: "Увеличение базового плана( >0)", + accessorKey: "2_kvartal_2026_uvelichenie_bazovogo_plana_0", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q2.rev_inc", - "columnLetter":"DG", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q2.rev_inc", + columnLetter: "DG", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Cеквестр базового плана( <0)", - "accessorKey":"2_kvartal_2026_cekvestr_bazovogo_plana_0", - "columns":[ + header: "Cеквестр базового плана( <0)", + accessorKey: "2_kvartal_2026_cekvestr_bazovogo_plana_0", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q2.rev_seq", - "columnLetter":"DH", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q2.rev_seq", + columnLetter: "DH", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Комментарий", - "accessorKey":"2_kvartal_2026_kommentariy", - "columns":[ + header: "Комментарий", + accessorKey: "2_kvartal_2026_kommentariy", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q2.rev_comment", - "columnLetter":"DI", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q2.rev_comment", + columnLetter: "DI", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Новый план 2 кв 26", - "accessorKey":"2_kvartal_2026_novyy_plan_2_kv_26", - "columns":[ + header: "Новый план 2 кв 26", + accessorKey: "2_kvartal_2026_novyy_plan_2_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q2.new_plan", - "columnLetter":"DJ", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q2.new_plan", + columnLetter: "DJ", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"", - "accessorKey":"2_kvartal_2026_field", - "columns":[ + header: "", + accessorKey: "2_kvartal_2026_field", + columns: [ { - "header":"", - "accessorKey":"2_kvartal_2026_field_field", - "columnLetter":"DK", - "size":150, - "filterFn":"contains" - } + header: "", + accessorKey: "2_kvartal_2026_field_field", + columnLetter: "DK", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Текущие корректировки( = 0)", - "accessorKey":"2_kvartal_2026_tekuschie_korrektirovki_0", - "columns":[ + header: "Текущие корректировки( = 0)", + accessorKey: "2_kvartal_2026_tekuschie_korrektirovki_0", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q2.adj_current", - "columnLetter":"DL", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q2.adj_current", + columnLetter: "DL", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"Корректировки с ССП / сметой развития", - "accessorKey":"2_kvartal_2026_korrektirovki_s_ssp_smetoy_razvitiya", - "columns":[ + header: "Корректировки с ССП / сметой развития", + accessorKey: "2_kvartal_2026_korrektirovki_s_ssp_smetoy_razvitiya", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q2.adj_ssp", - "columnLetter":"DM", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q2.adj_ssp", + columnLetter: "DM", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"Корректировки с РФ", - "accessorKey":"2_kvartal_2026_korrektirovki_s_rf", - "columns":[ + header: "Корректировки с РФ", + accessorKey: "2_kvartal_2026_korrektirovki_s_rf", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q2.adj_rf", - "columnLetter":"DN", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q2.adj_rf", + columnLetter: "DN", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"Корректировки из резерва", - "accessorKey":"2_kvartal_2026_korrektirovki_iz_rezerva", - "columns":[ + header: "Корректировки из резерва", + accessorKey: "2_kvartal_2026_korrektirovki_iz_rezerva", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q2.adj_reserve", - "columnLetter":"DO", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q2.adj_reserve", + columnLetter: "DO", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"Перенос в 3 кв 26", - "accessorKey":"2_kvartal_2026_perenos_v_3_kv_26", - "columns":[ + header: "Перенос в 3 кв 26", + accessorKey: "2_kvartal_2026_perenos_v_3_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"2_kvartal_2026_perenos_v_3_kv_26_summa_tys_rub_bez_nds", - "columnLetter":"DP", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: + "2_kvartal_2026_perenos_v_3_kv_26_summa_tys_rub_bez_nds", + columnLetter: "DP", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Скорр. план 2 кв. 26", - "accessorKey":"2_kvartal_2026_skorr_plan_2_kv_26", - "columns":[ + header: "Скорр. план 2 кв. 26", + accessorKey: "2_kvartal_2026_skorr_plan_2_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q2.corrected_plan", - "columnLetter":"DR", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q2.corrected_plan", + columnLetter: "DR", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"Платеж и предоставление акта", - "accessorKey":"2_kvartal_2026_platezh_i_predostavlenie_akta", - "columns":[ + header: "Платеж и предоставление акта", + accessorKey: "2_kvartal_2026_platezh_i_predostavlenie_akta", + columns: [ { - "header":"Дата платежа", - "accessorKey":"data.q2.pay_date", - "columnLetter":"DT", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + header: "Дата платежа", + accessorKey: "data.q2.pay_date", + columnLetter: "DT", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q2.pay_amount", - "columnLetter":"DU", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q2.pay_amount", + columnLetter: "DU", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"в т.ч. сумма (без НДС) ГО", - "accessorKey":"data.q2.pay_ho", - "columnLetter":"DV", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + header: "в т.ч. сумма (без НДС) ГО", + accessorKey: "data.q2.pay_ho", + columnLetter: "DV", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"в т.ч. сумма (без НДС) РФ", - "accessorKey":"data.q2.pay_rf", - "columnLetter":"DW", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + header: "в т.ч. сумма (без НДС) РФ", + accessorKey: "data.q2.pay_rf", + columnLetter: "DW", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"Комментарий", - "accessorKey":"data.q2.pay_comment", - "columnLetter":"DX", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + header: "Комментарий", + accessorKey: "data.q2.pay_comment", + columnLetter: "DX", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"Предоставление акта (др. подтверждения)", - "accessorKey":"data.q2.pay_act", - "columnLetter":"DY", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } - } + header: "Предоставление акта (др. подтверждения)", + accessorKey: "data.q2.pay_act", + columnLetter: "DY", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"Бронь 2 кв 26", - "accessorKey":"2_kvartal_2026_bron_2_kv_26", - "columns":[ + header: "Бронь 2 кв 26", + accessorKey: "2_kvartal_2026_bron_2_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q2.booking", - "columnLetter":"EA", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q2.booking", + columnLetter: "EA", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FABF8F", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FABF8F", + color: "#000000", + }, + }, }, { - "header":"Факт РСБУ апрель 26", - "accessorKey":"2_kvartal_2026_fakt_rsbu_aprel_26", - "columns":[ + header: "Факт РСБУ апрель 26", + accessorKey: "2_kvartal_2026_fakt_rsbu_aprel_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q2.actual_m1", - "columnLetter":"EB", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q2.actual_m1", + columnLetter: "EB", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Факт РСБУ май 26", - "accessorKey":"2_kvartal_2026_fakt_rsbu_may_26", - "columns":[ + header: "Факт РСБУ май 26", + accessorKey: "2_kvartal_2026_fakt_rsbu_may_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q2.actual_m2", - "columnLetter":"EC", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q2.actual_m2", + columnLetter: "EC", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Факт РСБУ июнь 26", - "accessorKey":"2_kvartal_2026_fakt_rsbu_iyun_26", - "columns":[ + header: "Факт РСБУ июнь 26", + accessorKey: "2_kvartal_2026_fakt_rsbu_iyun_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q2.actual_m3", - "columnLetter":"ED", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q2.actual_m3", + columnLetter: "ED", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Факт РСБУ 2 кв 26", - "accessorKey":"2_kvartal_2026_fakt_rsbu_2_kv_26", - "columns":[ + header: "Факт РСБУ 2 кв 26", + accessorKey: "2_kvartal_2026_fakt_rsbu_2_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q2.actual_quarter", - "columnLetter":"EE", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q2.actual_quarter", + columnLetter: "EE", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Остаток после брони 2 кв. 26", - "accessorKey":"2_kvartal_2026_ostatok_posle_broni_2_kv_26", - "columns":[ + header: "Остаток после брони 2 кв. 26", + accessorKey: "2_kvartal_2026_ostatok_posle_broni_2_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q2.rem_booking", - "columnLetter":"EF", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q2.rem_booking", + columnLetter: "EF", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FABF8F", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FABF8F", + color: "#000000", + }, + }, }, { - "header":"Остаток после факта 2 кв. 26", - "accessorKey":"2_kvartal_2026_ostatok_posle_fakta_2_kv_26", - "columns":[ + header: "Остаток после факта 2 кв. 26", + accessorKey: "2_kvartal_2026_ostatok_posle_fakta_2_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q2.rem_actual", - "columnLetter":"EG", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q2.rem_actual", + columnLetter: "EG", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Закрытие 2-го квартала", - "accessorKey":"2_kvartal_2026_zakrytie_2_go_kvartala", - "columns":[ + header: "Закрытие 2-го квартала", + accessorKey: "2_kvartal_2026_zakrytie_2_go_kvartala", + columns: [ { - "header":"Перенос в 3 кв.26", - "accessorKey":"data.q2.transfer_q3", - "columnLetter":"EI", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + header: "Перенос в 3 кв.26", + accessorKey: "data.q2.transfer_q3", + columnLetter: "EI", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Перенос в 4 кв.26", - "accessorKey":"data.q2.transfer_q4", - "columnLetter":"EJ", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + header: "Перенос в 4 кв.26", + accessorKey: "data.q2.transfer_q4", + columnLetter: "EJ", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Перенос в фонд экономии", - "accessorKey":"data.q2.economy", - "columnLetter":"EK", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + header: "Перенос в фонд экономии", + accessorKey: "data.q2.economy", + columnLetter: "EK", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"ВСЕГО", - "accessorKey":"data.q2.total", - "columnLetter":"EL", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } - } + header: "ВСЕГО", + accessorKey: "data.q2.total", + columnLetter: "EL", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"3 квартал 2026", - "accessorKey":"3_kvartal_2026", - "columns":[ + header: "3 квартал 2026", + accessorKey: "3_kvartal_2026", + columns: [ { - "header":"Изменение целевого назначения перенесенной экономии ( =0)", - "accessorKey":"3_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0", - "columns":[ + header: "Изменение целевого назначения перенесенной экономии ( =0)", + accessorKey: + "3_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q3.rev_eco", - "columnLetter":"EN", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q3.rev_eco", + columnLetter: "EN", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Корректировка статей базового плана ( =0)", - "accessorKey":"3_kvartal_2026_korrektirovka_statey_bazovogo_plana_0", - "columns":[ + header: "Корректировка статей базового плана ( =0)", + accessorKey: "3_kvartal_2026_korrektirovka_statey_bazovogo_plana_0", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q3.rev_item", - "columnLetter":"EO", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q3.rev_item", + columnLetter: "EO", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Увеличение базового плана( >0)", - "accessorKey":"3_kvartal_2026_uvelichenie_bazovogo_plana_0", - "columns":[ + header: "Увеличение базового плана( >0)", + accessorKey: "3_kvartal_2026_uvelichenie_bazovogo_plana_0", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q3.rev_inc", - "columnLetter":"EP", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q3.rev_inc", + columnLetter: "EP", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Cеквестр базового плана( <0)", - "accessorKey":"3_kvartal_2026_cekvestr_bazovogo_plana_0", - "columns":[ + header: "Cеквестр базового плана( <0)", + accessorKey: "3_kvartal_2026_cekvestr_bazovogo_plana_0", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q3.rev_seq", - "columnLetter":"EQ", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q3.rev_seq", + columnLetter: "EQ", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Комментарий", - "accessorKey":"3_kvartal_2026_kommentariy", - "columns":[ + header: "Комментарий", + accessorKey: "3_kvartal_2026_kommentariy", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q3.rev_comment", - "columnLetter":"ER", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q3.rev_comment", + columnLetter: "ER", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Новый план 3 кв 26", - "accessorKey":"3_kvartal_2026_novyy_plan_3_kv_26", - "columns":[ + header: "Новый план 3 кв 26", + accessorKey: "3_kvartal_2026_novyy_plan_3_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q3.new_plan", - "columnLetter":"ES", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q3.new_plan", + columnLetter: "ES", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"", - "accessorKey":"3_kvartal_2026_field", - "columns":[ + header: "", + accessorKey: "3_kvartal_2026_field", + columns: [ { - "header":"", - "accessorKey":"3_kvartal_2026_field_field", - "columnLetter":"ET", - "size":150, - "filterFn":"contains" - } + header: "", + accessorKey: "3_kvartal_2026_field_field", + columnLetter: "ET", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Текущие корректировки( = 0)", - "accessorKey":"3_kvartal_2026_tekuschie_korrektirovki_0", - "columns":[ + header: "Текущие корректировки( = 0)", + accessorKey: "3_kvartal_2026_tekuschie_korrektirovki_0", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q3.adj_current", - "columnLetter":"EU", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q3.adj_current", + columnLetter: "EU", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"Корректировки с ССП / сметой развития", - "accessorKey":"3_kvartal_2026_korrektirovki_s_ssp_smetoy_razvitiya", - "columns":[ + header: "Корректировки с ССП / сметой развития", + accessorKey: "3_kvartal_2026_korrektirovki_s_ssp_smetoy_razvitiya", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q3.adj_ssp", - "columnLetter":"EV", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q3.adj_ssp", + columnLetter: "EV", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"Корректировки с РФ", - "accessorKey":"3_kvartal_2026_korrektirovki_s_rf", - "columns":[ + header: "Корректировки с РФ", + accessorKey: "3_kvartal_2026_korrektirovki_s_rf", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q3.adj_rf", - "columnLetter":"EW", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q3.adj_rf", + columnLetter: "EW", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"Корректировки из резерва", - "accessorKey":"3_kvartal_2026_korrektirovki_iz_rezerva", - "columns":[ + header: "Корректировки из резерва", + accessorKey: "3_kvartal_2026_korrektirovki_iz_rezerva", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q3.adj_reserve", - "columnLetter":"EX", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q3.adj_reserve", + columnLetter: "EX", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"Перенос в 4 кв 26", - "accessorKey":"3_kvartal_2026_perenos_v_4_kv_26", - "columns":[ + header: "Перенос в 4 кв 26", + accessorKey: "3_kvartal_2026_perenos_v_4_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"3_kvartal_2026_perenos_v_4_kv_26_summa_tys_rub_bez_nds", - "columnLetter":"EY", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: + "3_kvartal_2026_perenos_v_4_kv_26_summa_tys_rub_bez_nds", + columnLetter: "EY", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Скорр. план 3 кв. 26", - "accessorKey":"3_kvartal_2026_skorr_plan_3_kv_26", - "columns":[ + header: "Скорр. план 3 кв. 26", + accessorKey: "3_kvartal_2026_skorr_plan_3_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q3.corrected_plan", - "columnLetter":"FA", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q3.corrected_plan", + columnLetter: "FA", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"Платеж и предоставление акта", - "accessorKey":"3_kvartal_2026_platezh_i_predostavlenie_akta", - "columns":[ + header: "Платеж и предоставление акта", + accessorKey: "3_kvartal_2026_platezh_i_predostavlenie_akta", + columns: [ { - "header":"Дата платежа", - "accessorKey":"data.q3.pay_date", - "columnLetter":"FC", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + header: "Дата платежа", + accessorKey: "data.q3.pay_date", + columnLetter: "FC", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q3.pay_amount", - "columnLetter":"FD", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q3.pay_amount", + columnLetter: "FD", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"в т.ч. сумма (без НДС) ГО", - "accessorKey":"data.q3.pay_ho", - "columnLetter":"FE", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + header: "в т.ч. сумма (без НДС) ГО", + accessorKey: "data.q3.pay_ho", + columnLetter: "FE", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"в т.ч. сумма (без НДС) РФ", - "accessorKey":"data.q3.pay_rf", - "columnLetter":"FF", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + header: "в т.ч. сумма (без НДС) РФ", + accessorKey: "data.q3.pay_rf", + columnLetter: "FF", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"Комментарий", - "accessorKey":"data.q3.pay_comment", - "columnLetter":"FG", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + header: "Комментарий", + accessorKey: "data.q3.pay_comment", + columnLetter: "FG", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"Предоставление акта (др. подтверждения)", - "accessorKey":"data.q3.pay_act", - "columnLetter":"FH", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } - } + header: "Предоставление акта (др. подтверждения)", + accessorKey: "data.q3.pay_act", + columnLetter: "FH", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"Бронь 3 кв 26", - "accessorKey":"3_kvartal_2026_bron_3_kv_26", - "columns":[ + header: "Бронь 3 кв 26", + accessorKey: "3_kvartal_2026_bron_3_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q3.booking", - "columnLetter":"FJ", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q3.booking", + columnLetter: "FJ", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FABF8F", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FABF8F", + color: "#000000", + }, + }, }, { - "header":"Факт РСБУ июль 26", - "accessorKey":"3_kvartal_2026_fakt_rsbu_iyul_26", - "columns":[ + header: "Факт РСБУ июль 26", + accessorKey: "3_kvartal_2026_fakt_rsbu_iyul_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q3.actual_m1", - "columnLetter":"FK", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q3.actual_m1", + columnLetter: "FK", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Факт РСБУ август 26", - "accessorKey":"3_kvartal_2026_fakt_rsbu_avgust_26", - "columns":[ + header: "Факт РСБУ август 26", + accessorKey: "3_kvartal_2026_fakt_rsbu_avgust_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q3.actual_m2", - "columnLetter":"FL", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q3.actual_m2", + columnLetter: "FL", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Факт РСБУ сентябрь 26", - "accessorKey":"3_kvartal_2026_fakt_rsbu_sentyabr_26", - "columns":[ + header: "Факт РСБУ сентябрь 26", + accessorKey: "3_kvartal_2026_fakt_rsbu_sentyabr_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q3.actual_m3", - "columnLetter":"FM", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q3.actual_m3", + columnLetter: "FM", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Факт РСБУ 3 кв 26", - "accessorKey":"3_kvartal_2026_fakt_rsbu_3_kv_26", - "columns":[ + header: "Факт РСБУ 3 кв 26", + accessorKey: "3_kvartal_2026_fakt_rsbu_3_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q3.actual_quarter", - "columnLetter":"FN", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q3.actual_quarter", + columnLetter: "FN", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Остаток после брони 3 кв. 26", - "accessorKey":"3_kvartal_2026_ostatok_posle_broni_3_kv_26", - "columns":[ + header: "Остаток после брони 3 кв. 26", + accessorKey: "3_kvartal_2026_ostatok_posle_broni_3_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q3.rem_booking", - "columnLetter":"FO", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q3.rem_booking", + columnLetter: "FO", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FABF8F", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FABF8F", + color: "#000000", + }, + }, }, { - "header":"Остаток после факта 3 кв. 26", - "accessorKey":"3_kvartal_2026_ostatok_posle_fakta_3_kv_26", - "columns":[ + header: "Остаток после факта 3 кв. 26", + accessorKey: "3_kvartal_2026_ostatok_posle_fakta_3_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q3.rem_actual", - "columnLetter":"FP", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q3.rem_actual", + columnLetter: "FP", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Закрытие 3-го квартала", - "accessorKey":"3_kvartal_2026_zakrytie_3_go_kvartala", - "columns":[ + header: "Закрытие 3-го квартала", + accessorKey: "3_kvartal_2026_zakrytie_3_go_kvartala", + columns: [ { - "header":"Перенос в 4 кв.26", - "accessorKey":"data.q3.transfer_q4", - "columnLetter":"FR", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + header: "Перенос в 4 кв.26", + accessorKey: "data.q3.transfer_q4", + columnLetter: "FR", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Перенос в фонд экономии", - "accessorKey":"data.q3.economy", - "columnLetter":"FS", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + header: "Перенос в фонд экономии", + accessorKey: "data.q3.economy", + columnLetter: "FS", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"ВСЕГО", - "accessorKey":"data.q3.total", - "columnLetter":"FT", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } - } + header: "ВСЕГО", + accessorKey: "data.q3.total", + columnLetter: "FT", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"4 квартал 2026", - "accessorKey":"4_kvartal_2026", - "columns":[ + header: "4 квартал 2026", + accessorKey: "4_kvartal_2026", + columns: [ { - "header":"Изменение целевого назначения перенесенной экономии ( =0)", - "accessorKey":"4_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0", - "columns":[ + header: "Изменение целевого назначения перенесенной экономии ( =0)", + accessorKey: + "4_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q4.rev_eco", - "columnLetter":"FV", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q4.rev_eco", + columnLetter: "FV", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Корректировка статей базового плана ( =0)", - "accessorKey":"4_kvartal_2026_korrektirovka_statey_bazovogo_plana_0", - "columns":[ + header: "Корректировка статей базового плана ( =0)", + accessorKey: "4_kvartal_2026_korrektirovka_statey_bazovogo_plana_0", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q4.rev_item", - "columnLetter":"FW", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q4.rev_item", + columnLetter: "FW", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Увеличение базового плана( >0)", - "accessorKey":"4_kvartal_2026_uvelichenie_bazovogo_plana_0", - "columns":[ + header: "Увеличение базового плана( >0)", + accessorKey: "4_kvartal_2026_uvelichenie_bazovogo_plana_0", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q4.rev_inc", - "columnLetter":"FX", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q4.rev_inc", + columnLetter: "FX", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Cеквестр базового плана( <0)", - "accessorKey":"4_kvartal_2026_cekvestr_bazovogo_plana_0", - "columns":[ + header: "Cеквестр базового плана( <0)", + accessorKey: "4_kvartal_2026_cekvestr_bazovogo_plana_0", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q4.rev_seq", - "columnLetter":"FY", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q4.rev_seq", + columnLetter: "FY", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Комментарий", - "accessorKey":"4_kvartal_2026_kommentariy", - "columns":[ + header: "Комментарий", + accessorKey: "4_kvartal_2026_kommentariy", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q4.rev_comment", - "columnLetter":"FZ", - "size":150, - "filterFn":"contains" + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q4.rev_comment", + columnLetter: "FZ", + size: 150, + filterFn: "contains", }, { - "header":"Сумма, тыс руб. (без НДС)", - "accessorKey":"data.q4.adj_comment", - "columnLetter":"GG", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс руб. (без НДС)", + accessorKey: "data.q4.adj_comment", + columnLetter: "GG", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Новый план 4 кв 26", - "accessorKey":"4_kvartal_2026_novyy_plan_4_kv_26", - "columns":[ + header: "Новый план 4 кв 26", + accessorKey: "4_kvartal_2026_novyy_plan_4_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q4.new_plan", - "columnLetter":"GA", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q4.new_plan", + columnLetter: "GA", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"", - "accessorKey":"4_kvartal_2026_field", - "columns":[ + header: "", + accessorKey: "4_kvartal_2026_field", + columns: [ { - "header":"", - "accessorKey":"4_kvartal_2026_field_field", - "columnLetter":"GB", - "size":150, - "filterFn":"contains" - } + header: "", + accessorKey: "4_kvartal_2026_field_field", + columnLetter: "GB", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Текущие корректировки( = 0)", - "accessorKey":"4_kvartal_2026_tekuschie_korrektirovki_0", - "columns":[ + header: "Текущие корректировки( = 0)", + accessorKey: "4_kvartal_2026_tekuschie_korrektirovki_0", + columns: [ { - "header":"Сумма, тыс руб. (без НДС)", - "accessorKey":"data.q4.adj_current", - "columnLetter":"GC", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + header: "Сумма, тыс руб. (без НДС)", + accessorKey: "data.q4.adj_current", + columnLetter: "GC", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"Корректировки с ССП / сметой развития", - "accessorKey":"4_kvartal_2026_korrektirovki_s_ssp_smetoy_razvitiya", - "columns":[ + header: "Корректировки с ССП / сметой развития", + accessorKey: "4_kvartal_2026_korrektirovki_s_ssp_smetoy_razvitiya", + columns: [ { - "header":"Сумма, тыс руб. (без НДС)", - "accessorKey":"data.q4.adj_ssp", - "columnLetter":"GD", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс руб. (без НДС)", + accessorKey: "data.q4.adj_ssp", + columnLetter: "GD", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"Корректировки с РФ", - "accessorKey":"4_kvartal_2026_korrektirovki_s_rf", - "columns":[ + header: "Корректировки с РФ", + accessorKey: "4_kvartal_2026_korrektirovki_s_rf", + columns: [ { - "header":"Сумма, тыс руб. (без НДС)", - "accessorKey":"data.q4.adj_rf", - "columnLetter":"GE", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс руб. (без НДС)", + accessorKey: "data.q4.adj_rf", + columnLetter: "GE", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"Корректировки из резерва", - "accessorKey":"4_kvartal_2026_korrektirovki_iz_rezerva", - "columns":[ + header: "Корректировки из резерва", + accessorKey: "4_kvartal_2026_korrektirovki_iz_rezerva", + columns: [ { - "header":"Сумма, тыс руб. (без НДС)", - "accessorKey":"data.q4.adj_reserve", - "columnLetter":"GF", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс руб. (без НДС)", + accessorKey: "data.q4.adj_reserve", + columnLetter: "GF", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"Скорр. план 4 кв. 26", - "accessorKey":"4_kvartal_2026_skorr_plan_4_kv_26", - "columns":[ + header: "Скорр. план 4 кв. 26", + accessorKey: "4_kvartal_2026_skorr_plan_4_kv_26", + columns: [ { - "header":"Сумма, тыс руб. (без НДС)", - "accessorKey":"data.q4.corrected_plan", - "columnLetter":"GH", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс руб. (без НДС)", + accessorKey: "data.q4.corrected_plan", + columnLetter: "GH", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFF66", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFF66", + color: "#000000", + }, + }, }, { - "header":"Платеж и предоставление акта", - "accessorKey":"4_kvartal_2026_platezh_i_predostavlenie_akta", - "columns":[ + header: "Платеж и предоставление акта", + accessorKey: "4_kvartal_2026_platezh_i_predostavlenie_akta", + columns: [ { - "header":"Дата платежа", - "accessorKey":"data.q4.pay_date", - "columnLetter":"GJ", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + header: "Дата платежа", + accessorKey: "data.q4.pay_date", + columnLetter: "GJ", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q4.pay_amount", - "columnLetter":"GK", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q4.pay_amount", + columnLetter: "GK", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"в т.ч. сумма (без НДС) ГО", - "accessorKey":"data.q4.pay_ho", - "columnLetter":"GL", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + header: "в т.ч. сумма (без НДС) ГО", + accessorKey: "data.q4.pay_ho", + columnLetter: "GL", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"в т.ч. сумма (без НДС) РФ", - "accessorKey":"data.q4.pay_rf", - "columnLetter":"GM", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + header: "в т.ч. сумма (без НДС) РФ", + accessorKey: "data.q4.pay_rf", + columnLetter: "GM", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"Комментарий", - "accessorKey":"data.q4.pay_comment", - "columnLetter":"GN", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + header: "Комментарий", + accessorKey: "data.q4.pay_comment", + columnLetter: "GN", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"Предоставление акта (др. подтверждения)", - "accessorKey":"data.q4.pay_act", - "columnLetter":"GO", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } - } + header: "Предоставление акта (др. подтверждения)", + accessorKey: "data.q4.pay_act", + columnLetter: "GO", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, }, { - "header":"Бронь 4 кв 26", - "accessorKey":"4_kvartal_2026_bron_4_kv_26", - "columns":[ + header: "Бронь 4 кв 26", + accessorKey: "4_kvartal_2026_bron_4_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q4.booking", - "columnLetter":"GQ", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q4.booking", + columnLetter: "GQ", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FABF8F", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FABF8F", + color: "#000000", + }, + }, }, { - "header":"Факт РСБУ октябрь 26", - "accessorKey":"4_kvartal_2026_fakt_rsbu_oktyabr_26", - "columns":[ + header: "Факт РСБУ октябрь 26", + accessorKey: "4_kvartal_2026_fakt_rsbu_oktyabr_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q4.actual_m1", - "columnLetter":"GR", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q4.actual_m1", + columnLetter: "GR", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Факт РСБУ ноябрь 26", - "accessorKey":"4_kvartal_2026_fakt_rsbu_noyabr_26", - "columns":[ + header: "Факт РСБУ ноябрь 26", + accessorKey: "4_kvartal_2026_fakt_rsbu_noyabr_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q4.actual_m2", - "columnLetter":"GS", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q4.actual_m2", + columnLetter: "GS", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Факт РСБУ декабрь 26", - "accessorKey":"4_kvartal_2026_fakt_rsbu_dekabr_26", - "columns":[ + header: "Факт РСБУ декабрь 26", + accessorKey: "4_kvartal_2026_fakt_rsbu_dekabr_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q4.actual_m3", - "columnLetter":"GT", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q4.actual_m3", + columnLetter: "GT", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Факт РСБУ 4 кв 26", - "accessorKey":"4_kvartal_2026_fakt_rsbu_4_kv_26", - "columns":[ + header: "Факт РСБУ 4 кв 26", + accessorKey: "4_kvartal_2026_fakt_rsbu_4_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q4.actual_quarter", - "columnLetter":"GU", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q4.actual_quarter", + columnLetter: "GU", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Факт СПОД", - "accessorKey":"4_kvartal_2026_fakt_spod", - "columns":[ + header: "Факт СПОД", + accessorKey: "4_kvartal_2026_fakt_spod", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q4.actual_spod", - "columnLetter":"GV", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q4.actual_spod", + columnLetter: "GV", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Остаток после брони 4 кв. 26", - "accessorKey":"4_kvartal_2026_ostatok_posle_broni_4_kv_26", - "columns":[ + header: "Остаток после брони 4 кв. 26", + accessorKey: "4_kvartal_2026_ostatok_posle_broni_4_kv_26", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q4.rem_booking", - "columnLetter":"GW", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q4.rem_booking", + columnLetter: "GW", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FABF8F", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FABF8F", + color: "#000000", + }, + }, }, { - "header":"Остаток после факта 4 кв. 26 и СПОДов", - "accessorKey":"4_kvartal_2026_ostatok_posle_fakta_4_kv_26_i_spodov", - "columns":[ + header: "Остаток после факта 4 кв. 26 и СПОДов", + accessorKey: "4_kvartal_2026_ostatok_posle_fakta_4_kv_26_i_spodov", + columns: [ { - "header":"Сумма, тыс. руб. (без НДС)", - "accessorKey":"data.q4.rem_actual", - "columnLetter":"GX", - "size":150, - "filterFn":"contains" - } + header: "Сумма, тыс. руб. (без НДС)", + accessorKey: "data.q4.rem_actual", + columnLetter: "GX", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"Закрытие 4-го квартала", - "accessorKey":"4_kvartal_2026_zakrytie_4_go_kvartala", - "columns":[ + header: "Закрытие 4-го квартала", + accessorKey: "4_kvartal_2026_zakrytie_4_go_kvartala", + columns: [ { - "header":"", - "accessorKey":"4_kvartal_2026_zakrytie_4_go_kvartala_field", - "columnLetter":"GZ", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + header: "", + accessorKey: "4_kvartal_2026_zakrytie_4_go_kvartala_field", + columnLetter: "GZ", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"Перенос в фонд экономии", - "accessorKey":"data.q4.economy", - "columnLetter":"HA", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } + header: "Перенос в фонд экономии", + accessorKey: "data.q4.economy", + columnLetter: "HA", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, }, { - "header":"ВСЕГО", - "accessorKey":"data.q4.total", - "columnLetter":"HB", - "size":150, - "filterFn":"contains", - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } - } + header: "ВСЕГО", + accessorKey: "data.q4.total", + columnLetter: "HB", + size: 150, + filterFn: "contains", + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#903C39", - "color":"#FFFFFF" - } - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#903C39", + color: "#FFFFFF", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Факт", - "accessorKey":"fakt", - "columns":[ + header: "Факт", + accessorKey: "fakt", + columns: [ { - "header":"Факт 26", - "accessorKey":"fakt_fakt_26", - "columns":[ + header: "Факт 26", + accessorKey: "fakt_fakt_26", + columns: [ { - "header":"Факт 26", - "accessorKey":"data.totals.fact_year", - "columnLetter":"HE", - "size":150, - "filterFn":"contains" - } + header: "Факт 26", + accessorKey: "data.totals.fact_year", + columnLetter: "HE", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#C2D69B", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#C2D69B", + color: "#000000", + }, + }, }, { - "header":"", - "accessorKey":"fakt_field", - "columns":[ + header: "", + accessorKey: "fakt_field", + columns: [ { - "header":"", - "accessorKey":"fakt_field_field", - "columnLetter":"HF", - "size":150, - "filterFn":"contains" - } + header: "", + accessorKey: "fakt_field_field", + columnLetter: "HF", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, }, { - "header":"Сумма оплаты", - "accessorKey":"fakt_summa_oplaty", - "columns":[ + header: "Сумма оплаты", + accessorKey: "fakt_summa_oplaty", + columns: [ { - "header":"Сумма оплаты", - "accessorKey":"data.totals.pay_year", - "columnLetter":"HG", - "size":150, - "filterFn":"contains" - } + header: "Сумма оплаты", + accessorKey: "data.totals.pay_year", + columnLetter: "HG", + size: 150, + filterFn: "contains", + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#95B3D7", - "color":"#000000" - } - } - } + muiTableHeadCellProps: { + sx: { + backgroundColor: "#95B3D7", + color: "#000000", + }, + }, + }, ], - "muiTableHeadCellProps":{ - "sx":{ - "backgroundColor":"#FFFFFF", - "color":"#000000" - } - } - } - ] - } -} \ No newline at end of file + muiTableHeadCellProps: { + sx: { + backgroundColor: "#FFFFFF", + color: "#000000", + }, + }, + }, + ], + }, +}; diff --git a/web/src/components/RealtimeTable/contexts/RealtimeContext.js b/web/src/components/RealtimeTable/contexts/RealtimeContext.js index b7bd552..4dcd5b5 100644 --- a/web/src/components/RealtimeTable/contexts/RealtimeContext.js +++ b/web/src/components/RealtimeTable/contexts/RealtimeContext.js @@ -57,7 +57,7 @@ export const RealtimeProvider = ({ case "row_deleted": if (data.result && onRowDeleteRef.current) { - onRowDeleteRef.current(data.result); + onRowDeleteRef.current(data); } break; @@ -194,6 +194,9 @@ export const RealtimeProvider = ({ const message = { event: "row_deleted", data: { row_id: rowId }, + sheet: sheetName, + form_id: formId, + direction: direction, }; return sendMessage(message); diff --git a/web/src/components/RealtimeTable/hooks/useRealtimeData.js b/web/src/components/RealtimeTable/hooks/useRealtimeData.js index efa64df..f937e6c 100644 --- a/web/src/components/RealtimeTable/hooks/useRealtimeData.js +++ b/web/src/components/RealtimeTable/hooks/useRealtimeData.js @@ -1,7 +1,7 @@ import { useState, useEffect, useCallback, useRef } from "react"; import { FormsSheetApi } from "../../../api/form_sheet"; import { useRealtime } from "../contexts/RealtimeContext"; -import { insertCell, updateCells } from "../utils/cellUtils"; +import { deleteRow, insertCell, updateCells } from "../utils/cellUtils"; const useRealtimeData = (formId, sheetName, direction) => { const [data, setData] = useState([]); @@ -132,34 +132,35 @@ const useRealtimeData = (formId, sheetName, direction) => { }); const unsubscribeRowAdds = subscribeToRowAdds((data) => { - const updates = data.result; + const updates = data.result.data; const expense_item_id = data.data.expense_item_id; - const updatedCells = updates.slice(0, -1); - const newRow = updates.at(-1); + const newLineId = data.result.new_line_id; + const [updatedCells, newRow] = updates.reduce( + (res, row) => { + if (row[3]?.line_id === newLineId) { + res[1] = row; + } else { + res[0].push(row); + } + return res; + }, + [[], null], + ); setData((prevData) => { const updateData = updateCells(prevData, updatedCells); - const newData = insertCell(updateData, newRow, expense_item_id); - console.log(newData) return newData; }); }); - const unsubscribeRowDeletes = subscribeToRowDeletes((deletedRowId) => { + const unsubscribeRowDeletes = subscribeToRowDeletes((data) => { + const updatedCells = data.result; + const lineIdForDelete = data.data.row_id; setData((prevData) => { - // Функция для удаления строки из иерархии - const deleteInHierarchy = (items) => { - return items - .filter((item) => (item.id || item.line_id) !== deletedRowId) - .map((item) => { - if (item.subRows && item.subRows.length > 0) { - return { ...item, subRows: deleteInHierarchy(item.subRows) }; - } - return item; - }); - }; - - return deleteInHierarchy(prevData); + const updateData = updateCells(prevData, updatedCells); + const newData = deleteRow(updateData, lineIdForDelete); + console.log(newData); + return newData; }); }); diff --git a/web/src/components/RealtimeTable/utils/cellUtils.js b/web/src/components/RealtimeTable/utils/cellUtils.js index 1f948e5..4753e9d 100644 --- a/web/src/components/RealtimeTable/utils/cellUtils.js +++ b/web/src/components/RealtimeTable/utils/cellUtils.js @@ -71,7 +71,7 @@ export function updateCells(data, newRows) { } }); } - return true; // Нашли и обновили + return true; } if ( @@ -125,3 +125,26 @@ export function insertCell(data, newRow, expense_item_id) { findAndUpdate(updatedRows); return updatedRows; } + +export function deleteRow(data, lineId) { + const updatedRows = JSON.parse(JSON.stringify(data)); + + function findAndDelete(rows) { + for (let i = 0; i < rows.length; i++) { + const row = rows[i]; + + if (row.data.line_id == lineId) { + rows.splice(i, 1); + return true; + } + + if (row.subRows && Array.isArray(row.subRows) && row.subRows.length > 0) { + const found = findAndDelete(row.subRows); + if (found) return true; + } + } + return false; + } + findAndDelete(updatedRows); + return updatedRows; +} From 56833f454b91be6d373c76aa6ea7604f5639f49c Mon Sep 17 00:00:00 2001 From: PotapovaA Date: Fri, 29 May 2026 18:38:05 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=D0=B0=20=D0=B8=D0=B5=D1=80=D0=B0=D1=80=D1=85=D0=B8=D1=8E?= =?UTF-8?q?,=20=D0=B1=D0=BB=D0=BE=D0=BA=D0=B8=D1=80=D0=BE=D0=B2=D0=BA?= =?UTF-8?q?=D0=B0=20=D1=8F=D1=87=D0=B5=D0=B5=D0=BA,=20=D0=B2=D0=B8=D1=80?= =?UTF-8?q?=D1=82=D1=83=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RealtimeTable/Cell/Cell/Cell.jsx | 19 +++--- .../RealtimeTable/Cell/EditCell/EditCell.jsx | 4 +- .../RealtimeTable/RealtimeTable.jsx | 50 +++++++++------- .../SettingPanel/SettingPanel.jsx | 3 +- .../RealtimeTable/TableHead/TableHead.jsx | 8 ++- .../RealtimeTable/hooks/useRealtimeData.js | 60 +++++++++++++++---- .../components/RealtimeTable/tableColumns.jsx | 58 ++++-------------- .../RealtimeTable/utils/cellUtils.js | 1 - .../components/common/TableCard/TableCard.jsx | 2 +- .../components/common/TableList/TableList.jsx | 2 +- 10 files changed, 111 insertions(+), 96 deletions(-) diff --git a/web/src/components/RealtimeTable/Cell/Cell/Cell.jsx b/web/src/components/RealtimeTable/Cell/Cell/Cell.jsx index 1478848..7212e7f 100644 --- a/web/src/components/RealtimeTable/Cell/Cell/Cell.jsx +++ b/web/src/components/RealtimeTable/Cell/Cell/Cell.jsx @@ -1,7 +1,8 @@ -import React from 'react'; +import React, { useEffect, useState } from 'react'; import { useMemo } from 'react'; import styled from '@emotion/styled'; import { useRealtime } from '../../contexts/RealtimeContext'; +import { toast } from 'react-toastify'; const ContainerForText = styled.span` @@ -42,7 +43,7 @@ const highlightText = (text, searchQuery) => { ); }; -const Cell = React.memo(({ cell, row, column, onClick, globalFilter, backgroundColor, color }) => { +const Cell = React.memo(({ cell, row, column, onClick, globalFilter, backgroundColor, color, isEditable }) => { const cellValue = cell.getValue(); const textValue = String(cellValue || ''); @@ -51,14 +52,11 @@ const Cell = React.memo(({ cell, row, column, onClick, globalFilter, backgroundC return highlightText(textValue, globalFilter); }, [textValue, globalFilter]); - const { - isCellLocked, - getCellLockInfo, - updateCell, - subscribeToErrors, - tryLockCell, - unlockCell - } = useRealtime(); + const lockedStyles = !isEditable ? { + border: '2px solid #d3d3d3', + color: '#525252', + cursor: 'not-allowed', + } : {}; return ( @@ -80,6 +78,7 @@ const Cell = React.memo(({ cell, row, column, onClick, globalFilter, backgroundC padding: '8px', backgroundColor: backgroundColor, color: color, + ...lockedStyles }} onClick={onClick} > diff --git a/web/src/components/RealtimeTable/Cell/EditCell/EditCell.jsx b/web/src/components/RealtimeTable/Cell/EditCell/EditCell.jsx index ec686de..68a87d3 100644 --- a/web/src/components/RealtimeTable/Cell/EditCell/EditCell.jsx +++ b/web/src/components/RealtimeTable/Cell/EditCell/EditCell.jsx @@ -7,7 +7,7 @@ const EditCell = ({ refCell, onChange, disabled, value }) => { const left = tdFrag.offsetLeft; const width = refCell.current.offsetParent.offsetWidth; - const translateY = 'translateY(' + trFrag.offsetTop + 'px)'; + const translateY = trFrag.style.transform; function useAutoResize(value) { const ref = useRef(null); @@ -71,7 +71,7 @@ const EditCell = ({ refCell, onChange, disabled, value }) => { }} onChange={handleChangeValue} value={curValue} - onBlur={handleChange} + onBlur={handleChange} />
diff --git a/web/src/components/RealtimeTable/RealtimeTable.jsx b/web/src/components/RealtimeTable/RealtimeTable.jsx index 655c333..39e6f0b 100644 --- a/web/src/components/RealtimeTable/RealtimeTable.jsx +++ b/web/src/components/RealtimeTable/RealtimeTable.jsx @@ -1,5 +1,5 @@ // components/RealtimeTable/index.js -import React, { useState, useMemo, useRef, useEffect, useCallback } from 'react'; +import React, { useState, useMemo, useRef, useEffect, useCallback, useTransition } from 'react'; import { createPortal } from 'react-dom'; import { useMaterialReactTable, @@ -25,12 +25,18 @@ import { toast } from 'react-toastify'; const RealtimeTable = ({ formType, formId, sheetName, direction }) => { const { data, setData } = useRealtimeData(formId, sheetName, direction); - const [isLoading, setIsLoading] = useState(true); const [globalFilter, setGlobalFilter] = useState(''); const [showColumnFilters, setShowColumnFilters] = useState(false); const [selectedColumn, setSelectedColumn] = useState(); - const columnVirtualizerInstanceRef = useRef(null); const [rowSelection, setRowSelection] = useState({}); + const [isLoadingData, setIsLoadingData] = useState(false); + const [isPending, startTransition] = useTransition(); + + const handleGlobalFilterChange = (value) => { + startTransition(() => { + setGlobalFilter(value); + }); + }; const { isConnected, @@ -85,7 +91,7 @@ const RealtimeTable = ({ formType, formId, sheetName, direction }) => { setRowSelection((prev) => ({ [rowId]: !prev[rowId], })); - }, [rowSelection]) + }, []) const columns = useMemo(() => { @@ -108,7 +114,6 @@ const RealtimeTable = ({ formType, formId, sheetName, direction }) => { } }, [columnsConfig, handleUpdateCell]); - const tableMeta = useMemo(() => ({ updateCell: handleUpdateCell, }), [handleUpdateCell]); @@ -119,13 +124,17 @@ const RealtimeTable = ({ formType, formId, sheetName, direction }) => { ...BASE_TABLE_CONFIG, columns, data: data, - columnVirtualizerInstanceRef, - enableRowVirtualization: false, + enableRowVirtualization: true, + rowVirtualizerOptions: { + overscan: 50, + scrollPaddingStart: 0, + scrollPaddingEnd: 0, + }, enableRowSelection: true, onRowSelectionChange: setRowSelection, onColumnSizingChange: setColumnSizing, onColumnPinningChange: setColumnPinning, - onGlobalFilterChange: setGlobalFilter, + onGlobalFilterChange: handleGlobalFilterChange, state: { columnSizing, columnPinning, @@ -135,7 +144,7 @@ const RealtimeTable = ({ formType, formId, sheetName, direction }) => { rowSelection }, initialState: { - hiddenColumn: [] + expanded: true }, meta: tableMeta, muiTableHeadCellProps: ({ column }) => ({ @@ -153,22 +162,13 @@ const RealtimeTable = ({ formType, formId, sheetName, direction }) => { height: '1px', minHeight: '1px', maxHeight: '1px', - opacity: 0, - pointerEvents: 'none', - backgroundColor: 'transparent', - '& th': { - height: '1px', - minHeight: '1px', - maxHeight: '1px', - }, + visibility: 'hidden', }, }, muiTablePaperProps: getTablePaperStyles(), muiTableContainerProps: { ref: containerRef, sx: { - overflowX: 'auto', - overflowY: 'auto', position: 'relative', contain: 'layout', minHeight: '100%', @@ -198,6 +198,12 @@ const RealtimeTable = ({ formType, formId, sheetName, direction }) => { const table = useMaterialReactTable(tableConfig); + useEffect(() => { + if (table && data && columns.length !== 0) { + setIsLoadingData(true) + } + }, [data, columns, table]) + const handleAddRow = useCallback(() => { const allRows = table.getRowModel().rows; @@ -222,7 +228,9 @@ const RealtimeTable = ({ formType, formId, sheetName, direction }) => { const row = selectedRows[0]; const expense_item_id = row.original.data.line_id; contextDeleteRow(expense_item_id) + setRowSelection({}); }, [rowSelection, table]) + if (!data) { return
Загрузка...
; } @@ -237,11 +245,12 @@ const RealtimeTable = ({ formType, formId, sheetName, direction }) => { onToggleColumnVisibility={handleToggleColumnVisibility} columnVisibility={columnVisibility} onChangeSizeMult={setSizeMult} - onGlobalFilterChange={setGlobalFilter} + onGlobalFilterChange={handleGlobalFilterChange} sizeMult={sizeMult} onChangeShowColumnFilters={setShowColumnFilters} onAddRow={handleAddRow} onDeleteRow={handleDeleteRow} + isLoadingData={isLoadingData} />
@@ -265,6 +274,7 @@ const RealtimeTable = ({ formType, formId, sheetName, direction }) => { onHeaderSelect={setSelectedColumn} selectHeader={selectedColumn} onChangeWidth={handleSetColumnWidth} + isLoadingData={isLoadingData} />, headerPortalRef.current, )} diff --git a/web/src/components/RealtimeTable/SettingPanel/SettingPanel.jsx b/web/src/components/RealtimeTable/SettingPanel/SettingPanel.jsx index 494f694..6477c84 100644 --- a/web/src/components/RealtimeTable/SettingPanel/SettingPanel.jsx +++ b/web/src/components/RealtimeTable/SettingPanel/SettingPanel.jsx @@ -31,6 +31,7 @@ const SettingPanel = ({ onChangeShowColumnFilters, onAddRow, onDeleteRow, + isLoadingData, }) => { const [isPinned, setIsPinned] = useState(false); const [columnTree, setColumnTree] = useState(); @@ -41,7 +42,7 @@ const SettingPanel = ({ if (!table) return; setColumnTree(table.getAllColumns()); setShowColumnFilters(table.getState().showColumnFilters); - }, [table]); + }, [table, isLoadingData]); useEffect(() => { if (!selectedColumn) return; diff --git a/web/src/components/RealtimeTable/TableHead/TableHead.jsx b/web/src/components/RealtimeTable/TableHead/TableHead.jsx index fe15262..45ba813 100644 --- a/web/src/components/RealtimeTable/TableHead/TableHead.jsx +++ b/web/src/components/RealtimeTable/TableHead/TableHead.jsx @@ -131,7 +131,6 @@ const HeaderCell = ({ header, table, onClick, hightlight, onChangeWidth }) => { // Если колонка не закреплена, текст должен начинаться после всех закрепленных колонок const getTextLeftOffset = () => { if (isPinned) { - // Для закрепленных колонок текст остается на месте return '0'; } // Для незакрепленных колонок текст должен начинаться после всех закрепленных @@ -215,7 +214,7 @@ const FilterRow = ({ table }) => { style={{ display: 'flex', position: 'sticky', - top: '1.5rem', // После строки с номерами колонок + top: '1.5rem', zIndex: 20, backgroundColor: 'white', }} @@ -338,11 +337,16 @@ export const TableHead = ({ onHeaderSelect, selectHeader, onChangeWidth, + isLoadingData, }) => { const handleHeaderClick = (header) => { onHeaderSelect(header); }; + if (!isLoadingData) { + return
+ } + return ( <>
{ return; } - const maxDepth = data.reduce( - (prev, current) => { - return (prev.depth || 0) > (current.depth || 0) ? prev : current; - }, - { depth: 0 }, - ).depth; - - const formattedData = formatedToSubRows(maxDepth, data); - setData(formattedData); + const hierarchicalData = buildHierarchy(data); + setData(hierarchicalData); } catch (err) { console.error("Failed to load initial data:", err); setError(err.message); @@ -104,7 +97,54 @@ const useRealtimeData = (formId, sheetName, direction) => { }; loadInitialData(); - }, [formId, sheetName, formatedToSubRows]); + }, [formId, sheetName]); + + const buildHierarchy = (items) => { + const result = []; + const stack = []; + + const getTypeLevel = (type) => { + const levels = { + ROOT: 0, + GROUP: 1, + ITEM: 2, + SUB_ITEM: 3, + INPUT: 4, + }; + return levels[type] ?? 999; + }; + + for (const item of items) { + const currentLevel = getTypeLevel(item.row_type); + + while ( + stack.length > 0 && + getTypeLevel(stack[stack.length - 1].row_type) >= currentLevel + ) { + stack.pop(); + } + + const parent = stack.length > 0 ? stack[stack.length - 1] : null; + + const newNode = { ...item, subRows: [] }; + + if (parent) { + if (!parent.subRows) { + parent.subRows = []; + } + parent.subRows.push(newNode); + } else { + result.push(newNode); + } + + // Добавляем текущий узел в стек, если он может иметь детей + if (item.row_type !== "INPUT") { + stack.push(newNode); + } + } + + return result; + }; useEffect(() => { setIsConnected(wsConnected); diff --git a/web/src/components/RealtimeTable/tableColumns.jsx b/web/src/components/RealtimeTable/tableColumns.jsx index d6fc397..8c9af2a 100644 --- a/web/src/components/RealtimeTable/tableColumns.jsx +++ b/web/src/components/RealtimeTable/tableColumns.jsx @@ -9,7 +9,8 @@ function EditCellPortal({ EditCell, onSaveStart, onSaveEnd, - onError + onError, + isEditable }) { const ref = useRef(null); const [refTbody, setRefTbody] = useState(false); @@ -25,17 +26,7 @@ function EditCellPortal({ const handleChange = async (val) => { table.setEditingCell(null); - if (isSaving) return; - - setIsSaving(true); - onSaveStart?.(); - - // Сохраняем старое значение на случай ошибки - const oldValue = cell.getValue(); - try { - - // Используем updateCell из контекста (передается через meta) if (table.options.meta?.updateCell) { const success = await table.options.meta.updateCell( cell.row, @@ -44,32 +35,15 @@ function EditCellPortal({ ); if (success) { console.log('Cell updated successfully via WebSocket'); - onSaveEnd?.(true); - table.setEditingCell(null); } else { console.error('Failed to update cell via WebSocket'); const errorMsg = 'Не удалось сохранить изменение'; onError?.(errorMsg); - onSaveEnd?.(false); - // Возвращаем предыдущее значение - } - } else { - // Если updateCell нет в meta, используем onCellUpdate из пропсов (fallback) - console.warn('WebSocket updateCell not configured in meta'); - if (table.options.meta?.onCellUpdate) { - table.options.meta.onCellUpdate(cell.row.id, cell.column.id, val); - } - onSaveEnd?.(true); - table.setEditingCell(null); - } + } } catch (error) { console.error('Error updating cell:', error); onError?.(error.message); - onSaveEnd?.(false); - - } finally { - setIsSaving(false); } }; @@ -88,7 +62,7 @@ function EditCellPortal({ refCell={ref} cell={cell} value={cell.getValue()} - disabled={isDisabled || isSaving} + disabled={!isEditable} onChange={handleChange} />, refTbody, @@ -131,8 +105,9 @@ export const getTableColumns = ({ column={column} cell={cell} globalFilter={ - table.getState().globalFilter || column.getFilterValue() + table.getState().globalFilter } + isEditable={row.original?.row_type === 'INPUT' || false} backgroundColor={columnColors[column.id]?.color_type?.[row.original?.row_type || row.row_type]} color={columnColors[column.id]?.color_type?.['COLOR']} isUpdating={table.options.meta?.updatingCells?.[`${row.id}_${column.id}`]} @@ -144,20 +119,8 @@ export const getTableColumns = ({ cell={cell} table={table} EditCell={EditCell} - onSaveStart={() => { - if (table.options.meta?.setUpdatingCell) { - table.options.meta.setUpdatingCell(row.id, column.id, true); - } - }} - onSaveEnd={(success) => { - if (table.options.meta?.setUpdatingCell) { - table.options.meta.setUpdatingCell(row.id, column.id, false); - } - if (!success && onCellUpdateError) { - onCellUpdateError(row.id, column.id, 'Failed to save'); - } - }} onError={onCellUpdateError} + isEditable={row.original?.row_type === 'INPUT' || false} /> ); @@ -177,10 +140,9 @@ export const getTableColumns = ({ enableEditing: false, enablePinning: true, Cell: ({ cell, row }) => { - return {console.log('TEST', row.id); onCellNumberClick(row.id)}} - >{cell.getValue()}; + return }, }; diff --git a/web/src/components/RealtimeTable/utils/cellUtils.js b/web/src/components/RealtimeTable/utils/cellUtils.js index 4753e9d..509286a 100644 --- a/web/src/components/RealtimeTable/utils/cellUtils.js +++ b/web/src/components/RealtimeTable/utils/cellUtils.js @@ -1,5 +1,4 @@ export function setNewValueToData(data, colId, rowId, value) { - // 1. Находим целевой объект по rowId(индексы вложенных subRows) let targetObject = data; if (rowId && rowId.length) { const indices = rowId.split(".").map(Number); diff --git a/web/src/components/common/TableCard/TableCard.jsx b/web/src/components/common/TableCard/TableCard.jsx index fa12a9d..d5e4223 100644 --- a/web/src/components/common/TableCard/TableCard.jsx +++ b/web/src/components/common/TableCard/TableCard.jsx @@ -14,7 +14,7 @@ const TableCard = ({ table, onNavigate }) => { }; return ( -
+
diff --git a/web/src/components/common/TableList/TableList.jsx b/web/src/components/common/TableList/TableList.jsx index 28be971..e0afa57 100644 --- a/web/src/components/common/TableList/TableList.jsx +++ b/web/src/components/common/TableList/TableList.jsx @@ -26,7 +26,7 @@ const TablesList = ({ return ( handleNavigate(path)} table={table} />