feat: окно критериев значимости — дословная таблица ПП РФ № 127
- criteria_127.json переписан точно по Постановлению Правительства РФ от 08.02.2019 № 127 (приложение): 5 критериев (социальная, политическая, экономическая, экологическая, значимость для обороны страны), 30 показателей (1-14 с подпунктами а/б/в/г), значения сразу привязаны к категориям III/II/I - окно 980x700 со скроллом: у каждого показателя выбор значения из документа («III категория: …», «II категория: …», «I категория: …») - категория значимости по наивысшей выбранной: I→1-я, II→2-я, III→3-я, иначе без категории - обоснование: автогенерация текста с перечнем выбранных показателей, если поле пустое; кнопки «Рассчитать категорию» и «Сохранить» - категория сразу подставляется в поле категории значимости объекта
This commit is contained in:
@@ -1,133 +1,295 @@
|
||||
[
|
||||
{
|
||||
"criteria": "Социальная значимость",
|
||||
"criteria": "I. Социальная значимость",
|
||||
"indicators": [
|
||||
{
|
||||
"name": "Количество пользователей объекта КИИ, которым может быть причинён ущерб",
|
||||
"scale": {
|
||||
"4": "более 5 млн человек",
|
||||
"3": "от 1 до 5 млн человек",
|
||||
"2": "от 100 тыс. до 1 млн человек",
|
||||
"1": "менее 100 тыс. человек"
|
||||
"num": "1",
|
||||
"name": "Причинение ущерба жизни и здоровью людей (человек)",
|
||||
"values": {
|
||||
"III": "более или равно 1, но менее или равно 50",
|
||||
"II": "более 50, но менее или равно 500",
|
||||
"I": "более 500"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Доля пользователей объекта КИИ, которым может быть причинён ущерб, от общего числа пользователей",
|
||||
"scale": {
|
||||
"4": "более 20%",
|
||||
"3": "от 10% до 20%",
|
||||
"2": "от 5% до 10%",
|
||||
"1": "менее 5%"
|
||||
"num": "2а",
|
||||
"name": "Прекращение или нарушение функционирования объектов обеспечения жизнедеятельности населения, оцениваемые на территории, на которой возможно нарушение обеспечения жизнедеятельности населения",
|
||||
"values": {
|
||||
"III": "в пределах территории одного муниципального образования (численностью от 2 тыс. чел.) или одной внутригородской территории города федерального значения",
|
||||
"II": "выход за пределы территории одного муниципального образования (численностью от 2 тыс. чел.) или одной внутригородской территории города федерального значения, но не за пределы территории одного субъекта Российской Федерации или территории города федерального значения",
|
||||
"I": "выход за пределы территории одного субъекта Российской Федерации или территории города федерального значения"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Продолжительность нарушения безопасности объекта КИИ, которое может привести к причинению ущерба",
|
||||
"scale": {
|
||||
"4": "более 72 часов",
|
||||
"3": "от 24 до 72 часов",
|
||||
"2": "от 1 до 24 часов",
|
||||
"1": "менее 1 часа"
|
||||
"num": "2б",
|
||||
"name": "Прекращение или нарушение функционирования объектов обеспечения жизнедеятельности населения, оцениваемые по количеству людей, условия жизнедеятельности которых могут быть нарушены (тыс. человек)",
|
||||
"values": {
|
||||
"III": "более или равно 2, но менее 1 000",
|
||||
"II": "более или равно 1 000, но менее 5 000",
|
||||
"I": "более или равно 5 000"
|
||||
}
|
||||
},
|
||||
{
|
||||
"num": "3а",
|
||||
"name": "Прекращение или нарушение функционирования объектов транспортной инфраструктуры, организаций, осуществляющих деятельность в области грузовых и пассажирских перевозок, транспортных средств, в том числе высокоавтоматизированных транспортных средств, оцениваемые на территории, на которой возможно нарушение транспортного сообщения или предоставления транспортных услуг (пассажирских и грузовых перевозок)",
|
||||
"values": {
|
||||
"III": "в пределах территории одного муниципального образования (численностью от 2 тыс. человек) или одной внутригородской территории города федерального значения",
|
||||
"II": "выход за пределы территории одного муниципального образования (численностью от 2 тыс. человек) или одной внутригородской территории города федерального значения, но не за пределы территории одного субъекта Российской Федерации или территории города федерального значения",
|
||||
"I": "выход за пределы территории одного субъекта Российской Федерации или территории города федерального значения"
|
||||
}
|
||||
},
|
||||
{
|
||||
"num": "3б",
|
||||
"name": "Прекращение или нарушение функционирования объектов транспортной инфраструктуры, оцениваемые по количеству людей, для которых могут быть недоступны транспортные услуги (тыс. человек)",
|
||||
"values": {
|
||||
"III": "более или равно 2, но менее 1000",
|
||||
"II": "более или равно 1000, но менее 5000",
|
||||
"I": "более или равно 5000"
|
||||
}
|
||||
},
|
||||
{
|
||||
"num": "3в",
|
||||
"name": "Прекращение или нарушение функционирования объектов транспортной инфраструктуры, оцениваемые по типам нарушенных перевозок и грузов",
|
||||
"values": {
|
||||
"III": "мультимодальные и интермодальные перевозки",
|
||||
"II": "перевозка, погрузка, разгрузка, хранение опасных грузов, на перевозку которых требуется специальное разрешение, и (или) грузов повышенной опасности в пределах территории одного субъекта Российской Федерации",
|
||||
"I": "перевозка, погрузка, разгрузка, хранение опасных грузов, на перевозку которых требуется специальное разрешение, и (или) грузов повышенной опасности в пределах территорий 2 и более субъектов Российской Федерации"
|
||||
}
|
||||
},
|
||||
{
|
||||
"num": "3г",
|
||||
"name": "Прекращение или нарушение функционирования объектов транспортной инфраструктуры, оцениваемые по категорированию объектов транспортной инфраструктуры",
|
||||
"values": {
|
||||
"III": "объект транспортной инфраструктуры 3-й или 4-й категории",
|
||||
"II": "объект транспортной инфраструктуры 2-й категории",
|
||||
"I": "объект транспортной инфраструктуры 1-й категории"
|
||||
}
|
||||
},
|
||||
{
|
||||
"num": "4а",
|
||||
"name": "Прекращение или нарушение функционирования сети связи, оцениваемые по количеству абонентов, для которых могут быть недоступны услуги связи (тыс. человек)",
|
||||
"values": {
|
||||
"III": "более или равно 3, но менее 1 000",
|
||||
"II": "более или равно 1 000, но менее 5 000",
|
||||
"I": "более или равно 5 000"
|
||||
}
|
||||
},
|
||||
{
|
||||
"num": "4б",
|
||||
"name": "Прекращение или нарушение функционирования сети связи, оцениваемые по уровню органа государственной власти (количеству органов) или организации, для которых могут быть нарушены или недоступны услуги связи",
|
||||
"values": {
|
||||
"III": "орган государственной власти субъекта Российской Федерации",
|
||||
"II": "федеральный орган государственной власти, государственная корпорация, Центральный банк Российской Федерации, 2 и более органа государственной власти субъекта Российской Федерации",
|
||||
"I": "Администрация Президента Российской Федерации, Правительство Российской Федерации, Федеральное Собрание Российской Федерации, Совет Безопасности Российской Федерации, Верховный Суд Российской Федерации, Конституционный Суд Российской Федерации, 2 и более федеральных органа государственной власти"
|
||||
}
|
||||
},
|
||||
{
|
||||
"num": "5а",
|
||||
"name": "Отсутствие доступа к государственной услуге, оцениваемое в максимальном допустимом времени, в течение которого государственная услуга может быть недоступна для получателей такой услуги (часов)",
|
||||
"values": {
|
||||
"III": "менее или равно 24, но более 12",
|
||||
"II": "менее или равно 12, но более 6",
|
||||
"I": "менее или равно 6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"num": "5б",
|
||||
"name": "Отсутствие доступа к государственной услуге, оцениваемое во времени с момента приема запроса о предоставлении государственной услуги органом, предоставляющим государственную услугу, или подведомственной государственному органу организацией, участвующей в предоставлении государственной услуги, в течение которого государственная услуга не может быть оказана (в процентах от времени предоставления услуги, предусмотренного административным регламентом)",
|
||||
"values": {
|
||||
"III": "менее или равно 30",
|
||||
"II": "более 30, но менее или равно 70",
|
||||
"I": "более 70"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"criteria": "Политическая значимость",
|
||||
"criteria": "II. Политическая значимость",
|
||||
"indicators": [
|
||||
{
|
||||
"name": "Значимость объекта КИИ для обеспечения обороноспособности страны, безопасности государства и правопорядка",
|
||||
"scale": {
|
||||
"4": "критическая значимость",
|
||||
"3": "высокая значимость",
|
||||
"2": "средняя значимость",
|
||||
"1": "низкая значимость"
|
||||
"num": "6",
|
||||
"name": "Прекращение или нарушение функционирования государственного органа или организации, созданной на основании федерального закона, в части невыполнения возложенной на них функции (полномочия)",
|
||||
"values": {
|
||||
"III": "прекращение или нарушение функционирования органа государственной власти субъекта Российской Федерации",
|
||||
"II": "прекращение или нарушение функционирования федерального органа государственной власти, государственной корпорации, Центрального банка Российской Федерации, 2 и более органов государственной власти субъекта Российской Федерации",
|
||||
"I": "прекращение или нарушение функционирования Администрации Президента Российской Федерации, Правительства Российской Федерации, Федерального Собрания Российской Федерации, Совета Безопасности Российской Федерации, Верховного Суда Российской Федерации, Конституционного Суда Российской Федерации, 2 и более федеральных органов государственной власти"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Международная значимость объекта КИИ (используется при реализации международных договоров и соглашений)",
|
||||
"scale": {
|
||||
"4": "международное значение",
|
||||
"3": "федеральное значение",
|
||||
"2": "региональное значение",
|
||||
"1": "местное значение"
|
||||
"num": "7",
|
||||
"name": "Нарушение условий международного договора Российской Федерации, срыв переговоров или подписания планируемого к заключению международного договора Российской Федерации, оцениваемые по уровню международного договора Российской Федерации",
|
||||
"values": {
|
||||
"III": "нарушение условий договора межведомственного характера (срыв переговоров или подписания)",
|
||||
"II": "нарушение условий межправительственного договора (срыв переговоров или подписания)",
|
||||
"I": "нарушение условий межгосударственного договора (срыв переговоров или подписания)"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"criteria": "Экономическая значимость",
|
||||
"criteria": "III. Экономическая значимость",
|
||||
"indicators": [
|
||||
{
|
||||
"name": "Размер возможного прямого ущерба в результате нарушения безопасности объекта КИИ",
|
||||
"scale": {
|
||||
"4": "более 5 млрд рублей",
|
||||
"3": "от 1 до 5 млрд рублей",
|
||||
"2": "от 100 млн до 1 млрд рублей",
|
||||
"1": "менее 100 млн рублей"
|
||||
"num": "8",
|
||||
"name": "Возникновение ущерба субъекту критической информационной инфраструктуры, который является государственной корпорацией, государственным унитарным предприятием, государственной компанией, организацией оборонно-промышленного комплекса, стратегическим акционерным обществом, стратегическим предприятием, оцениваемого в снижении уровня дохода (с учетом налога на добавленную стоимость, акцизов и иных обязательных платежей) по всем видам деятельности (процентов от годового объема доходов, усредненного за прошедший пятилетний период)",
|
||||
"values": {
|
||||
"III": "более или равно 1, но менее или равно 10",
|
||||
"II": "более 10, но менее или равно 20",
|
||||
"I": "более 20"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Размер возможного косвенного ущерба (упущенная выгода, затраты на восстановление)",
|
||||
"scale": {
|
||||
"4": "более 10 млрд рублей",
|
||||
"3": "от 1 до 10 млрд рублей",
|
||||
"2": "от 100 млн до 1 млрд рублей",
|
||||
"1": "менее 100 млн рублей"
|
||||
"num": "9",
|
||||
"name": "Возникновение ущерба бюджету Российской Федерации, оцениваемого в снижении выплат (отчислений) в бюджет, осуществляемых субъектом критической информационной инфраструктуры (процентов прогнозируемого годового дохода федерального бюджета, усредненного за планируемый 3-летний период)",
|
||||
"values": {
|
||||
"III": "более 0,0003, но менее или равно 0,0006",
|
||||
"II": "более 0,0006, но менее или равно 0,001",
|
||||
"I": "более 0,001"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Влияние нарушения безопасности объекта КИИ на экономическую безопасность государства",
|
||||
"scale": {
|
||||
"4": "критическое влияние",
|
||||
"3": "высокое влияние",
|
||||
"2": "среднее влияние",
|
||||
"1": "низкое влияние"
|
||||
"num": "10",
|
||||
"name": "Прекращение или нарушение проведения клиентами операций по осуществлению перевода денежных средств, осуществляемых субъектом критической информационной инфраструктуры, являющимся в соответствии с законодательством Российской Федерации оператором платформы цифрового рубля, системно значимой кредитной организацией, кредитной организацией, выполняющей функции оператора услуг платежной инфраструктуры системно и социально значимых платежных систем, кредитной организацией, значимой на рынке платежных услуг, оператором услуг платежной инфраструктуры, оказывающим услуги платежной инфраструктуры в рамках системно значимых платежных систем, оцениваемые среднедневным (по отношению к числу календарных дней в году) количеством осуществляемых операций (млн. единиц) (расчет осуществляется по итогам года, а для создаваемых объектов — на основе прогнозных значений)",
|
||||
"values": {
|
||||
"III": "менее или равно 70",
|
||||
"II": "более 70, но менее или равно 120",
|
||||
"I": "более 120"
|
||||
}
|
||||
},
|
||||
{
|
||||
"num": "10.1",
|
||||
"name": "Прекращение или нарушение проведения операций по исполнению обязательств, осуществляемых субъектом критической информационной инфраструктуры, являющимся центральным контрагентом, среднедневной размер обязательств которого по передаче денежных средств в валюте Российской Федерации по итогам клиринга за последние 12 месяцев (трлн. рублей)",
|
||||
"values": {
|
||||
"III": "менее 1",
|
||||
"II": "более или равно 1, но менее 10",
|
||||
"I": "более или равно 10"
|
||||
}
|
||||
},
|
||||
{
|
||||
"num": "10.2",
|
||||
"name": "Прекращение или нарушение проведения учетно-расчетных операций, осуществляемых субъектом критической информационной инфраструктуры, являющимся центральным депозитарием и регистратором финансовых транзакций, среднедневное количество ценных бумаг (ISIN) российских эмитентов, которые учитывались на счетах в центральном депозитарии (оцениваемые за последние 12 месяцев в тыс. штук)",
|
||||
"values": {
|
||||
"III": "менее 10",
|
||||
"II": "более или равно 10, но менее 25",
|
||||
"I": "более или равно 25"
|
||||
}
|
||||
},
|
||||
{
|
||||
"num": "10.3",
|
||||
"name": "Прекращение или нарушение проведения операций по выплатам, передаче и размещению денежных средств, осуществляемых субъектом критической информационной инфраструктуры, являющимся негосударственным пенсионным фондом, которые оцениваются объемом активов (суммой пенсионных накоплений и пенсионных резервов) негосударственного пенсионного фонда (млрд. рублей)",
|
||||
"values": {
|
||||
"III": "более или равно 50, но менее 1000",
|
||||
"II": "более или равно 1000, но менее 2000",
|
||||
"I": "более или равно 2000"
|
||||
}
|
||||
},
|
||||
{
|
||||
"num": "10.4",
|
||||
"name": "Прекращение или нарушение проведения операций по выплатам, перестрахованию, инвестициям, осуществляемых субъектом критической информационной инфраструктуры, являющимся страховой организацией, которые оцениваются объемом активов страховой организации (млрд. рублей)",
|
||||
"values": {
|
||||
"III": "более или равно 100, но менее 1500",
|
||||
"II": "более или равно 1500, но менее 5000",
|
||||
"I": "более или равно 5000"
|
||||
}
|
||||
},
|
||||
{
|
||||
"num": "10.5",
|
||||
"name": "Прекращение или нарушение выполнения функций по переводу денежных средств, осуществляемых субъектом критической информационной инфраструктуры, являющимся оператором услуг информационного обмена (некредитной организацией), который оценивается количеством заключенных договоров с кредитными организациями",
|
||||
"values": {
|
||||
"III": "более или равно 25, но менее 100",
|
||||
"II": "более или равно 100, но менее 150",
|
||||
"I": "более или равно 150"
|
||||
}
|
||||
},
|
||||
{
|
||||
"num": "10.6",
|
||||
"name": "Прекращение или нарушение выполнения деятельности по предоставлению потребительских займов субъектом критической информационной инфраструктуры, являющимся микрофинансовой компанией, которые оцениваются суммой микрозаймов, выданных за годовой отчетный период (млрд. рублей)",
|
||||
"values": {
|
||||
"III": "более или равно 100, но менее 1000",
|
||||
"II": "более или равно 1000, но менее 5000",
|
||||
"I": "более или равно 5000"
|
||||
}
|
||||
},
|
||||
{
|
||||
"num": "10.7",
|
||||
"name": "Прекращение или нарушение предоставления пользователям кредитных историй и субъектам кредитных историй услуг, предусмотренных Федеральным законом «О кредитных историях», субъектом критической информационной инфраструктуры, являющимся бюро кредитных историй, которые оцениваются количеством кредитных историй, хранящихся в бюро кредитных историй (млн. единиц)",
|
||||
"values": {
|
||||
"III": "более или равно 30, но менее 200",
|
||||
"II": "более или равно 200, но менее 500",
|
||||
"I": "более или равно 500"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"criteria": "Экологическая значимость",
|
||||
"criteria": "IV. Экологическая значимость",
|
||||
"indicators": [
|
||||
{
|
||||
"name": "Площадь территории, на которой может быть оказано негативное воздействие на окружающую среду",
|
||||
"scale": {
|
||||
"4": "более 1000 кв. км",
|
||||
"3": "от 100 до 1000 кв. км",
|
||||
"2": "от 10 до 100 кв. км",
|
||||
"1": "менее 10 кв. км"
|
||||
"num": "11а",
|
||||
"name": "Вредные воздействия на окружающую среду, оцениваемые на территории, на которой окружающая среда может подвергнуться вредным воздействиям",
|
||||
"values": {
|
||||
"III": "в пределах территории одного муниципального образования (численностью от 2 тыс. чел.) или одной внутригородской территории города федерального значения, с выходом вредных воздействий за пределы территории субъекта критической информационной инфраструктуры",
|
||||
"II": "выход за пределы территории одного муниципального образования (численностью от 2 тыс. чел.) или одной внутригородской территории города федерального значения, но не за пределы территории одного субъекта Российской Федерации или территории города федерального значения, с выходом вредных воздействий за пределы территории субъекта критической информационной инфраструктуры",
|
||||
"I": "выход за пределы территории одного субъекта Российской Федерации или территории города федерального значения, с выходом вредных воздействий за пределы территории субъекта критической информационной инфраструктуры"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Возможность нанесения ущерба объектам животного и растительного мира, водным объектам",
|
||||
"scale": {
|
||||
"4": "необратимый ущерб экосистемам",
|
||||
"3": "значительный ущерб",
|
||||
"2": "умеренный ущерб",
|
||||
"1": "незначительный ущерб"
|
||||
"num": "11б",
|
||||
"name": "Вредные воздействия на окружающую среду, оцениваемые по количеству людей, которые могут быть подвержены вредным воздействиям (тыс. человек)",
|
||||
"values": {
|
||||
"III": "более или равно 2, но менее 1 000",
|
||||
"II": "более или равно 1 000, но менее 5 000",
|
||||
"I": "более или равно 5 000"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"criteria": "Значимость для обороны страны, безопасности государства и правопорядка",
|
||||
"criteria": "V. Значимость для обеспечения обороны страны, безопасности государства и правопорядка",
|
||||
"indicators": [
|
||||
{
|
||||
"name": "Влияние нарушения безопасности объекта КИИ на обороноспособность страны",
|
||||
"scale": {
|
||||
"4": "критическое влияние",
|
||||
"3": "высокое влияние",
|
||||
"2": "среднее влияние",
|
||||
"1": "низкое влияние"
|
||||
"num": "12",
|
||||
"name": "Прекращение или нарушение функционирования (невыполнение установленных показателей) пункта управления (ситуационного центра), оцениваемое в уровне (значимости) пункта управления или ситуационного центра",
|
||||
"values": {
|
||||
"III": "прекращение или нарушение функционирования пункта управления или ситуационного центра органа государственной власти субъекта Российской Федерации или города федерального значения",
|
||||
"II": "прекращение или нарушение функционирования пункта управления или ситуационного центра федерального органа государственной власти или государственной корпорации",
|
||||
"I": "прекращение или нарушение функционирования пункта управления государством или ситуационного центра Администрации Президента Российской Федерации, Правительства Российской Федерации, Федерального Собрания Российской Федерации, Совета Безопасности Российской Федерации, Верховного Суда Российской Федерации, Конституционного Суда Российской Федерации"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Влияние нарушения безопасности объекта КИИ на безопасность государства и правопорядок",
|
||||
"scale": {
|
||||
"4": "критическое влияние",
|
||||
"3": "высокое влияние",
|
||||
"2": "среднее влияние",
|
||||
"1": "низкое влияние"
|
||||
"num": "13а",
|
||||
"name": "Снижение показателей государственного оборонного заказа, выполняемого (обеспечиваемого) субъектом критической информационной инфраструктуры, оцениваемое в снижении объемов продукции (работ, услуг) в заданный период времени (процентов заданного объема продукции)",
|
||||
"values": {
|
||||
"III": "более 0, но менее или равно 10",
|
||||
"II": "более 10, но менее или равно 15",
|
||||
"I": "более 15"
|
||||
}
|
||||
},
|
||||
{
|
||||
"num": "13б",
|
||||
"name": "Снижение показателей государственного оборонного заказа, выполняемого (обеспечиваемого) субъектом критической информационной инфраструктуры, оцениваемое в увеличении времени изготовления единицы продукции с заданным объемом (процентов установленного времени на изготовление единицы продукции)",
|
||||
"values": {
|
||||
"III": "более 0, но менее или равно 10",
|
||||
"II": "более 10, но менее или равно 40",
|
||||
"I": "более 40"
|
||||
}
|
||||
},
|
||||
{
|
||||
"num": "13.1",
|
||||
"name": "Снижение показателей государственного оборонного заказа, выполняемого (обеспечиваемого) субъектом критической информационной инфраструктуры, оцениваемое по его статусу в кооперации головного исполнителя поставок продукции по государственному оборонному заказу",
|
||||
"values": {
|
||||
"III": "соисполнитель, субподрядчик или поставщик части продукции, работ и услуг в рамках контракта по государственному оборонному заказу совместно с исполнителем, заключившим контракт с головным исполнителем государственного оборонного заказа",
|
||||
"II": "исполнитель контракта по государственному оборонному заказу, заключивший контракт с головным исполнителем государственного оборонного заказа",
|
||||
"I": "головной исполнитель поставок продукции, работ и услуг по государственному оборонному заказу"
|
||||
}
|
||||
},
|
||||
{
|
||||
"num": "14",
|
||||
"name": "Прекращение или нарушение функционирования (невыполнение установленных показателей) информационной системы в области обеспечения обороны страны, безопасности государства и правопорядка, оцениваемое в максимально допустимом времени, в течение которого информационная система может быть недоступна пользователю (часов)",
|
||||
"values": {
|
||||
"III": "менее или равно 4, но более 2",
|
||||
"II": "менее или равно 2, но более 1",
|
||||
"I": "менее или равно 1"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
+83
-57
@@ -1746,12 +1746,16 @@ class DokoGenApp:
|
||||
self.users_listbox.insert(tk.END, user)
|
||||
|
||||
def _open_criteria_127_dialog(self):
|
||||
"""Окно заполнения показателей критериев значимости по таблице ПП РФ № 127.
|
||||
"""Окно заполнения показателей критериев значимости по ПП РФ № 127.
|
||||
|
||||
Показатели и обоснование объединены в одном окне:
|
||||
для каждого показателя выбирается значение (1-4), внизу — общее обоснование.
|
||||
По максимальному баллу автоматически рассчитывается категория значимости:
|
||||
4 → 1-я, 3 → 2-я, 2 → 3-я, иначе «без категории».
|
||||
Таблица перенесена дословно из Постановления Правительства РФ от 08.02.2019 № 127:
|
||||
5 критериев (социальная, политическая, экономическая, экологическая,
|
||||
значимость для обороны страны), показатели 1-14 с подпунктами,
|
||||
значения сразу привязаны к категориям III / II / I.
|
||||
|
||||
Категория значимости объекта определяется по наибольшей категории,
|
||||
которой соответствует хотя бы один выбранный показатель:
|
||||
I → 1-я категория, II → 2-я, III → 3-я, иначе «без категории».
|
||||
"""
|
||||
import json as _json
|
||||
dict_path = os.path.join(os.path.dirname(__file__), 'dictionaries', 'criteria_127.json')
|
||||
@@ -1764,7 +1768,7 @@ class DokoGenApp:
|
||||
|
||||
dialog = tk.Toplevel(self.root)
|
||||
dialog.title("Показатели критериев значимости (ПП РФ № 127)")
|
||||
dialog.geometry("860x640")
|
||||
dialog.geometry("980x700")
|
||||
dialog.transient(self.root)
|
||||
dialog.grab_set()
|
||||
|
||||
@@ -1780,39 +1784,46 @@ class DokoGenApp:
|
||||
canvas.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
|
||||
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
|
||||
|
||||
ttk.Label(body, text="Показатели критериев значимости объекта КИИ (ПП РФ № 127)",
|
||||
font=('Arial', 10, 'bold')).pack(anchor=tk.W, pady=(0, 4))
|
||||
ttk.Label(body, text="По каждому показателю выберите значение от 1 до 4 "
|
||||
"(4 — максимальная значимость). Категория рассчитывается автоматически.",
|
||||
foreground='gray', wraplength=780).pack(anchor=tk.W, pady=(0, 8))
|
||||
ttk.Label(body, text="Показатели критериев значимости объекта КИИ",
|
||||
font=('Arial', 11, 'bold')).pack(anchor=tk.W, pady=(0, 2))
|
||||
ttk.Label(body, text="Постановление Правительства РФ от 08.02.2019 № 127 «Об утверждении Правил категорирования "
|
||||
"объектов критической информационной инфраструктуры РФ» (приложение). "
|
||||
"По каждому показателю выберите значение, которому соответствует объект. "
|
||||
"Категория определяется по наивысшей из выбранных.",
|
||||
foreground='gray', wraplength=920, justify=tk.LEFT).pack(anchor=tk.W, pady=(0, 8))
|
||||
|
||||
# Текущие значения из listbox (чтобы предзаполнить, если уже заполнено)
|
||||
cur_values = set()
|
||||
if hasattr(self, 'is_criteria_values_listbox'):
|
||||
for i in range(self.is_criteria_values_listbox.size()):
|
||||
cur_values.add(str(self.is_criteria_values_listbox.get(i)))
|
||||
rows = [] # (num, name, values{III:..,II:..,I:..}, var)
|
||||
|
||||
rows = [] # (критерий, показатель, scale, var)
|
||||
for crit in criteria:
|
||||
grp = ttk.LabelFrame(body, text=crit.get('criteria', ''), padding=6)
|
||||
grp.pack(fill=tk.X, pady=4)
|
||||
for ind in crit.get('indicators', []):
|
||||
num = ind.get('num', '')
|
||||
name = ind.get('name', '')
|
||||
scale = ind.get('scale', {})
|
||||
values = ind.get('values', {})
|
||||
row = ttk.Frame(grp)
|
||||
row.pack(fill=tk.X, pady=2)
|
||||
ttk.Label(row, text=name, wraplength=520, justify=tk.LEFT).pack(side=tk.LEFT)
|
||||
# Номер показателя
|
||||
ttk.Label(row, text=num, width=4, font=('Arial', 9, 'bold')).pack(side=tk.LEFT)
|
||||
# Текст показателя
|
||||
ttk.Label(row, text=name, wraplength=640, justify=tk.LEFT).pack(side=tk.LEFT)
|
||||
# Выбор значения (категория)
|
||||
var = tk.StringVar(value='')
|
||||
combo = ttk.Combobox(row, textvariable=var, state='readonly', width=6,
|
||||
values=['', '1', '2', '3', '4'])
|
||||
options = ['']
|
||||
for cat in ('III', 'II', 'I'):
|
||||
v = values.get(cat, '')
|
||||
if v:
|
||||
options.append(f"{cat} категория: {v}")
|
||||
combo = ttk.Combobox(row, textvariable=var, state='readonly', width=34,
|
||||
values=options)
|
||||
combo.pack(side=tk.RIGHT, padx=6)
|
||||
rows.append((crit.get('criteria', ''), name, scale, var))
|
||||
rows.append((num, name, values, var))
|
||||
|
||||
# Обоснование
|
||||
ttk.Label(body, text="Обоснование полученных значений:", font=('Arial', 9, 'bold')).pack(
|
||||
anchor=tk.W, pady=(10, 2))
|
||||
justify_txt = tk.Text(body, width=90, height=5, wrap=tk.WORD)
|
||||
justify_txt = tk.Text(body, width=110, height=5, wrap=tk.WORD)
|
||||
justify_txt.pack(fill=tk.X, pady=(0, 6))
|
||||
# предзаполнить обоснование из listbox, если есть
|
||||
if hasattr(self, 'is_criteria_justification_listbox') and self.is_criteria_justification_listbox.size():
|
||||
justify_txt.insert('1.0', '\n'.join(
|
||||
self.is_criteria_justification_listbox.get(i)
|
||||
@@ -1821,52 +1832,67 @@ class DokoGenApp:
|
||||
result_lbl = ttk.Label(body, text="Категория значимости: —", font=('Arial', 10, 'bold'))
|
||||
result_lbl.pack(anchor=tk.W, pady=(6, 0))
|
||||
|
||||
def _selected():
|
||||
"""Список выбранных: [(num, name, категория, значение)]."""
|
||||
out = []
|
||||
for num, name, values, var in rows:
|
||||
s = var.get().strip()
|
||||
if not s:
|
||||
continue
|
||||
cat = s.split(' ')[0] # III/II/I
|
||||
val = s.split(': ', 1)[1] if ': ' in s else ''
|
||||
out.append((num, name, cat, val))
|
||||
return out
|
||||
|
||||
def _calc_category(selected):
|
||||
"""Категория по наивысшей из выбранных."""
|
||||
cats = [c for _, _, c, _ in selected]
|
||||
if 'I' in cats:
|
||||
return '1'
|
||||
if 'II' in cats:
|
||||
return '2'
|
||||
if 'III' in cats:
|
||||
return '3'
|
||||
return 'без категории'
|
||||
|
||||
def _calc():
|
||||
vals = []
|
||||
for crit_name, ind_name, scale, var in rows:
|
||||
v = var.get().strip()
|
||||
if v:
|
||||
desc = scale.get(v, '')
|
||||
vals.append(f"{crit_name}: {ind_name} — {v}" + (f" ({desc})" if desc else ""))
|
||||
if vals:
|
||||
self.is_criteria_values_listbox.delete(0, tk.END)
|
||||
for line in vals:
|
||||
self.is_criteria_values_listbox.insert(tk.END, line)
|
||||
# Категория по максимальному баллу
|
||||
nums = [int(var.get()) for _, _, _, var in rows if var.get().strip().isdigit()]
|
||||
if nums:
|
||||
mx = max(nums)
|
||||
cat = {4: '1', 3: '2', 2: '3'}.get(mx, 'без категории')
|
||||
result_lbl.config(text=f"Категория значимости: {cat} (макс. балл {mx})")
|
||||
else:
|
||||
selected = _selected()
|
||||
if not selected:
|
||||
result_lbl.config(text="Категория значимости: — (ничего не выбрано)")
|
||||
return
|
||||
cat = _calc_category(selected)
|
||||
result_lbl.config(text=f"Категория значимости: {cat} (выбрано показателей: {len(selected)})")
|
||||
|
||||
def _save():
|
||||
vals = []
|
||||
for crit_name, ind_name, scale, var in rows:
|
||||
v = var.get().strip()
|
||||
if v:
|
||||
desc = scale.get(v, '')
|
||||
vals.append(f"{crit_name}: {ind_name} — {v}" + (f" ({desc})" if desc else ""))
|
||||
selected = _selected()
|
||||
# Заполняем список показателей
|
||||
lines = []
|
||||
for num, name, cat, val in selected:
|
||||
lines.append(f"Показатель {num}. {name} — {cat} категория: {val}")
|
||||
if hasattr(self, 'is_criteria_values_listbox'):
|
||||
self.is_criteria_values_listbox.delete(0, tk.END)
|
||||
for line in vals:
|
||||
for line in lines:
|
||||
self.is_criteria_values_listbox.insert(tk.END, line)
|
||||
# Обоснование
|
||||
# Категория значимости
|
||||
cat = _calc_category(selected)
|
||||
if hasattr(self, 'is_category_var'):
|
||||
self.is_category_var.set(cat)
|
||||
# Обоснование: если поле пустое — сформируем автоматически
|
||||
j = justify_txt.get('1.0', 'end-1c').strip()
|
||||
auto_just = (
|
||||
f"Категория значимости объекта КИИ определена в соответствии с Правилами категорирования "
|
||||
f"объектов критической информационной инфраструктуры РФ (ПП РФ от 08.02.2019 № 127). "
|
||||
f"Объект отнесён к {cat} категории значимости. Основания: "
|
||||
+ "; ".join(f"показатель {num} ({cat} категория)" for num, _, cat, _ in selected) + "."
|
||||
)
|
||||
if not j:
|
||||
j = auto_just
|
||||
if hasattr(self, 'is_criteria_justification_listbox'):
|
||||
self.is_criteria_justification_listbox.delete(0, tk.END)
|
||||
for line in j.split('\n'):
|
||||
if line.strip():
|
||||
self.is_criteria_justification_listbox.insert(tk.END, line.strip())
|
||||
# Категория → в поле категории объекта
|
||||
nums = [int(var.get()) for _, _, _, var in rows if var.get().strip().isdigit()]
|
||||
if nums:
|
||||
mx = max(nums)
|
||||
cat = {4: '1', 3: '2', 2: '3'}.get(mx, 'без категории')
|
||||
if hasattr(self, 'is_category_var'):
|
||||
self.is_category_var.set(cat)
|
||||
self.log(f"📋 Показатели критериев значимости сохранены ({len(vals)} шт.)")
|
||||
self.log(f"📋 Критерии значимости (ПП 127) сохранены: категория {cat}, показателей: {len(selected)}")
|
||||
dialog.destroy()
|
||||
|
||||
btn_frame = ttk.Frame(body)
|
||||
|
||||
Reference in New Issue
Block a user