spelling-style-fix #92
@ -1,5 +1,5 @@
|
|||||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<path
|
<path d="M7 6V4.75C7 3.78 7.78 3 8.75 3h2.5C12.22 3 13 3.78 13 4.75V6" stroke="#4A5565" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
d="M8 21V7C8 6.07003 8 5.60504 8.10222 5.22354C8.37962 4.18827 9.18827 3.37962 10.2235 3.10222C10.605 3 11.07 3 12 3C12.93 3 13.395 3 13.7765 3.10222C14.8117 3.37962 15.6204 4.18827 15.8978 5.22354C16 5.60504 16 6.07003 16 7V21M5.2 21H18.8C19.9201 21 20.4802 21 20.908 20.782C21.2843 20.5903 21.5903 20.2843 21.782 19.908C22 19.4802 22 18.9201 22 17.8V10.2C22 9.07989 22 8.51984 21.782 8.09202C21.5903 7.71569 21.2843 7.40973 20.908 7.21799C20.4802 7 19.9201 7 18.8 7H5.2C4.07989 7 3.51984 7 3.09202 7.21799C2.71569 7.40973 2.40973 7.71569 2.21799 8.09202C2 8.51984 2 9.07989 2 10.2V17.8C2 18.9201 2 19.4802 2.21799 19.908C2.40973 20.2843 2.71569 20.5903 3.09202 20.782C3.51984 21 4.0799 21 5.2 21Z"
|
<path d="M3.25 7.5c0-.83.67-1.5 1.5-1.5h10.5c.83 0 1.5.67 1.5 1.5v7c0 .83-.67 1.5-1.5 1.5H4.75c-.83 0-1.5-.67-1.5-1.5v-7Z" stroke="#4A5565" stroke-width="1.25" stroke-linejoin="round"/>
|
||||||
stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
|
<path d="M3.5 9.5c1.85.9 4.08 1.35 6.5 1.35s4.65-.45 6.5-1.35M8.75 10.75v1.5h2.5v-1.5" stroke="#4A5565" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 900 B After Width: | Height: | Size: 625 B |
@ -1,5 +1,4 @@
|
|||||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<path
|
<path d="M5.25 3.25h6.25l3.25 3.25v9c0 .69-.56 1.25-1.25 1.25H5.25c-.69 0-1.25-.56-1.25-1.25v-11c0-.69.56-1.25 1.25-1.25Z" stroke="#4A5565" stroke-width="1.25" stroke-linejoin="round"/>
|
||||||
d="M14 11H8M10 15H8M16 7H8M20 6.8V17.2C20 18.8802 20 19.7202 19.673 20.362C19.3854 20.9265 18.9265 21.3854 18.362 21.673C17.7202 22 16.8802 22 15.2 22H8.8C7.11984 22 6.27976 22 5.63803 21.673C5.07354 21.3854 4.6146 20.9265 4.32698 20.362C4 19.7202 4 18.8802 4 17.2V6.8C4 5.11984 4 4.27976 4.32698 3.63803C4.6146 3.07354 5.07354 2.6146 5.63803 2.32698C6.27976 2 7.11984 2 8.8 2H15.2C16.8802 2 17.7202 2 18.362 2.32698C18.9265 2.6146 19.3854 3.07354 19.673 3.63803C20 4.27976 20 5.11984 20 6.8Z"
|
<path d="M11.5 3.5v3h3M6.75 9h5.5M6.75 11.75h5.5M6.75 14.5h3.25" stroke="#4A5565" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
|
</svg>
|
||||||
</svg>
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 704 B After Width: | Height: | Size: 444 B |
@ -49,6 +49,8 @@ const RealtimeTable = ({ formType, formId, sheetName, direction, year }) => {
|
|||||||
const { errors: validationErrors, isCellInvalid } = useValidationRules(
|
const { errors: validationErrors, isCellInvalid } = useValidationRules(
|
||||||
data,
|
data,
|
||||||
columnsConfig?.columns,
|
columnsConfig?.columns,
|
||||||
|
formType,
|
||||||
|
sheetName,
|
||||||
);
|
);
|
||||||
|
|
||||||
const [expanded, setExpanded] = useState(true);
|
const [expanded, setExpanded] = useState(true);
|
||||||
@ -692,4 +694,4 @@ const RealtimeTable = ({ formType, formId, sheetName, direction, year }) => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default React.memo(RealtimeTable);
|
export default React.memo(RealtimeTable);
|
||||||
|
|||||||
@ -5,7 +5,7 @@ export const GroupByObject = ({ title, children }) => {
|
|||||||
return (
|
return (
|
||||||
<Stack direction='column' spacing={0.375}>
|
<Stack direction='column' spacing={0.375}>
|
||||||
<GroupByObjectTitle>{title}</GroupByObjectTitle>
|
<GroupByObjectTitle>{title}</GroupByObjectTitle>
|
||||||
<Stack direction='row' sx={{ gap: '.75rem' }}>
|
<Stack direction='row' sx={{ alignItems: 'center', gap: '.75rem', height: '2.5rem' }}>
|
||||||
{children}
|
{children}
|
||||||
</Stack>
|
</Stack>
|
||||||
</Stack>
|
</Stack>
|
||||||
|
|||||||
@ -5,7 +5,18 @@ import { exportSheet, exportSheetProject } from '../../../utils/exportFile';
|
|||||||
import { ExportDefaultButton } from '../../common/Buttons/ButtonsActions';
|
import { ExportDefaultButton } from '../../common/Buttons/ButtonsActions';
|
||||||
import CollapsibleTree from '../../common/CollapsibleTree';
|
import CollapsibleTree from '../../common/CollapsibleTree';
|
||||||
import SearchComponent from '../../common/SearchComponent';
|
import SearchComponent from '../../common/SearchComponent';
|
||||||
import { AddLine, Eye, Minus, Pin, Plus, Program, Project, RemoveLine, Search } from '../../common/icons/icons';
|
import {
|
||||||
|
AddLine,
|
||||||
|
CurrentStageColumns,
|
||||||
|
HiddenExpenseItems,
|
||||||
|
Minus,
|
||||||
|
Pin,
|
||||||
|
Plus,
|
||||||
|
Program,
|
||||||
|
Project,
|
||||||
|
RemoveLine,
|
||||||
|
Search,
|
||||||
|
} from '../../common/icons/icons';
|
||||||
import { GroupByObject } from './GroupByObject/GroupByObject';
|
import { GroupByObject } from './GroupByObject/GroupByObject';
|
||||||
import { Panel } from './SettingPanel.style';
|
import { Panel } from './SettingPanel.style';
|
||||||
import ValidationErrorsAlert from './ValidationErrorsAlert';
|
import ValidationErrorsAlert from './ValidationErrorsAlert';
|
||||||
@ -13,6 +24,11 @@ import ZoomSlider from './ZoomSlider';
|
|||||||
import { collectLeafColumns } from '../utils/columnUtils';
|
import { collectLeafColumns } from '../utils/columnUtils';
|
||||||
import { stageColumnsHiddenFromPicker } from '../../Stages/constants';
|
import { stageColumnsHiddenFromPicker } from '../../Stages/constants';
|
||||||
|
|
||||||
|
const controlSx = {
|
||||||
|
minHeight: '2.5rem',
|
||||||
|
flex: '0 0 2.5rem',
|
||||||
|
};
|
||||||
|
|
||||||
const SettingPanel = ({
|
const SettingPanel = ({
|
||||||
selectedColumnId,
|
selectedColumnId,
|
||||||
columnPinning,
|
columnPinning,
|
||||||
@ -112,6 +128,7 @@ const SettingPanel = ({
|
|||||||
<Tooltip title='Закрепить область'>
|
<Tooltip title='Закрепить область'>
|
||||||
<IconButton
|
<IconButton
|
||||||
variant='outlined'
|
variant='outlined'
|
||||||
|
sx={controlSx}
|
||||||
data-active={isPinned}
|
data-active={isPinned}
|
||||||
disabled={!selectedColumnId}
|
disabled={!selectedColumnId}
|
||||||
onMouseDown={(e) => e.stopPropagation()}
|
onMouseDown={(e) => e.stopPropagation()}
|
||||||
@ -133,14 +150,14 @@ const SettingPanel = ({
|
|||||||
{!isFormNoCanAddRow && (
|
{!isFormNoCanAddRow && (
|
||||||
<>
|
<>
|
||||||
<Tooltip title='Добавить строку'>
|
<Tooltip title='Добавить строку'>
|
||||||
<IconButton onClick={onAddRow} variant='outlined'>
|
<IconButton onClick={onAddRow} variant='outlined' sx={controlSx}>
|
||||||
<Plus />
|
<Plus />
|
||||||
<AddLine />
|
<AddLine />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
|
|
||||||
<Tooltip title='Удалить строку'>
|
<Tooltip title='Удалить строку'>
|
||||||
<IconButton onClick={onDeleteRow} variant='outlined'>
|
<IconButton onClick={onDeleteRow} variant='outlined' sx={controlSx}>
|
||||||
<Minus />
|
<Minus />
|
||||||
<RemoveLine />
|
<RemoveLine />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
@ -149,14 +166,14 @@ const SettingPanel = ({
|
|||||||
{formType === FORM_TYPE_OPTIONS[3] && (
|
{formType === FORM_TYPE_OPTIONS[3] && (
|
||||||
<>
|
<>
|
||||||
<Tooltip title='Добавить программу'>
|
<Tooltip title='Добавить программу'>
|
||||||
<IconButton onClick={onAddProgram} variant='outlined'>
|
<IconButton onClick={onAddProgram} variant='outlined' sx={controlSx}>
|
||||||
<Plus />
|
<Plus />
|
||||||
<Program />
|
<Program />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
|
|
||||||
<Tooltip title='Добавить проект'>
|
<Tooltip title='Добавить проект'>
|
||||||
<IconButton onClick={onAddProject} variant='outlined'>
|
<IconButton onClick={onAddProject} variant='outlined' sx={controlSx}>
|
||||||
<Plus />
|
<Plus />
|
||||||
<Project />
|
<Project />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
@ -166,8 +183,8 @@ const SettingPanel = ({
|
|||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
<Tooltip title='Скрыть статьи расходов'>
|
<Tooltip title='Скрыть статьи расходов'>
|
||||||
<IconButton onClick={onToggleDepthVisibility} variant='outlined'>
|
<IconButton onClick={onToggleDepthVisibility} variant='outlined' sx={controlSx}>
|
||||||
<Eye />
|
<HiddenExpenseItems />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
</GroupByObject>
|
</GroupByObject>
|
||||||
@ -182,21 +199,29 @@ const SettingPanel = ({
|
|||||||
<Tooltip title='Скрыть все столбцы кроме текущих'>
|
<Tooltip title='Скрыть все столбцы кроме текущих'>
|
||||||
<IconButton
|
<IconButton
|
||||||
variant='outlined'
|
variant='outlined'
|
||||||
|
sx={controlSx}
|
||||||
color='success'
|
color='success'
|
||||||
onClick={handleShowOnlyCurrentStageColumns}
|
onClick={handleShowOnlyCurrentStageColumns}
|
||||||
disabled={!columnsCurStage || columnsCurStage.length === 0}
|
disabled={!columnsCurStage || columnsCurStage.length === 0}
|
||||||
>
|
>
|
||||||
<Eye />
|
<CurrentStageColumns />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
</GroupByObject>
|
</GroupByObject>
|
||||||
<Divider orientation='vertical' flexItem />
|
<Divider orientation='vertical' flexItem />
|
||||||
<ZoomSlider onChange={onChangeSizeMult} curScale={sizeMult} />
|
<GroupByObject title='Масштаб'>
|
||||||
|
<ZoomSlider onChange={onChangeSizeMult} curScale={sizeMult} />
|
||||||
|
</GroupByObject>
|
||||||
<Divider orientation='vertical' flexItem />
|
<Divider orientation='vertical' flexItem />
|
||||||
<GroupByObject title='Поиск'>
|
<GroupByObject title='Поиск'>
|
||||||
<SearchComponent onChange={onGlobalFilterChange} height='2.5rem' />
|
<SearchComponent onChange={onGlobalFilterChange} height='2.5rem' sx={{ height: '2.5rem' }} />
|
||||||
<Tooltip title='Поиск по колонкам'>
|
<Tooltip title='Поиск по колонкам'>
|
||||||
<IconButton variant='outlined' color='success' data-active={showColumnFilters} onClick={handleChangeShowColumnFilters}>
|
<IconButton
|
||||||
|
variant='outlined'
|
||||||
|
color='success'
|
||||||
|
data-active={showColumnFilters}
|
||||||
|
onClick={handleChangeShowColumnFilters}
|
||||||
|
sx={controlSx}>
|
||||||
<Search />
|
<Search />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
@ -209,6 +234,7 @@ const SettingPanel = ({
|
|||||||
onClick={handleExport}
|
onClick={handleExport}
|
||||||
disabled={!formId || !sheetName || isExporting}
|
disabled={!formId || !sheetName || isExporting}
|
||||||
text={isExporting ? 'Экспорт...' : 'Экспорт'}
|
text={isExporting ? 'Экспорт...' : 'Экспорт'}
|
||||||
|
sx={{ height: '2.5rem', minHeight: '2.5rem' }}
|
||||||
/>
|
/>
|
||||||
</GroupByObject>
|
</GroupByObject>
|
||||||
</Stack>
|
</Stack>
|
||||||
@ -218,4 +244,4 @@ const SettingPanel = ({
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default SettingPanel;
|
export default SettingPanel;
|
||||||
|
|||||||
@ -10,7 +10,7 @@ const ZoomSlider = ({ onChange, width = 200, curScale }) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Box sx={{ width, display: 'flex', alignItems: 'center', gap: 2 }}>
|
<Box sx={{ width, height: '2.5rem', display: 'flex', alignItems: 'center', gap: 2 }}>
|
||||||
<Slider
|
<Slider
|
||||||
value={scale}
|
value={scale}
|
||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
|
|||||||
@ -2281,7 +2281,7 @@ export const config = {
|
|||||||
accessorKey: '2_kvartal_2026',
|
accessorKey: '2_kvartal_2026',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '2_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '2_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2344,7 +2344,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '2_kvartal_2026_cekvestr_bazovogo_plana_0',
|
accessorKey: '2_kvartal_2026_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2807,7 +2807,7 @@ export const config = {
|
|||||||
accessorKey: '3_kvartal_2026',
|
accessorKey: '3_kvartal_2026',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '3_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '3_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2870,7 +2870,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '3_kvartal_2026_cekvestr_bazovogo_plana_0',
|
accessorKey: '3_kvartal_2026_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3320,7 +3320,7 @@ export const config = {
|
|||||||
accessorKey: '4_kvartal_2026',
|
accessorKey: '4_kvartal_2026',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '4_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '4_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3383,7 +3383,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '4_kvartal_2026_cekvestr_bazovogo_plana_0',
|
accessorKey: '4_kvartal_2026_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3789,7 +3789,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Остаток после факта 4 кв. 26 и СПОДов',
|
header: 'Остаток после факта 4 кв. 26 и СПОД',
|
||||||
accessorKey: '4_kvartal_2026_ostatok_posle_fakta_4_kv_26_i_spodov',
|
accessorKey: '4_kvartal_2026_ostatok_posle_fakta_4_kv_26_i_spodov',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
|
|||||||
@ -2356,7 +2356,7 @@ export const config = {
|
|||||||
accessorKey: '2_kvartal_2024',
|
accessorKey: '2_kvartal_2024',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '2_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '2_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2419,7 +2419,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '2_kvartal_2024_cekvestr_bazovogo_plana_0',
|
accessorKey: '2_kvartal_2024_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2920,7 +2920,7 @@ export const config = {
|
|||||||
accessorKey: '3_kvartal_2024',
|
accessorKey: '3_kvartal_2024',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '3_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '3_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2983,7 +2983,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '3_kvartal_2024_cekvestr_bazovogo_plana_0',
|
accessorKey: '3_kvartal_2024_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3471,7 +3471,7 @@ export const config = {
|
|||||||
accessorKey: '4_kvartal_2024',
|
accessorKey: '4_kvartal_2024',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '4_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '4_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3534,7 +3534,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '4_kvartal_2024_cekvestr_bazovogo_plana_0',
|
accessorKey: '4_kvartal_2024_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3947,7 +3947,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Остаток после факта 4 кв. 24 и СПОДов',
|
header: 'Остаток после факта 4 кв. 24 и СПОД',
|
||||||
accessorKey: '4_kvartal_2024_ostatok_posle_fakta_4_kv_24_i_spodov',
|
accessorKey: '4_kvartal_2024_ostatok_posle_fakta_4_kv_24_i_spodov',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
|
|||||||
@ -2289,7 +2289,7 @@ export const config = {
|
|||||||
accessorKey: '2_kvartal_2024',
|
accessorKey: '2_kvartal_2024',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '2_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '2_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2352,7 +2352,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '2_kvartal_2024_cekvestr_bazovogo_plana_0',
|
accessorKey: '2_kvartal_2024_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2817,7 +2817,7 @@ export const config = {
|
|||||||
accessorKey: '3_kvartal_2024',
|
accessorKey: '3_kvartal_2024',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '3_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '3_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2880,7 +2880,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '3_kvartal_2024_cekvestr_bazovogo_plana_0',
|
accessorKey: '3_kvartal_2024_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3333,7 +3333,7 @@ export const config = {
|
|||||||
accessorKey: '4_kvartal_2024',
|
accessorKey: '4_kvartal_2024',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '4_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '4_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3396,7 +3396,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '4_kvartal_2024_cekvestr_bazovogo_plana_0',
|
accessorKey: '4_kvartal_2024_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
|
|||||||
@ -2357,7 +2357,7 @@ export const config = {
|
|||||||
accessorKey: '2_kvartal_2024',
|
accessorKey: '2_kvartal_2024',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '2_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '2_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2420,7 +2420,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '2_kvartal_2024_cekvestr_bazovogo_plana_0',
|
accessorKey: '2_kvartal_2024_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2940,7 +2940,7 @@ export const config = {
|
|||||||
accessorKey: '3_kvartal_2024',
|
accessorKey: '3_kvartal_2024',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '3_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '3_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3003,7 +3003,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '3_kvartal_2024_cekvestr_bazovogo_plana_0',
|
accessorKey: '3_kvartal_2024_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3510,7 +3510,7 @@ export const config = {
|
|||||||
accessorKey: '4_kvartal_2024',
|
accessorKey: '4_kvartal_2024',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '4_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '4_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3573,7 +3573,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '4_kvartal_2024_cekvestr_bazovogo_plana_0',
|
accessorKey: '4_kvartal_2024_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
|
|||||||
@ -2274,7 +2274,7 @@ export const config = {
|
|||||||
accessorKey: '2_kvartal_2024',
|
accessorKey: '2_kvartal_2024',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '2_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '2_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2337,7 +2337,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '2_kvartal_2024_cekvestr_bazovogo_plana_0',
|
accessorKey: '2_kvartal_2024_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2803,7 +2803,7 @@ export const config = {
|
|||||||
accessorKey: '3_kvartal_2024',
|
accessorKey: '3_kvartal_2024',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '3_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '3_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2866,7 +2866,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '3_kvartal_2024_cekvestr_bazovogo_plana_0',
|
accessorKey: '3_kvartal_2024_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3317,7 +3317,7 @@ export const config = {
|
|||||||
accessorKey: '4_kvartal_2024',
|
accessorKey: '4_kvartal_2024',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '4_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '4_kvartal_2024_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3380,7 +3380,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '4_kvartal_2024_cekvestr_bazovogo_plana_0',
|
accessorKey: '4_kvartal_2024_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1409,7 +1409,7 @@ export const config = {
|
|||||||
"1_kvartal_2026_goda_korrektirovki_planovykh_znacheniy",
|
"1_kvartal_2026_goda_korrektirovki_planovykh_znacheniy",
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: "Текущие (= 0)",
|
header: "Текущие корректировки (= 0)",
|
||||||
accessorKey: "data.q1.adj_current",
|
accessorKey: "data.q1.adj_current",
|
||||||
columnLetter: "BA",
|
columnLetter: "BA",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -1422,7 +1422,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Корректиз сметы ГО",
|
header: "Корректировка из сметы ГО",
|
||||||
accessorKey: "data.q1.adj_ssp",
|
accessorKey: "data.q1.adj_ssp",
|
||||||
columnLetter: "BB",
|
columnLetter: "BB",
|
||||||
size: 190,
|
size: 190,
|
||||||
@ -1435,7 +1435,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Корректиз резерва",
|
header: "Корректировка из резерва",
|
||||||
accessorKey: "data.q1.adj_reserve",
|
accessorKey: "data.q1.adj_reserve",
|
||||||
columnLetter: "BC",
|
columnLetter: "BC",
|
||||||
size: 180,
|
size: 180,
|
||||||
@ -1551,7 +1551,7 @@ export const config = {
|
|||||||
accessorKey: "1_kvartal_2026_goda_fakticheskie_raskhody",
|
accessorKey: "1_kvartal_2026_goda_fakticheskie_raskhody",
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: "Бронь1 квартал",
|
header: "Бронь квартал",
|
||||||
accessorKey: "data.q1.booking",
|
accessorKey: "data.q1.booking",
|
||||||
columnLetter: "BL",
|
columnLetter: "BL",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -1564,7 +1564,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "ФактЯнварь",
|
header: "Факт ",
|
||||||
accessorKey: "data.q1.actual_m1",
|
accessorKey: "data.q1.actual_m1",
|
||||||
columnLetter: "BM",
|
columnLetter: "BM",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -1577,7 +1577,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "ФактФевраль",
|
header: "Факт ",
|
||||||
accessorKey: "data.q1.actual_m2",
|
accessorKey: "data.q1.actual_m2",
|
||||||
columnLetter: "BN",
|
columnLetter: "BN",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -1590,7 +1590,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "ФактМарт",
|
header: "Факт ",
|
||||||
accessorKey: "data.q1.actual_m3",
|
accessorKey: "data.q1.actual_m3",
|
||||||
columnLetter: "BO",
|
columnLetter: "BO",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -1603,7 +1603,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Факт1 квартал",
|
header: "Факт квартал",
|
||||||
accessorKey: "data.q1.actual_quarter",
|
accessorKey: "data.q1.actual_quarter",
|
||||||
columnLetter: "BP",
|
columnLetter: "BP",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -1707,7 +1707,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Комментарий переноса во2 квартал",
|
header: "Комментарий переноса во 2 квартал",
|
||||||
accessorKey: "data.q1.transfer_next_comment",
|
accessorKey: "data.q1.transfer_next_comment",
|
||||||
columnLetter: "BX",
|
columnLetter: "BX",
|
||||||
size: 330,
|
size: 330,
|
||||||
@ -1746,7 +1746,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Комментарий переноса в3 и 4 квартал",
|
header: "Комментарий переноса в 3 и 4 квартал",
|
||||||
accessorKey: "data.q1.transfer_far_comment",
|
accessorKey: "data.q1.transfer_far_comment",
|
||||||
columnLetter: "CA",
|
columnLetter: "CA",
|
||||||
size: 360,
|
size: 360,
|
||||||
@ -1810,7 +1810,7 @@ export const config = {
|
|||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header:
|
header:
|
||||||
"Изменение целевого назначения перенесенной экономии (= 0)",
|
"Изменение целевого назначения перенесённой экономии (= 0)",
|
||||||
accessorKey: "data.q2.target_change",
|
accessorKey: "data.q2.target_change",
|
||||||
columnLetter: "CE",
|
columnLetter: "CE",
|
||||||
size: 250,
|
size: 250,
|
||||||
@ -1849,7 +1849,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "ДФиПУвеличение плана (> 0)",
|
header: "ДФиП: увеличение плана (> 0)",
|
||||||
accessorKey: "data.q2.revision_inc",
|
accessorKey: "data.q2.revision_inc",
|
||||||
columnLetter: "CH",
|
columnLetter: "CH",
|
||||||
size: 270,
|
size: 270,
|
||||||
@ -1862,7 +1862,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "ДФиПCеквестр плана (< 0)",
|
header: "ДФиП: секвестр плана (< 0)",
|
||||||
accessorKey: "data.q2.revision_seq",
|
accessorKey: "data.q2.revision_seq",
|
||||||
columnLetter: "CI",
|
columnLetter: "CI",
|
||||||
size: 250,
|
size: 250,
|
||||||
@ -1915,7 +1915,7 @@ export const config = {
|
|||||||
"2_kvartal_2026_goda_korrektirovki_planovykh_znacheniy",
|
"2_kvartal_2026_goda_korrektirovki_planovykh_znacheniy",
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: "Текущие (= 0)",
|
header: "Текущие корректировки (= 0)",
|
||||||
accessorKey: "data.q2.adj_current",
|
accessorKey: "data.q2.adj_current",
|
||||||
columnLetter: "CM",
|
columnLetter: "CM",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -1928,7 +1928,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Корректиз сметы ГО",
|
header: "Корректировка из сметы ГО",
|
||||||
accessorKey: "data.q2.adj_ssp",
|
accessorKey: "data.q2.adj_ssp",
|
||||||
columnLetter: "CN",
|
columnLetter: "CN",
|
||||||
size: 190,
|
size: 190,
|
||||||
@ -1941,7 +1941,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Корректиз резерва",
|
header: "Корректировка из резерва",
|
||||||
accessorKey: "data.q2.adj_reserve",
|
accessorKey: "data.q2.adj_reserve",
|
||||||
columnLetter: "CO",
|
columnLetter: "CO",
|
||||||
size: 180,
|
size: 180,
|
||||||
@ -2056,7 +2056,7 @@ export const config = {
|
|||||||
accessorKey: "2_kvartal_2026_goda_fakticheskie_raskhody",
|
accessorKey: "2_kvartal_2026_goda_fakticheskie_raskhody",
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: "Бронь2 квартал",
|
header: "Бронь квартал",
|
||||||
accessorKey: "data.q2.booking",
|
accessorKey: "data.q2.booking",
|
||||||
columnLetter: "CX",
|
columnLetter: "CX",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -2069,7 +2069,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "ФактАпрель",
|
header: "Факт ",
|
||||||
accessorKey: "data.q2.actual_m1",
|
accessorKey: "data.q2.actual_m1",
|
||||||
columnLetter: "CY",
|
columnLetter: "CY",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -2082,7 +2082,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "ФактМай",
|
header: "Факт ",
|
||||||
accessorKey: "data.q2.actual_m2",
|
accessorKey: "data.q2.actual_m2",
|
||||||
columnLetter: "CZ",
|
columnLetter: "CZ",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -2095,7 +2095,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "ФактИюнь",
|
header: "Факт ",
|
||||||
accessorKey: "data.q2.actual_m3",
|
accessorKey: "data.q2.actual_m3",
|
||||||
columnLetter: "DA",
|
columnLetter: "DA",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -2108,7 +2108,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Факт2 квартал",
|
header: "Факт квартал",
|
||||||
accessorKey: "data.q2.actual_quarter",
|
accessorKey: "data.q2.actual_quarter",
|
||||||
columnLetter: "DB",
|
columnLetter: "DB",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -2212,7 +2212,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Комментарий переноса в3 квартал",
|
header: "Комментарий переноса в 3 квартал",
|
||||||
accessorKey: "data.q2.transfer_next_comment",
|
accessorKey: "data.q2.transfer_next_comment",
|
||||||
columnLetter: "DJ",
|
columnLetter: "DJ",
|
||||||
size: 320,
|
size: 320,
|
||||||
@ -2238,7 +2238,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Комментарий переноса в4 квартал",
|
header: "Комментарий переноса в 4 квартал",
|
||||||
accessorKey: "data.q2.transfer_far_comment",
|
accessorKey: "data.q2.transfer_far_comment",
|
||||||
columnLetter: "DL",
|
columnLetter: "DL",
|
||||||
size: 320,
|
size: 320,
|
||||||
@ -2302,7 +2302,7 @@ export const config = {
|
|||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header:
|
header:
|
||||||
"Изменение целевого назначения перенесенной экономии (= 0)",
|
"Изменение целевого назначения перенесённой экономии (= 0)",
|
||||||
accessorKey: "data.q3.target_change",
|
accessorKey: "data.q3.target_change",
|
||||||
columnLetter: "DP",
|
columnLetter: "DP",
|
||||||
size: 250,
|
size: 250,
|
||||||
@ -2341,7 +2341,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "ДФиПУвеличение плана (> 0)",
|
header: "ДФиП: увеличение плана (> 0)",
|
||||||
accessorKey: "data.q3.revision_inc",
|
accessorKey: "data.q3.revision_inc",
|
||||||
columnLetter: "DS",
|
columnLetter: "DS",
|
||||||
size: 270,
|
size: 270,
|
||||||
@ -2354,7 +2354,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "ДФиПCеквестр плана (< 0)",
|
header: "ДФиП: секвестр плана (< 0)",
|
||||||
accessorKey: "data.q3.revision_seq",
|
accessorKey: "data.q3.revision_seq",
|
||||||
columnLetter: "DT",
|
columnLetter: "DT",
|
||||||
size: 250,
|
size: 250,
|
||||||
@ -2407,7 +2407,7 @@ export const config = {
|
|||||||
"3_kvartal_2026_goda_korrektirovki_planovykh_znacheniy",
|
"3_kvartal_2026_goda_korrektirovki_planovykh_znacheniy",
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: "Текущие (= 0)",
|
header: "Текущие корректировки (= 0)",
|
||||||
accessorKey: "data.q3.adj_current",
|
accessorKey: "data.q3.adj_current",
|
||||||
columnLetter: "DX",
|
columnLetter: "DX",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -2420,7 +2420,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Корректиз сметы ГО",
|
header: "Корректировка из сметы ГО",
|
||||||
accessorKey: "data.q3.adj_ssp",
|
accessorKey: "data.q3.adj_ssp",
|
||||||
columnLetter: "DY",
|
columnLetter: "DY",
|
||||||
size: 190,
|
size: 190,
|
||||||
@ -2433,7 +2433,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Корректиз резерва",
|
header: "Корректировка из резерва",
|
||||||
accessorKey: "data.q3.adj_reserve",
|
accessorKey: "data.q3.adj_reserve",
|
||||||
columnLetter: "DZ",
|
columnLetter: "DZ",
|
||||||
size: 180,
|
size: 180,
|
||||||
@ -2548,7 +2548,7 @@ export const config = {
|
|||||||
accessorKey: "3_kvartal_2026_goda_fakticheskie_raskhody",
|
accessorKey: "3_kvartal_2026_goda_fakticheskie_raskhody",
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: "Бронь3 квартал",
|
header: "Бронь квартал",
|
||||||
accessorKey: "data.q3.booking",
|
accessorKey: "data.q3.booking",
|
||||||
columnLetter: "EI",
|
columnLetter: "EI",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -2561,7 +2561,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "ФактИюль",
|
header: "Факт ",
|
||||||
accessorKey: "data.q3.actual_m1",
|
accessorKey: "data.q3.actual_m1",
|
||||||
columnLetter: "EJ",
|
columnLetter: "EJ",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -2574,7 +2574,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "ФактАвгуст",
|
header: "Факт ",
|
||||||
accessorKey: "data.q3.actual_m2",
|
accessorKey: "data.q3.actual_m2",
|
||||||
columnLetter: "EK",
|
columnLetter: "EK",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -2587,7 +2587,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "ФактСентябрь",
|
header: "Факт ",
|
||||||
accessorKey: "data.q3.actual_m3",
|
accessorKey: "data.q3.actual_m3",
|
||||||
columnLetter: "EL",
|
columnLetter: "EL",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -2600,7 +2600,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Факт3 квартал",
|
header: "Факт квартал",
|
||||||
accessorKey: "data.q3.actual_quarter",
|
accessorKey: "data.q3.actual_quarter",
|
||||||
columnLetter: "EM",
|
columnLetter: "EM",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -2704,7 +2704,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Комментарий переноса в4 квартал",
|
header: "Комментарий переноса в 4 квартал",
|
||||||
accessorKey: "data.q3.transfer_next_comment",
|
accessorKey: "data.q3.transfer_next_comment",
|
||||||
columnLetter: "EU",
|
columnLetter: "EU",
|
||||||
size: 320,
|
size: 320,
|
||||||
@ -2768,7 +2768,7 @@ export const config = {
|
|||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header:
|
header:
|
||||||
"Изменение целевого назначения перенесенной экономии (= 0)",
|
"Изменение целевого назначения перенесённой экономии (= 0)",
|
||||||
accessorKey: "data.q4.target_change",
|
accessorKey: "data.q4.target_change",
|
||||||
columnLetter: "EY",
|
columnLetter: "EY",
|
||||||
size: 250,
|
size: 250,
|
||||||
@ -2807,7 +2807,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "ДФиПУвеличение плана (> 0)",
|
header: "ДФиП: увеличение плана (> 0)",
|
||||||
accessorKey: "data.q4.revision_inc",
|
accessorKey: "data.q4.revision_inc",
|
||||||
columnLetter: "FB",
|
columnLetter: "FB",
|
||||||
size: 270,
|
size: 270,
|
||||||
@ -2820,7 +2820,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "ДФиПCеквестр плана (< 0)",
|
header: "ДФиП: секвестр плана (< 0)",
|
||||||
accessorKey: "data.q4.revision_seq",
|
accessorKey: "data.q4.revision_seq",
|
||||||
columnLetter: "FC",
|
columnLetter: "FC",
|
||||||
size: 250,
|
size: 250,
|
||||||
@ -2873,7 +2873,7 @@ export const config = {
|
|||||||
"4_kvartal_2026_goda_korrektirovki_planovykh_znacheniy",
|
"4_kvartal_2026_goda_korrektirovki_planovykh_znacheniy",
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: "Текущие (= 0)",
|
header: "Текущие корректировки (= 0)",
|
||||||
accessorKey: "data.q4.adj_current",
|
accessorKey: "data.q4.adj_current",
|
||||||
columnLetter: "FG",
|
columnLetter: "FG",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -2886,7 +2886,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Корректиз сметы ГО",
|
header: "Корректировка из сметы ГО",
|
||||||
accessorKey: "data.q4.adj_ssp",
|
accessorKey: "data.q4.adj_ssp",
|
||||||
columnLetter: "FH",
|
columnLetter: "FH",
|
||||||
size: 190,
|
size: 190,
|
||||||
@ -2899,7 +2899,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Корректиз резерва",
|
header: "Корректировка из резерва",
|
||||||
accessorKey: "data.q4.adj_reserve",
|
accessorKey: "data.q4.adj_reserve",
|
||||||
columnLetter: "FI",
|
columnLetter: "FI",
|
||||||
size: 180,
|
size: 180,
|
||||||
@ -3014,7 +3014,7 @@ export const config = {
|
|||||||
accessorKey: "4_kvartal_2026_goda_fakticheskie_raskhody",
|
accessorKey: "4_kvartal_2026_goda_fakticheskie_raskhody",
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: "Бронь4 квартал",
|
header: "Бронь квартал",
|
||||||
accessorKey: "data.q4.booking",
|
accessorKey: "data.q4.booking",
|
||||||
columnLetter: "FR",
|
columnLetter: "FR",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -3027,7 +3027,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "ФактОктябрь",
|
header: "Факт ",
|
||||||
accessorKey: "data.q4.actual_m1",
|
accessorKey: "data.q4.actual_m1",
|
||||||
columnLetter: "FS",
|
columnLetter: "FS",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -3040,7 +3040,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "ФактНоябрь",
|
header: "Факт ",
|
||||||
accessorKey: "data.q4.actual_m2",
|
accessorKey: "data.q4.actual_m2",
|
||||||
columnLetter: "FT",
|
columnLetter: "FT",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -3053,7 +3053,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "ФактДекабрь",
|
header: "Факт ",
|
||||||
accessorKey: "data.q4.actual_m3",
|
accessorKey: "data.q4.actual_m3",
|
||||||
columnLetter: "FU",
|
columnLetter: "FU",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -3066,7 +3066,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "СПОД (Январь)",
|
header: "СПОД (январь)",
|
||||||
accessorKey: "data.q4.actual_spod",
|
accessorKey: "data.q4.actual_spod",
|
||||||
columnLetter: "FV",
|
columnLetter: "FV",
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -3079,7 +3079,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Факт4 квартал (с уч СПОД)",
|
header: "Факт квартал (с учётом СПОД)",
|
||||||
accessorKey: "data.q4.actual_quarter",
|
accessorKey: "data.q4.actual_quarter",
|
||||||
columnLetter: "FW",
|
columnLetter: "FW",
|
||||||
size: 260,
|
size: 260,
|
||||||
@ -3092,7 +3092,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Остаток после брони 4 квартала (с уч СПОД)",
|
header: "Остаток после брони 4 квартала (с учётом СПОД)",
|
||||||
accessorKey: "data.q4.residual_after_booking",
|
accessorKey: "data.q4.residual_after_booking",
|
||||||
columnLetter: "FX",
|
columnLetter: "FX",
|
||||||
size: 420,
|
size: 420,
|
||||||
@ -3105,7 +3105,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Остаток после факта 4 квартала (с уч СПОД)",
|
header: "Остаток после факта 4 квартала (с учётом СПОД)",
|
||||||
accessorKey: "data.q4.residual_after_actual",
|
accessorKey: "data.q4.residual_after_actual",
|
||||||
columnLetter: "FY",
|
columnLetter: "FY",
|
||||||
size: 420,
|
size: 420,
|
||||||
|
|||||||
@ -61,7 +61,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'N п/п',
|
header: '№ п/п',
|
||||||
accessorKey: 'n_pp',
|
accessorKey: 'n_pp',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -179,7 +179,7 @@ export const config = {
|
|||||||
accessorKey: 'i_kvartal_2026_g',
|
accessorKey: 'i_kvartal_2026_g',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Количество,в шт.',
|
header: 'Количество, в шт.',
|
||||||
accessorKey: 'data.qty_q1',
|
accessorKey: 'data.qty_q1',
|
||||||
columnLetter: 'I',
|
columnLetter: 'I',
|
||||||
size: 170,
|
size: 170,
|
||||||
@ -217,7 +217,7 @@ export const config = {
|
|||||||
accessorKey: 'ii_kvartal_2026_g',
|
accessorKey: 'ii_kvartal_2026_g',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Количество,в шт.',
|
header: 'Количество, в шт.',
|
||||||
accessorKey: 'data.qty_q2',
|
accessorKey: 'data.qty_q2',
|
||||||
columnLetter: 'L',
|
columnLetter: 'L',
|
||||||
size: 170,
|
size: 170,
|
||||||
@ -255,7 +255,7 @@ export const config = {
|
|||||||
accessorKey: 'iii_kvartal_2026_g',
|
accessorKey: 'iii_kvartal_2026_g',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Количество,в шт.',
|
header: 'Количество, в шт.',
|
||||||
accessorKey: 'data.qty_q3',
|
accessorKey: 'data.qty_q3',
|
||||||
columnLetter: 'O',
|
columnLetter: 'O',
|
||||||
size: 170,
|
size: 170,
|
||||||
@ -293,7 +293,7 @@ export const config = {
|
|||||||
accessorKey: 'iv_kvartal_2026_g',
|
accessorKey: 'iv_kvartal_2026_g',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Количество,в шт.',
|
header: 'Количество, в шт.',
|
||||||
accessorKey: 'data.qty_q4',
|
accessorKey: 'data.qty_q4',
|
||||||
columnLetter: 'R',
|
columnLetter: 'R',
|
||||||
size: 170,
|
size: 170,
|
||||||
|
|||||||
@ -1690,7 +1690,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Доп.соглашения, спецификации и пр. (реквизиты)",
|
header: "Доп. соглашения, спецификации и пр. (реквизиты)",
|
||||||
accessorKey: "data.contract.addenda",
|
accessorKey: "data.contract.addenda",
|
||||||
columnLetter: "BK",
|
columnLetter: "BK",
|
||||||
size: 460,
|
size: 460,
|
||||||
@ -2359,7 +2359,7 @@ export const config = {
|
|||||||
accessorKey: "2_kvartal_2026",
|
accessorKey: "2_kvartal_2026",
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: "Изменение целевого назначения перенесенной экономии (= 0)",
|
header: "Изменение целевого назначения перенесённой экономии (= 0)",
|
||||||
accessorKey:
|
accessorKey:
|
||||||
"2_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0",
|
"2_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0",
|
||||||
columns: [
|
columns: [
|
||||||
@ -2423,7 +2423,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Cеквестр базового плана (< 0)",
|
header: "Секвестр базового плана (< 0)",
|
||||||
accessorKey: "2_kvartal_2026_cekvestr_bazovogo_plana_0",
|
accessorKey: "2_kvartal_2026_cekvestr_bazovogo_plana_0",
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2889,7 +2889,7 @@ export const config = {
|
|||||||
accessorKey: "3_kvartal_2026",
|
accessorKey: "3_kvartal_2026",
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: "Изменение целевого назначения перенесенной экономии (= 0)",
|
header: "Изменение целевого назначения перенесённой экономии (= 0)",
|
||||||
accessorKey:
|
accessorKey:
|
||||||
"3_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0",
|
"3_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0",
|
||||||
columns: [
|
columns: [
|
||||||
@ -2953,7 +2953,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Cеквестр базового плана (< 0)",
|
header: "Секвестр базового плана (< 0)",
|
||||||
accessorKey: "3_kvartal_2026_cekvestr_bazovogo_plana_0",
|
accessorKey: "3_kvartal_2026_cekvestr_bazovogo_plana_0",
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3406,7 +3406,7 @@ export const config = {
|
|||||||
accessorKey: "4_kvartal_2026",
|
accessorKey: "4_kvartal_2026",
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: "Изменение целевого назначения перенесенной экономии (= 0)",
|
header: "Изменение целевого назначения перенесённой экономии (= 0)",
|
||||||
accessorKey:
|
accessorKey:
|
||||||
"4_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0",
|
"4_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0",
|
||||||
columns: [
|
columns: [
|
||||||
@ -3470,7 +3470,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Cеквестр базового плана (< 0)",
|
header: "Секвестр базового плана (< 0)",
|
||||||
accessorKey: "4_kvartal_2026_cekvestr_bazovogo_plana_0",
|
accessorKey: "4_kvartal_2026_cekvestr_bazovogo_plana_0",
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
|
|||||||
@ -2359,7 +2359,7 @@ export const config = {
|
|||||||
accessorKey: "2_kvartal_2026",
|
accessorKey: "2_kvartal_2026",
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: "Изменение целевого назначения перенесенной экономии (= 0)",
|
header: "Изменение целевого назначения перенесённой экономии (= 0)",
|
||||||
accessorKey:
|
accessorKey:
|
||||||
"2_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0",
|
"2_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0",
|
||||||
columns: [
|
columns: [
|
||||||
@ -2423,7 +2423,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Cеквестр базового плана (< 0)",
|
header: "Секвестр базового плана (< 0)",
|
||||||
accessorKey: "2_kvartal_2026_cekvestr_bazovogo_plana_0",
|
accessorKey: "2_kvartal_2026_cekvestr_bazovogo_plana_0",
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2889,7 +2889,7 @@ export const config = {
|
|||||||
accessorKey: "3_kvartal_2026",
|
accessorKey: "3_kvartal_2026",
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: "Изменение целевого назначения перенесенной экономии (= 0)",
|
header: "Изменение целевого назначения перенесённой экономии (= 0)",
|
||||||
accessorKey:
|
accessorKey:
|
||||||
"3_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0",
|
"3_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0",
|
||||||
columns: [
|
columns: [
|
||||||
@ -2953,7 +2953,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Cеквестр базового плана (< 0)",
|
header: "Секвестр базового плана (< 0)",
|
||||||
accessorKey: "3_kvartal_2026_cekvestr_bazovogo_plana_0",
|
accessorKey: "3_kvartal_2026_cekvestr_bazovogo_plana_0",
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3406,7 +3406,7 @@ export const config = {
|
|||||||
accessorKey: "4_kvartal_2026",
|
accessorKey: "4_kvartal_2026",
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: "Изменение целевого назначения перенесенной экономии (= 0)",
|
header: "Изменение целевого назначения перенесённой экономии (= 0)",
|
||||||
accessorKey:
|
accessorKey:
|
||||||
"4_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0",
|
"4_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0",
|
||||||
columns: [
|
columns: [
|
||||||
@ -3470,7 +3470,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: "Cеквестр базового плана (< 0)",
|
header: "Секвестр базового плана (< 0)",
|
||||||
accessorKey: "4_kvartal_2026_cekvestr_bazovogo_plana_0",
|
accessorKey: "4_kvartal_2026_cekvestr_bazovogo_plana_0",
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
|
|||||||
@ -399,7 +399,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Перенесено на б/счет 604',
|
header: 'Перенесено на балансовый счёт 604',
|
||||||
accessorKey: 'data.60415_pereneseno_na_bschet_604',
|
accessorKey: 'data.60415_pereneseno_na_bschet_604',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1050,7 +1050,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Признак централиз. договора',
|
header: 'Признак централизованного договора',
|
||||||
accessorKey: 'data.contract_summary.centralized_flag',
|
accessorKey: 'data.contract_summary.centralized_flag',
|
||||||
columnLetter: 'T',
|
columnLetter: 'T',
|
||||||
size: 270,
|
size: 270,
|
||||||
@ -2355,7 +2355,7 @@ export const config = {
|
|||||||
accessorKey: '2_kvartal_2026',
|
accessorKey: '2_kvartal_2026',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '2_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '2_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2418,7 +2418,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '2_kvartal_2026_cekvestr_bazovogo_plana_0',
|
accessorKey: '2_kvartal_2026_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2883,7 +2883,7 @@ export const config = {
|
|||||||
accessorKey: '3_kvartal_2026',
|
accessorKey: '3_kvartal_2026',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '3_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '3_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2946,7 +2946,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '3_kvartal_2026_cekvestr_bazovogo_plana_0',
|
accessorKey: '3_kvartal_2026_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3398,7 +3398,7 @@ export const config = {
|
|||||||
accessorKey: '4_kvartal_2026',
|
accessorKey: '4_kvartal_2026',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '4_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '4_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3461,7 +3461,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '4_kvartal_2026_cekvestr_bazovogo_plana_0',
|
accessorKey: '4_kvartal_2026_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3849,7 +3849,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Остаток после факта 4 кв. 26 и СПОДов',
|
header: 'Остаток после факта 4 кв. 26 и СПОД',
|
||||||
accessorKey: '4_kvartal_2026_ostatok_posle_fakta_4_kv_26_i_spodov',
|
accessorKey: '4_kvartal_2026_ostatok_posle_fakta_4_kv_26_i_spodov',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1050,7 +1050,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Признак централиз. договора',
|
header: 'Признак централизованного договора',
|
||||||
accessorKey: 'data.contract_summary.centralized_flag',
|
accessorKey: 'data.contract_summary.centralized_flag',
|
||||||
columnLetter: 'T',
|
columnLetter: 'T',
|
||||||
size: 270,
|
size: 270,
|
||||||
@ -2354,7 +2354,7 @@ export const config = {
|
|||||||
accessorKey: '2_kvartal_2026',
|
accessorKey: '2_kvartal_2026',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '2_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '2_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2417,7 +2417,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '2_kvartal_2026_cekvestr_bazovogo_plana_0',
|
accessorKey: '2_kvartal_2026_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2881,7 +2881,7 @@ export const config = {
|
|||||||
accessorKey: '3_kvartal_2026',
|
accessorKey: '3_kvartal_2026',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '3_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '3_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2944,7 +2944,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '3_kvartal_2026_cekvestr_bazovogo_plana_0',
|
accessorKey: '3_kvartal_2026_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3395,7 +3395,7 @@ export const config = {
|
|||||||
accessorKey: '4_kvartal_2026',
|
accessorKey: '4_kvartal_2026',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '4_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '4_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3458,7 +3458,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '4_kvartal_2026_cekvestr_bazovogo_plana_0',
|
accessorKey: '4_kvartal_2026_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3845,7 +3845,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Остаток после факта 4 кв. 26 и СПОДов',
|
header: 'Остаток после факта 4 кв. 26 и СПОД',
|
||||||
accessorKey: '4_kvartal_2026_ostatok_posle_fakta_4_kv_26_i_spodov',
|
accessorKey: '4_kvartal_2026_ostatok_posle_fakta_4_kv_26_i_spodov',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1050,7 +1050,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Признак централиз. договора',
|
header: 'Признак централизованного договора',
|
||||||
accessorKey: 'data.contract_summary.centralized_flag',
|
accessorKey: 'data.contract_summary.centralized_flag',
|
||||||
columnLetter: 'T',
|
columnLetter: 'T',
|
||||||
size: 270,
|
size: 270,
|
||||||
@ -2353,7 +2353,7 @@ export const config = {
|
|||||||
accessorKey: '2_kvartal_2026',
|
accessorKey: '2_kvartal_2026',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '2_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '2_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2416,7 +2416,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '2_kvartal_2026_cekvestr_bazovogo_plana_0',
|
accessorKey: '2_kvartal_2026_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2880,7 +2880,7 @@ export const config = {
|
|||||||
accessorKey: '3_kvartal_2026',
|
accessorKey: '3_kvartal_2026',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '3_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '3_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2943,7 +2943,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '3_kvartal_2026_cekvestr_bazovogo_plana_0',
|
accessorKey: '3_kvartal_2026_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3394,7 +3394,7 @@ export const config = {
|
|||||||
accessorKey: '4_kvartal_2026',
|
accessorKey: '4_kvartal_2026',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '4_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '4_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3457,7 +3457,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '4_kvartal_2026_cekvestr_bazovogo_plana_0',
|
accessorKey: '4_kvartal_2026_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3844,7 +3844,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Остаток после факта 4 кв. 26 и СПОДов',
|
header: 'Остаток после факта 4 кв. 26 и СПОД',
|
||||||
accessorKey: '4_kvartal_2026_ostatok_posle_fakta_4_kv_26_i_spodov',
|
accessorKey: '4_kvartal_2026_ostatok_posle_fakta_4_kv_26_i_spodov',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
|
|||||||
@ -2375,7 +2375,7 @@ export const config = {
|
|||||||
accessorKey: '2_kvartal_2026',
|
accessorKey: '2_kvartal_2026',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '2_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '2_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2438,7 +2438,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '2_kvartal_2026_cekvestr_bazovogo_plana_0',
|
accessorKey: '2_kvartal_2026_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2903,7 +2903,7 @@ export const config = {
|
|||||||
accessorKey: '3_kvartal_2026',
|
accessorKey: '3_kvartal_2026',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '3_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '3_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -2966,7 +2966,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '3_kvartal_2026_cekvestr_bazovogo_plana_0',
|
accessorKey: '3_kvartal_2026_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3418,7 +3418,7 @@ export const config = {
|
|||||||
accessorKey: '4_kvartal_2026',
|
accessorKey: '4_kvartal_2026',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
header: 'Изменение целевого назначения перенесенной экономии (= 0)',
|
header: 'Изменение целевого назначения перенесённой экономии (= 0)',
|
||||||
accessorKey: '4_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
accessorKey: '4_kvartal_2026_izmenenie_tselevogo_naznacheniya_perenesennoy_ekonomii_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3481,7 +3481,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Cеквестр базового плана (< 0)',
|
header: 'Секвестр базового плана (< 0)',
|
||||||
accessorKey: '4_kvartal_2026_cekvestr_bazovogo_plana_0',
|
accessorKey: '4_kvartal_2026_cekvestr_bazovogo_plana_0',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -3876,7 +3876,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Остаток после факта 4 кв. 26 и СПОДов',
|
header: 'Остаток после факта 4 кв. 26 и СПОД',
|
||||||
accessorKey: '4_kvartal_2026_ostatok_posle_fakta_4_kv_26_i_spodov',
|
accessorKey: '4_kvartal_2026_ostatok_posle_fakta_4_kv_26_i_spodov',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
|
|||||||
@ -368,7 +368,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'заМАРТ',
|
header: 'за ',
|
||||||
accessorKey: 'data.q1.m3',
|
accessorKey: 'data.q1.m3',
|
||||||
columnLetter: 'J',
|
columnLetter: 'J',
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -551,7 +551,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'заИЮНЬ',
|
header: 'за ',
|
||||||
accessorKey: 'data.q2.m3',
|
accessorKey: 'data.q2.m3',
|
||||||
columnLetter: 'T',
|
columnLetter: 'T',
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -734,7 +734,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'заСЕНТЯБРЬ',
|
header: 'за ',
|
||||||
accessorKey: 'data.q3.m3',
|
accessorKey: 'data.q3.m3',
|
||||||
columnLetter: 'AD',
|
columnLetter: 'AD',
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -917,7 +917,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'заДЕКАБРЬ',
|
header: 'за ',
|
||||||
accessorKey: 'data.q4.m3',
|
accessorKey: 'data.q4.m3',
|
||||||
columnLetter: 'AN',
|
columnLetter: 'AN',
|
||||||
size: 150,
|
size: 150,
|
||||||
|
|||||||
@ -271,7 +271,7 @@ export const config = {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Отчет об исполнении лимита затрат, утвержденного Правлением Банка в I квартале',
|
header: 'Отчет об исполнении лимита затрат, утверждённого Правлением Банка в I квартале',
|
||||||
accessorKey: 'otchet_ob_ispolnenii_limita_zatrat_utverzhdennogo_pravleniem_banka_v_i_kvartale',
|
accessorKey: 'otchet_ob_ispolnenii_limita_zatrat_utverzhdennogo_pravleniem_banka_v_i_kvartale',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -368,7 +368,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'заМАРТ',
|
header: 'за ',
|
||||||
accessorKey: 'data.q1.m3',
|
accessorKey: 'data.q1.m3',
|
||||||
columnLetter: 'J',
|
columnLetter: 'J',
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -429,7 +429,7 @@ export const config = {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Отчет об исполнении лимита затрат, утвержденного Правлением Банка в II квартале',
|
header: 'Отчет об исполнении лимита затрат, утверждённого Правлением Банка в II квартале',
|
||||||
accessorKey: 'otchet_ob_ispolnenii_limita_zatrat_utverzhdennogo_pravleniem_banka_v_ii_kvartale',
|
accessorKey: 'otchet_ob_ispolnenii_limita_zatrat_utverzhdennogo_pravleniem_banka_v_ii_kvartale',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -552,7 +552,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'заИЮНЬ',
|
header: 'за ',
|
||||||
accessorKey: 'data.q2.m3',
|
accessorKey: 'data.q2.m3',
|
||||||
columnLetter: 'T',
|
columnLetter: 'T',
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -613,7 +613,7 @@ export const config = {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Отчет об исполнении лимита затрат, утвержденного Правлением Банка в III квартале',
|
header: 'Отчет об исполнении лимита затрат, утверждённого Правлением Банка в III квартале',
|
||||||
accessorKey: 'otchet_ob_ispolnenii_limita_zatrat_utverzhdennogo_pravleniem_banka_v_iii_kvartale',
|
accessorKey: 'otchet_ob_ispolnenii_limita_zatrat_utverzhdennogo_pravleniem_banka_v_iii_kvartale',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -736,7 +736,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'заСЕНТЯБРЬ',
|
header: 'за ',
|
||||||
accessorKey: 'data.q3.m3',
|
accessorKey: 'data.q3.m3',
|
||||||
columnLetter: 'AD',
|
columnLetter: 'AD',
|
||||||
size: 150,
|
size: 150,
|
||||||
@ -797,7 +797,7 @@ export const config = {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'Отчет об исполнении лимита затрат, утвержденного Правлением Банка в IV квартале',
|
header: 'Отчет об исполнении лимита затрат, утверждённого Правлением Банка в IV квартале',
|
||||||
accessorKey: 'otchet_ob_ispolnenii_limita_zatrat_utverzhdennogo_pravleniem_banka_v_iv_kvartale',
|
accessorKey: 'otchet_ob_ispolnenii_limita_zatrat_utverzhdennogo_pravleniem_banka_v_iv_kvartale',
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@ -920,7 +920,7 @@ export const config = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
header: 'заДЕКАБРЬ',
|
header: 'за ',
|
||||||
accessorKey: 'data.q4.m3',
|
accessorKey: 'data.q4.m3',
|
||||||
columnLetter: 'AN',
|
columnLetter: 'AN',
|
||||||
size: 150,
|
size: 150,
|
||||||
|
|||||||
@ -540,7 +540,7 @@ export const columns = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
accessorKey: 'data.contract_detail.additional_agreements',
|
accessorKey: 'data.contract_detail.additional_agreements',
|
||||||
header: 'Доп.соглашения, спецификации и пр. (реквизиты)',
|
header: 'Доп. соглашения, спецификации и пр. (реквизиты)',
|
||||||
size: 250,
|
size: 250,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@ -33,13 +33,25 @@ const bookingLessBalanceByColumn = new Map(
|
|||||||
]),
|
]),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
//Бронь <= Остаток после брони для листов КВП и Опер 4 формы
|
||||||
|
const bookingLessBalance4From = [
|
||||||
|
["data.q4.booking", "data.q4.residual_after_booking"],
|
||||||
|
];
|
||||||
|
|
||||||
|
const bookingLessBalance4FormByColumn = new Map(
|
||||||
|
bookingLessBalance.flatMap(([bookingKey, balanceKey]) => [
|
||||||
|
[bookingKey, { bookingKey, balanceKey }],
|
||||||
|
[balanceKey, { bookingKey, balanceKey }],
|
||||||
|
]),
|
||||||
|
);
|
||||||
|
|
||||||
//Перенос в фонд экономии <= Всего
|
//Перенос в фонд экономии <= Всего
|
||||||
const transferLessTotal = [
|
const transferLessTotal = [
|
||||||
["data.q1.transfer_econ", "data.q1.total"],
|
["data.q1.transfer_econ", "data.q1.total"],
|
||||||
["data.q2.transfer_econ", "data.q2.total"],
|
["data.q2.transfer_econ", "data.q2.total"],
|
||||||
["data.q3.transfer_econ", "data.q3.total"],
|
["data.q3.transfer_econ", "data.q3.total"],
|
||||||
["data.q4.transfer_econ", "data.q4.total"],
|
["data.q4.transfer_econ", "data.q4.total"],
|
||||||
]
|
];
|
||||||
const transferLessTotalByColumn = new Map(
|
const transferLessTotalByColumn = new Map(
|
||||||
transferLessTotal.flatMap(([transferKey, totalKey]) => [
|
transferLessTotal.flatMap(([transferKey, totalKey]) => [
|
||||||
[transferKey, { transferKey: transferKey, totalKey: totalKey }],
|
[transferKey, { transferKey: transferKey, totalKey: totalKey }],
|
||||||
@ -47,6 +59,15 @@ const transferLessTotalByColumn = new Map(
|
|||||||
]),
|
]),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Область действия всех правил. Пары можно добавлять, удалять и изменять.
|
||||||
|
const bookingLessBalanceRuleScope = {
|
||||||
|
includedScopes: [],
|
||||||
|
excludedScopes: [
|
||||||
|
{ formType: "FORM_4", sheetName: "AHR" },
|
||||||
|
{ formType: "FORM_4", sheetName: "OPER" },
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
export const validationRules = [
|
export const validationRules = [
|
||||||
{
|
{
|
||||||
id: "remaining-booking",
|
id: "remaining-booking",
|
||||||
@ -72,6 +93,7 @@ export const validationRules = [
|
|||||||
Number(value) !== 0,
|
Number(value) !== 0,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
...bookingLessBalanceRuleScope,
|
||||||
id: "booking-less-balance",
|
id: "booking-less-balance",
|
||||||
columnKeys: bookingLessBalance.flat(),
|
columnKeys: bookingLessBalance.flat(),
|
||||||
errorColumnKeys: bookingLessBalance.map(([bookingKey]) => bookingKey),
|
errorColumnKeys: bookingLessBalance.map(([bookingKey]) => bookingKey),
|
||||||
@ -80,8 +102,41 @@ export const validationRules = [
|
|||||||
const pair = bookingLessBalanceByColumn.get(columnKey);
|
const pair = bookingLessBalanceByColumn.get(columnKey);
|
||||||
if (!pair) return false;
|
if (!pair) return false;
|
||||||
|
|
||||||
const booking = pair.bookingKey.split(".").reduce((value, key) => value?.[key], row);
|
const booking = pair.bookingKey
|
||||||
const balance = pair.balanceKey.split(".").reduce((value, key) => value?.[key], row);
|
.split(".")
|
||||||
|
.reduce((value, key) => value?.[key], row);
|
||||||
|
const balance = pair.balanceKey
|
||||||
|
.split(".")
|
||||||
|
.reduce((value, key) => value?.[key], row);
|
||||||
|
|
||||||
|
return (
|
||||||
|
booking !== null &&
|
||||||
|
booking !== undefined &&
|
||||||
|
booking !== "" &&
|
||||||
|
balance !== null &&
|
||||||
|
balance !== undefined &&
|
||||||
|
balance !== "" &&
|
||||||
|
Number.isFinite(Number(booking)) &&
|
||||||
|
Number.isFinite(Number(balance)) &&
|
||||||
|
Number(booking) > Number(balance)
|
||||||
|
);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "booking-less-balance-4-form",
|
||||||
|
columnKeys: bookingLessBalance4From.flat(),
|
||||||
|
errorColumnKeys: bookingLessBalance4From.map(([bookingKey]) => bookingKey),
|
||||||
|
message: "Сумма бронирования превышает остаток после бронирования",
|
||||||
|
isInvalid: (_value, row, columnKey) => {
|
||||||
|
const pair = bookingLessBalance4FormByColumn.get(columnKey);
|
||||||
|
if (!pair) return false;
|
||||||
|
|
||||||
|
const booking = pair.bookingKey
|
||||||
|
.split(".")
|
||||||
|
.reduce((value, key) => value?.[key], row);
|
||||||
|
const balance = pair.balanceKey
|
||||||
|
.split(".")
|
||||||
|
.reduce((value, key) => value?.[key], row);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
booking !== null &&
|
booking !== null &&
|
||||||
@ -105,8 +160,12 @@ export const validationRules = [
|
|||||||
const pair = transferLessTotalByColumn.get(columnKey);
|
const pair = transferLessTotalByColumn.get(columnKey);
|
||||||
if (!pair) return false;
|
if (!pair) return false;
|
||||||
|
|
||||||
const transfer = pair.transferKey.split(".").reduce((value, key) => value?.[key], row);
|
const transfer = pair.transferKey
|
||||||
const total = pair.totalKey.split(".").reduce((value, key) => value?.[key], row);
|
.split(".")
|
||||||
|
.reduce((value, key) => value?.[key], row);
|
||||||
|
const total = pair.totalKey
|
||||||
|
.split(".")
|
||||||
|
.reduce((value, key) => value?.[key], row);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
transfer !== null &&
|
transfer !== null &&
|
||||||
|
|||||||
@ -1,30 +1,34 @@
|
|||||||
import { useCallback, useMemo } from 'react';
|
import { useCallback, useMemo } from 'react';
|
||||||
import { validationRules } from '../constants/validation';
|
import { validationRules } from '../constants/validation';
|
||||||
import { buildColumnHeaderPaths, collectInvalidErrors } from '../utils/validationUtils';
|
import { buildColumnHeaderPaths, collectInvalidErrors, isValidationRuleEnabled } from '../utils/validationUtils';
|
||||||
|
|
||||||
export const useValidationRules = (data = [], columns = []) => {
|
export const useValidationRules = (data = [], columns = [], formType, sheetName) => {
|
||||||
const headerPaths = useMemo(() => buildColumnHeaderPaths(columns), [columns]);
|
const headerPaths = useMemo(() => buildColumnHeaderPaths(columns), [columns]);
|
||||||
|
const activeRules = useMemo(
|
||||||
|
() => validationRules.filter((rule) => isValidationRuleEnabled(rule, { formType, sheetName })),
|
||||||
|
[formType, sheetName],
|
||||||
|
);
|
||||||
|
|
||||||
const errors = useMemo(() => {
|
const errors = useMemo(() => {
|
||||||
const result = [];
|
const result = [];
|
||||||
const seen = new Set();
|
const seen = new Set();
|
||||||
|
|
||||||
for (const rule of validationRules) {
|
for (const rule of activeRules) {
|
||||||
collectInvalidErrors(data, rule, headerPaths, result, seen);
|
collectInvalidErrors(data, rule, headerPaths, result, seen);
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}, [data, headerPaths]);
|
}, [activeRules, data, headerPaths]);
|
||||||
|
|
||||||
const isCellInvalid = useCallback(
|
const isCellInvalid = useCallback(
|
||||||
(columnId, value, row) =>
|
(columnId, value, row) =>
|
||||||
validationRules.some(
|
activeRules.some(
|
||||||
(rule) =>
|
(rule) =>
|
||||||
rule.columnKeys.includes(columnId) &&
|
rule.columnKeys.includes(columnId) &&
|
||||||
(!rule.appliesToRow || rule.appliesToRow(row)) &&
|
(!rule.appliesToRow || rule.appliesToRow(row)) &&
|
||||||
rule.isInvalid(value, row, columnId),
|
rule.isInvalid(value, row, columnId),
|
||||||
),
|
),
|
||||||
[],
|
[activeRules],
|
||||||
);
|
);
|
||||||
|
|
||||||
return { errors, isCellInvalid };
|
return { errors, isCellInvalid };
|
||||||
|
|||||||
@ -1,6 +1,21 @@
|
|||||||
// Достаёт вложенное поле из объекта строки таблицы
|
// Достаёт вложенное поле из объекта строки таблицы
|
||||||
export const getValueByPath = (row, path) => path.split('.').reduce((value, key) => value?.[key], row);
|
export const getValueByPath = (row, path) => path.split('.').reduce((value, key) => value?.[key], row);
|
||||||
|
|
||||||
|
const matchesValidationScope = (scope, { formType, sheetName }) =>
|
||||||
|
(!scope.formType || scope.formType === formType) &&
|
||||||
|
(!scope.sheetName || scope.sheetName === sheetName);
|
||||||
|
|
||||||
|
// Пустой includedScopes означает «работает везде»; исключения приоритетнее.
|
||||||
|
export const isValidationRuleEnabled = (rule, context = {}) => {
|
||||||
|
const includedScopes = rule.includedScopes || [];
|
||||||
|
const excludedScopes = rule.excludedScopes || [];
|
||||||
|
|
||||||
|
if (excludedScopes.some((scope) => matchesValidationScope(scope, context))) return false;
|
||||||
|
if (includedScopes.length && !includedScopes.some((scope) => matchesValidationScope(scope, context))) return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
|
||||||
// Строит пути заголовков колонок
|
// Строит пути заголовков колонок
|
||||||
export const buildColumnHeaderPaths = (columns = [], path = [], map = {}) => {
|
export const buildColumnHeaderPaths = (columns = [], path = [], map = {}) => {
|
||||||
for (const column of columns) {
|
for (const column of columns) {
|
||||||
|
|||||||
@ -139,7 +139,7 @@ export const SettingModal = ({
|
|||||||
|
|
||||||
<EditContainer>
|
<EditContainer>
|
||||||
<Stack direction='row' sx={{ width: '100%', justifyContent: 'space-between' }}>
|
<Stack direction='row' sx={{ width: '100%', justifyContent: 'space-between' }}>
|
||||||
<Typography fontWeight='bold'>Этапы</Typography>
|
<Typography sx={{ fontWeight: 'bold' }}>Этапы</Typography>
|
||||||
|
|
||||||
<PrimaryButton onClick={handleAddStage} startIcon={<WhitePlus />}>
|
<PrimaryButton onClick={handleAddStage} startIcon={<WhitePlus />}>
|
||||||
Добавить этап
|
Добавить этап
|
||||||
|
|||||||
@ -110,7 +110,7 @@ export function PaginatedList({
|
|||||||
<Stack direction='row' spacing='0.5rem'>
|
<Stack direction='row' spacing='0.5rem'>
|
||||||
{!exportMode ? (
|
{!exportMode ? (
|
||||||
<>
|
<>
|
||||||
<ExportWithTextButton text='Пакетный экспорт' onClick={() => setExportMode(true)} height='2.5rem' />
|
<ExportWithTextButton text='Пакетный экспорт' onClick={() => setExportMode(true)} sx={{ height: '2.5rem' }} />
|
||||||
{extraActions}
|
{extraActions}
|
||||||
</>
|
</>
|
||||||
) : (
|
) : (
|
||||||
@ -119,7 +119,7 @@ export function PaginatedList({
|
|||||||
text='Экспортировать'
|
text='Экспортировать'
|
||||||
onClick={handleBulkExport}
|
onClick={handleBulkExport}
|
||||||
disabled={exportList.length === 0}
|
disabled={exportList.length === 0}
|
||||||
height='2.5rem'
|
sx={{ height: '2.5rem' }}
|
||||||
/>
|
/>
|
||||||
<ExportExitButton onClick={() => setExportMode(false)} />
|
<ExportExitButton onClick={() => setExportMode(false)} />
|
||||||
</>
|
</>
|
||||||
|
|||||||
@ -227,6 +227,23 @@ export const Eye = styled.div`
|
|||||||
background-position: center;
|
background-position: center;
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
export const HiddenExpenseItems = ({ size = 20 }) => (
|
||||||
|
<svg width={size} height={size} viewBox='0 0 20 20' fill='none' aria-hidden='true'>
|
||||||
|
<path d='M3.25 5.25h9.5M3.25 9.25h7.5M3.25 13.25h5.5' stroke='currentColor' strokeWidth='1.25' strokeLinecap='round' />
|
||||||
|
<path d='M11.2 12.15c.83.72 1.77 1.1 2.8 1.1 1.73 0 3.04-1.07 3.75-2-.37-.48-.87-.98-1.5-1.37' stroke='currentColor' strokeWidth='1.25' strokeLinecap='round' strokeLinejoin='round' />
|
||||||
|
<path d='M10.25 8.9A5.8 5.8 0 0 1 14 7.25c.68 0 1.31.17 1.88.45M10 5l7 10' stroke='currentColor' strokeWidth='1.25' strokeLinecap='round' strokeLinejoin='round' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
|
||||||
|
export const CurrentStageColumns = ({ size = 20 }) => (
|
||||||
|
<svg width={size} height={size} viewBox='0 0 20 20' fill='none' aria-hidden='true'>
|
||||||
|
<rect x='2.75' y='3.25' width='4' height='13.5' rx='1' stroke='currentColor' strokeWidth='1.25' opacity='.45' />
|
||||||
|
<rect x='8' y='3.25' width='4' height='13.5' rx='1' stroke='currentColor' strokeWidth='1.25' />
|
||||||
|
<rect x='13.25' y='3.25' width='4' height='13.5' rx='1' stroke='currentColor' strokeWidth='1.25' opacity='.45' />
|
||||||
|
<path d='m8.9 10 1 1 1.7-2' stroke='currentColor' strokeWidth='1.25' strokeLinecap='round' strokeLinejoin='round' />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
|
||||||
export const Trash = styled.div`
|
export const Trash = styled.div`
|
||||||
background-image: url('images/Trash.svg');
|
background-image: url('images/Trash.svg');
|
||||||
width: 1.25rem;
|
width: 1.25rem;
|
||||||
@ -531,4 +548,4 @@ export const SummarySvg = ({ size = 16 }) => (
|
|||||||
<path d="M2.5 13.3V2.7M2.5 13.3h11" stroke="#99A1AF" stroke-width="1.15" stroke-linecap="round" /><path d="M4.6 10.6V7.9M7.9 10.6V4.8M11.2 10.6V6.4" stroke="#99A1AF" stroke-width="1.45" stroke-linecap="round">
|
<path d="M2.5 13.3V2.7M2.5 13.3h11" stroke="#99A1AF" stroke-width="1.15" stroke-linecap="round" /><path d="M4.6 10.6V7.9M7.9 10.6V4.8M11.2 10.6V6.4" stroke="#99A1AF" stroke-width="1.45" stroke-linecap="round">
|
||||||
</path>
|
</path>
|
||||||
</svg>
|
</svg>
|
||||||
);
|
);
|
||||||
|
|||||||
@ -158,7 +158,7 @@ const AuditLogsFilters = ({
|
|||||||
</Stack>
|
</Stack>
|
||||||
|
|
||||||
<Stack direction={'row'} spacing={'1rem'} sx={{ width: '100%', alignItems: 'end' }}>
|
<Stack direction={'row'} spacing={'1rem'} sx={{ width: '100%', alignItems: 'end' }}>
|
||||||
<DefaultOutlinedButton onClick={onResetFilters} height={'2.56rem'} sx={{ flex: '0 0 auto' }}>
|
<DefaultOutlinedButton onClick={onResetFilters} sx={{ flex: '0 0 auto', height: '2.56rem' }}>
|
||||||
Сбросить фильтры
|
Сбросить фильтры
|
||||||
</DefaultOutlinedButton>
|
</DefaultOutlinedButton>
|
||||||
</Stack>
|
</Stack>
|
||||||
|
|||||||
@ -61,7 +61,7 @@ const AuditLogsTable = ({ logs, loading, totalCount, page, rowsPerPage, onPageCh
|
|||||||
size: 300,
|
size: 300,
|
||||||
Cell: ({ cell, row }) => (
|
Cell: ({ cell, row }) => (
|
||||||
<Box sx={{ display: 'flex', gap: '.5rem', flexDirection: 'column' }}>
|
<Box sx={{ display: 'flex', gap: '.5rem', flexDirection: 'column' }}>
|
||||||
<Typography component='div' fontWeight='medium'>
|
<Typography component='div' sx={{ fontWeight: 'medium' }}>
|
||||||
{row.original.user ? row.original.user.full_name + ' (' + row.original.user.email + ')' : '-'}
|
{row.original.user ? row.original.user.full_name + ' (' + row.original.user.email + ')' : '-'}
|
||||||
</Typography>
|
</Typography>
|
||||||
</Box>
|
</Box>
|
||||||
|
|||||||
@ -119,7 +119,7 @@ const JsonViewModal = ({ open, onClose, jsonData, eventType }) => {
|
|||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
mb: '.75rem',
|
mb: '.75rem',
|
||||||
}}>
|
}}>
|
||||||
<Typography variant='subtitle1' fontWeight='medium'>
|
<Typography variant='subtitle1' sx={{ fontWeight: 'medium' }}>
|
||||||
Детали события:
|
Детали события:
|
||||||
</Typography>
|
</Typography>
|
||||||
</Box>
|
</Box>
|
||||||
|
|||||||
@ -133,7 +133,7 @@ export const ModalChangeUsersInSsp = ({ open, onClose, ssp, onUsersCountChange }
|
|||||||
</Button>
|
</Button>
|
||||||
</>
|
</>
|
||||||
}>
|
}>
|
||||||
<Box maxHeight={'max-content'} minHeight='8rem'>
|
<Box sx={{ maxHeight: 'max-content', minHeight: '8rem' }}>
|
||||||
{loadingUsers ? (
|
{loadingUsers ? (
|
||||||
<Box
|
<Box
|
||||||
sx={{
|
sx={{
|
||||||
|
|||||||
@ -64,7 +64,7 @@ const SspDataTable = ({
|
|||||||
maxSize: 454,
|
maxSize: 454,
|
||||||
Cell: ({ cell }) => (
|
Cell: ({ cell }) => (
|
||||||
<Box sx={{ display: 'flex', gap: '.5rem', alignItems: 'center' }}>
|
<Box sx={{ display: 'flex', gap: '.5rem', alignItems: 'center' }}>
|
||||||
<Typography variant='body2' component='div' fontWeight='medium'>
|
<Typography variant='body2' component='div' sx={{ fontWeight: 'medium' }}>
|
||||||
{cell.getValue()}
|
{cell.getValue()}
|
||||||
</Typography>
|
</Typography>
|
||||||
</Box>
|
</Box>
|
||||||
|
|||||||
@ -75,10 +75,10 @@ export const ModalAddUsers = ({ open, onClose, onAddUser }) => {
|
|||||||
customSize={58.13}
|
customSize={58.13}
|
||||||
actions={
|
actions={
|
||||||
<>
|
<>
|
||||||
<SecondaryButton onClick={onClose} height={'2.5rem'}>
|
<SecondaryButton onClick={onClose} sx={{ height: '2.5rem' }}>
|
||||||
Отменить
|
Отменить
|
||||||
</SecondaryButton>
|
</SecondaryButton>
|
||||||
<PrimaryButton height={'2.5rem'} onClick={handleAddUsers}>
|
<PrimaryButton sx={{ height: '2.5rem' }} onClick={handleAddUsers}>
|
||||||
Сохранить
|
Сохранить
|
||||||
</PrimaryButton>
|
</PrimaryButton>
|
||||||
</>
|
</>
|
||||||
|
|||||||
@ -326,10 +326,10 @@ export const EditUserModal = ({ isOpen, onClose, onConfirm, user, onEditSsp }) =
|
|||||||
justifyContent: 'end',
|
justifyContent: 'end',
|
||||||
paddingTop: '1.5rem',
|
paddingTop: '1.5rem',
|
||||||
}}>
|
}}>
|
||||||
<SecondaryButton onClick={handleCancel} width={'5.88rem'}>
|
<SecondaryButton onClick={handleCancel} sx={{ width: '5.88rem' }}>
|
||||||
Отмена
|
Отмена
|
||||||
</SecondaryButton>
|
</SecondaryButton>
|
||||||
<PrimaryButton onClick={handleSubmit} width={'5.88rem'}>
|
<PrimaryButton onClick={handleSubmit} sx={{ width: '5.88rem' }}>
|
||||||
Сохранить
|
Сохранить
|
||||||
</PrimaryButton>
|
</PrimaryButton>
|
||||||
</Box>
|
</Box>
|
||||||
|
|||||||
@ -21,7 +21,7 @@ const GroupDeps = ({ items, itemsPerRow, type }) => {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<Stack>
|
<Stack>
|
||||||
<Typography fontSize={'0.875rem'}>{type}</Typography>
|
<Typography sx={{ fontSize: '0.875rem' }}>{type}</Typography>
|
||||||
<Box
|
<Box
|
||||||
sx={{
|
sx={{
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
|
|||||||
@ -180,7 +180,7 @@ const UserTable = ({
|
|||||||
},
|
},
|
||||||
Cell: ({ row }) => (
|
Cell: ({ row }) => (
|
||||||
<Box sx={{ display: 'flex', gap: '.5rem', flexDirection: 'column' }}>
|
<Box sx={{ display: 'flex', gap: '.5rem', flexDirection: 'column' }}>
|
||||||
<Typography variant='body2' component='div' fontWeight='medium'>
|
<Typography variant='body2' component='div' sx={{ fontWeight: 'medium' }}>
|
||||||
{row.original.full_name}
|
{row.original.full_name}
|
||||||
</Typography>
|
</Typography>
|
||||||
<Typography
|
<Typography
|
||||||
|
|||||||
@ -177,8 +177,8 @@ const UserTableForAdd = ({ usersEmail = [], sspOptions = [], onDeleteUser, onCha
|
|||||||
}}>
|
}}>
|
||||||
<IconButton size='small' onClick={() => handleDeleteUser(row.original.id)} sx={{ color: 'error.main' }}>
|
<IconButton size='small' onClick={() => handleDeleteUser(row.original.id)} sx={{ color: 'error.main' }}>
|
||||||
<Box
|
<Box
|
||||||
display='flex'
|
|
||||||
sx={{
|
sx={{
|
||||||
|
display: 'flex',
|
||||||
padding: '0.75rem 1.25rem',
|
padding: '0.75rem 1.25rem',
|
||||||
width: '4rem',
|
width: '4rem',
|
||||||
height: '2.75rem',
|
height: '2.75rem',
|
||||||
|
|||||||
@ -136,8 +136,8 @@ function DictVspPage() {
|
|||||||
<DictVspInfo />
|
<DictVspInfo />
|
||||||
{/* <HeaderSwitch /> */}
|
{/* <HeaderSwitch /> */}
|
||||||
<PageContainer>
|
<PageContainer>
|
||||||
<Stack sx={{ alignItems: 'stretch' }} width='100%'>
|
<Stack sx={{ alignItems: 'stretch', width: '100%' }}>
|
||||||
<Box width='100%'>
|
<Box sx={{ width: '100%' }}>
|
||||||
{user.role_id !== ROLES_NAME_ID.executor_rf && (
|
{user.role_id !== ROLES_NAME_ID.executor_rf && (
|
||||||
<DictVspFilters ssps={ssps} onSspChange={setSelectedSsp} selectedSsp={selectedSsp} />
|
<DictVspFilters ssps={ssps} onSspChange={setSelectedSsp} selectedSsp={selectedSsp} />
|
||||||
)}
|
)}
|
||||||
|
|||||||
@ -38,7 +38,7 @@ const DictVspFilters = ({ ssps, selectedSsp = null, onSspChange }) => {
|
|||||||
mb: '1.5rem',
|
mb: '1.5rem',
|
||||||
}}>
|
}}>
|
||||||
<Stack direction={'row'} spacing={'1rem'}>
|
<Stack direction={'row'} spacing={'1rem'}>
|
||||||
<Box width='30rem'>
|
<Box sx={{ width: '30rem' }}>
|
||||||
<AutocompleteStyled
|
<AutocompleteStyled
|
||||||
size='small'
|
size='small'
|
||||||
options={ssps || []}
|
options={ssps || []}
|
||||||
|
|||||||
@ -2,14 +2,14 @@ import { Box, TextField, Typography } from '@mui/material';
|
|||||||
import { DatePicker } from '@mui/x-date-pickers/DatePicker';
|
import { DatePicker } from '@mui/x-date-pickers/DatePicker';
|
||||||
|
|
||||||
// Стилевые компоненты
|
// Стилевые компоненты
|
||||||
export const ModalContainer = ({ children, maxHeight = '60vh' }) => (
|
export const ModalContainer = ({ children, sx }) => (
|
||||||
<Box
|
<Box
|
||||||
sx={{
|
sx={{
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
flexDirection: 'column',
|
flexDirection: 'column',
|
||||||
gap: '1.5rem',
|
gap: '1.5rem',
|
||||||
width: '100%',
|
width: '100%',
|
||||||
maxHeight: maxHeight,
|
maxHeight: '60vh',
|
||||||
overflowY: 'auto',
|
overflowY: 'auto',
|
||||||
overflowX: 'hidden',
|
overflowX: 'hidden',
|
||||||
paddingRight: '0.5rem',
|
paddingRight: '0.5rem',
|
||||||
@ -31,6 +31,7 @@ export const ModalContainer = ({ children, maxHeight = '60vh' }) => (
|
|||||||
background: '#a8a8a8',
|
background: '#a8a8a8',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
...sx,
|
||||||
}}>
|
}}>
|
||||||
{children}
|
{children}
|
||||||
</Box>
|
</Box>
|
||||||
|
|||||||
@ -243,7 +243,7 @@ const ModalEditAddVsp = ({ open, onClose, onSave, onDelete, initialData = null,
|
|||||||
customSize={'60'}
|
customSize={'60'}
|
||||||
actions={
|
actions={
|
||||||
showActions && (
|
showActions && (
|
||||||
<Stack direction={'row'} justifyContent={'space-between'} width={'100%'}>
|
<Stack direction={'row'} sx={{ justifyContent: 'space-between', width: '100%' }}>
|
||||||
{showDeleteButton && (
|
{showDeleteButton && (
|
||||||
<DangerOutlinedButton onClick={handleDelete} style={{ height: '2.5rem' }}>
|
<DangerOutlinedButton onClick={handleDelete} style={{ height: '2.5rem' }}>
|
||||||
Удалить
|
Удалить
|
||||||
@ -263,7 +263,7 @@ const ModalEditAddVsp = ({ open, onClose, onSave, onDelete, initialData = null,
|
|||||||
}>
|
}>
|
||||||
<Divider sx={{ mb: '1.5rem' }} />
|
<Divider sx={{ mb: '1.5rem' }} />
|
||||||
|
|
||||||
<ModalContainer maxHeight='60vh'>
|
<ModalContainer sx={{ maxHeight: '60vh' }}>
|
||||||
<FieldContainer>
|
<FieldContainer>
|
||||||
<FieldLabel>Код РФ</FieldLabel>
|
<FieldLabel>Код РФ</FieldLabel>
|
||||||
<StyledTextField
|
<StyledTextField
|
||||||
|
|||||||
@ -74,7 +74,7 @@ const ModalExport = ({ open, onClose, ssps = [], loading = false }) => {
|
|||||||
onClose={handleClose}
|
onClose={handleClose}
|
||||||
customSize={'40'}
|
customSize={'40'}
|
||||||
actions={
|
actions={
|
||||||
<Stack direction={'row'} justifyContent={'space-between'} width={'100%'}>
|
<Stack direction={'row'} sx={{ justifyContent: 'space-between', width: '100%' }}>
|
||||||
<Typography variant='body2' color='textSecondary'>
|
<Typography variant='body2' color='textSecondary'>
|
||||||
Выбрано: {selectedCount} из {totalCount}
|
Выбрано: {selectedCount} из {totalCount}
|
||||||
</Typography>
|
</Typography>
|
||||||
@ -94,13 +94,13 @@ const ModalExport = ({ open, onClose, ssps = [], loading = false }) => {
|
|||||||
}>
|
}>
|
||||||
<Divider sx={{ mb: '1.5rem' }} />
|
<Divider sx={{ mb: '1.5rem' }} />
|
||||||
|
|
||||||
<ModalContainer maxHeight='50vh'>
|
<ModalContainer sx={{ maxHeight: '50vh' }}>
|
||||||
<SearchComponent
|
<SearchComponent
|
||||||
placeholder='Введите название для поиска...'
|
placeholder='Введите название для поиска...'
|
||||||
value={searchTerm}
|
value={searchTerm}
|
||||||
onChange={setSearchTerm}
|
onChange={setSearchTerm}
|
||||||
disabled={loading}
|
disabled={loading}
|
||||||
height='2.5rem'
|
sx={{ height: '2.5rem' }}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<FormControlLabel
|
<FormControlLabel
|
||||||
|
|||||||
@ -62,7 +62,7 @@ const TableDictVsp = ({ data, onEdit, onDelete, onAdd, loading = false, ssps, se
|
|||||||
enableColumnActions: false,
|
enableColumnActions: false,
|
||||||
enableSorting: false,
|
enableSorting: false,
|
||||||
Cell: ({ row }) => (
|
Cell: ({ row }) => (
|
||||||
<Typography variant='body2' component='div' fontWeight='medium'>
|
<Typography variant='body2' component='div' sx={{ fontWeight: 'medium' }}>
|
||||||
{row.index + 1}
|
{row.index + 1}
|
||||||
</Typography>
|
</Typography>
|
||||||
),
|
),
|
||||||
@ -74,7 +74,7 @@ const TableDictVsp = ({ data, onEdit, onDelete, onAdd, loading = false, ssps, se
|
|||||||
minSize: 50,
|
minSize: 50,
|
||||||
maxSize: 100,
|
maxSize: 100,
|
||||||
Cell: ({ cell }) => (
|
Cell: ({ cell }) => (
|
||||||
<Typography variant='body2' component='div' fontWeight='medium'>
|
<Typography variant='body2' component='div' sx={{ fontWeight: 'medium' }}>
|
||||||
{cell.getValue() || '-'}
|
{cell.getValue() || '-'}
|
||||||
</Typography>
|
</Typography>
|
||||||
),
|
),
|
||||||
@ -88,7 +88,7 @@ const TableDictVsp = ({ data, onEdit, onDelete, onAdd, loading = false, ssps, se
|
|||||||
minSize: 150,
|
minSize: 150,
|
||||||
maxSize: 200,
|
maxSize: 200,
|
||||||
Cell: ({ cell }) => (
|
Cell: ({ cell }) => (
|
||||||
<Typography variant='body2' component='div' fontWeight='medium'>
|
<Typography variant='body2' component='div' sx={{ fontWeight: 'medium' }}>
|
||||||
{cell.getValue() || '-'}
|
{cell.getValue() || '-'}
|
||||||
</Typography>
|
</Typography>
|
||||||
),
|
),
|
||||||
|
|||||||
@ -73,46 +73,47 @@ const FeatureItem = styled.li`
|
|||||||
`;
|
`;
|
||||||
|
|
||||||
function DictsNavigatorPage() {
|
function DictsNavigatorPage() {
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
|
||||||
const handleNavigateToVSP = () => {
|
const handleNavigateToVSP = () => {
|
||||||
navigate('/dicts/dict-vsp');
|
navigate('/dicts/dict-vsp');
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<HeaderSwitch />
|
<HeaderSwitch />
|
||||||
<PageContainer>
|
<PageContainer>
|
||||||
<CardsContainer>
|
<CardsContainer>
|
||||||
<Card>
|
<Card>
|
||||||
<CardContent>
|
<CardContent>
|
||||||
<CardTitle>Справочник объектов ВСП</CardTitle>
|
<CardTitle>Справочник объектов ВСП</CardTitle>
|
||||||
<CardDescription>
|
<CardDescription>
|
||||||
Централизованное управление данными о внутренних структурных подразделениях. Ведите учет регистрационных номеров, адресов,
|
Централизованное управление данными о внутренних структурных подразделениях. Ведите учет регистрационных номеров, адресов,
|
||||||
дат открытия, форм расположения и штатной численности всех ВСП организации.
|
дат открытия, форм расположения и штатной численности всех ВСП организации.
|
||||||
</CardDescription>
|
</CardDescription>
|
||||||
<FeatureList>
|
<FeatureList>
|
||||||
<FeatureItem>Добавление и редактирование записей об объектах</FeatureItem>
|
<FeatureItem>Добавление и редактирование записей об объектах</FeatureItem>
|
||||||
<FeatureItem>Отслеживание метаданных филиалов</FeatureItem>
|
<FeatureItem>Отслеживание метаданных филиалов</FeatureItem>
|
||||||
<FeatureItem>Удобная табличная форма представления данных</FeatureItem>
|
<FeatureItem>Удобная табличная форма представления данных</FeatureItem>
|
||||||
</FeatureList>
|
</FeatureList>
|
||||||
<PrimaryButton height={'2.75rem'} onClick={handleNavigateToVSP}>
|
<PrimaryButton sx={{ height: '2.75rem' }} onClick={handleNavigateToVSP}>
|
||||||
<Stack
|
<Stack
|
||||||
sx={{
|
sx={{
|
||||||
spacing: '.25rem',
|
gap: '.25rem',
|
||||||
direction: 'row',
|
flexDirection: 'row',
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
}}>
|
justifyContent: 'center',
|
||||||
<TransitionSvg />
|
}}>
|
||||||
<p>Открыть справочник объектов</p>
|
<TransitionSvg />
|
||||||
</Stack>
|
<p>Открыть справочник объектов</p>
|
||||||
</PrimaryButton>
|
</Stack>
|
||||||
</CardContent>
|
</PrimaryButton>
|
||||||
</Card>
|
</CardContent>
|
||||||
</CardsContainer>
|
</Card>
|
||||||
</PageContainer>
|
</CardsContainer>
|
||||||
</>
|
</PageContainer>
|
||||||
);
|
</>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default DictsNavigatorPage;
|
export default DictsNavigatorPage;
|
||||||
|
|||||||
@ -135,7 +135,7 @@ const EditModal = ({ open, onClose, rowData, onSave }) => {
|
|||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
bgcolor: '#f8f9fa',
|
bgcolor: '#f8f9fa',
|
||||||
}}>
|
}}>
|
||||||
<Typography variant='h6' fontWeight='600' fontSize='18px'>
|
<Typography variant='h6' sx={{ fontWeight: 600, fontSize: '18px' }}>
|
||||||
Редактирование строки
|
Редактирование строки
|
||||||
</Typography>
|
</Typography>
|
||||||
<IconButton onClick={onClose} size='small'>
|
<IconButton onClick={onClose} size='small'>
|
||||||
|
|||||||
@ -215,7 +215,7 @@ export default function ProjectsPage() {
|
|||||||
getItemId={(project) => project.id}
|
getItemId={(project) => project.id}
|
||||||
getItemTitle={(project) => project.name || 'Проект'}
|
getItemTitle={(project) => project.name || 'Проект'}
|
||||||
extraActions={
|
extraActions={
|
||||||
<PrimaryButton onClick={openModal} startIcon={<WhitePlus />} height='2.5rem'>
|
<PrimaryButton onClick={openModal} startIcon={<WhitePlus />} sx={{ height: '2.5rem' }}>
|
||||||
Создать проект
|
Создать проект
|
||||||
</PrimaryButton>
|
</PrimaryButton>
|
||||||
}
|
}
|
||||||
@ -240,7 +240,7 @@ export default function ProjectsPage() {
|
|||||||
sx={{ width: 200 }}
|
sx={{ width: 200 }}
|
||||||
renderInput={(params) => <TextField {...params} placeholder='Все' size='small' />}
|
renderInput={(params) => <TextField {...params} placeholder='Все' size='small' />}
|
||||||
/>
|
/>
|
||||||
<PrimaryOutlinedButton onClick={handleClearFilters} height='100%'>
|
<PrimaryOutlinedButton onClick={handleClearFilters} sx={{ height: '100%' }}>
|
||||||
{' '}
|
{' '}
|
||||||
Сбросить
|
Сбросить
|
||||||
</PrimaryOutlinedButton>
|
</PrimaryOutlinedButton>
|
||||||
|
|||||||
@ -236,7 +236,7 @@ export default function TasksPage() {
|
|||||||
}
|
}
|
||||||
extraActions={
|
extraActions={
|
||||||
user.role_id === ROLES_NAME_ID.admin && (
|
user.role_id === ROLES_NAME_ID.admin && (
|
||||||
<PrimaryButton onClick={openModal} startIcon={<WhitePlus />} height={'2.5rem'}>
|
<PrimaryButton onClick={openModal} startIcon={<WhitePlus />} sx={{ height: '2.5rem' }}>
|
||||||
Создать задачу
|
Создать задачу
|
||||||
</PrimaryButton>
|
</PrimaryButton>
|
||||||
)
|
)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user