diff --git a/data/disconnect.png b/data/disconnect.png new file mode 100644 index 00000000..d2bbfb02 Binary files /dev/null and b/data/disconnect.png differ diff --git a/data/disconnect.png.import b/data/disconnect.png.import new file mode 100644 index 00000000..4f31a2fc --- /dev/null +++ b/data/disconnect.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cjsr544qccftu" +path="res://.godot/imported/disconnect.png-c8d8039f8761972a5ad748aee64d2372.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://data/disconnect.png" +dest_files=["res://.godot/imported/disconnect.png-c8d8039f8761972a5ad748aee64d2372.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/data/фронт-задний-1.png b/data/фронт-задний-1.png new file mode 100644 index 00000000..cf76e358 Binary files /dev/null and b/data/фронт-задний-1.png differ diff --git a/data/фронт-задний-1.png.import b/data/фронт-задний-1.png.import new file mode 100644 index 00000000..4d0138a6 --- /dev/null +++ b/data/фронт-задний-1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c6yuv0b51aauw" +path="res://.godot/imported/фронт-задний-1.png-915a1bfffb92408db01e467dacb0f791.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://data/фронт-задний-1.png" +dest_files=["res://.godot/imported/фронт-задний-1.png-915a1bfffb92408db01e467dacb0f791.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/data/фронт-передний-1.png b/data/фронт-передний-1.png new file mode 100644 index 00000000..1023a883 Binary files /dev/null and b/data/фронт-передний-1.png differ diff --git a/data/фронт-передний-1.png.import b/data/фронт-передний-1.png.import new file mode 100644 index 00000000..1eb90fab --- /dev/null +++ b/data/фронт-передний-1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ysctr84e77dc" +path="res://.godot/imported/фронт-передний-1.png-2b5cc1de539b24748e23cc42e96963c9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://data/фронт-передний-1.png" +dest_files=["res://.godot/imported/фронт-передний-1.png-2b5cc1de539b24748e23cc42e96963c9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/scenes/button_flat.tscn b/scenes/button_flat.tscn index 113aace3..e34193a5 100644 --- a/scenes/button_flat.tscn +++ b/scenes/button_flat.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=9 format=3 uid="uid://da7w3vkhadfwe"] -[ext_resource type="Script" path="res://scenes/nine-patch-button.gd" id="1_pj5mi"] -[ext_resource type="Texture2D" uid="uid://ct0ajcwno03h7" path="res://data/кнопка-квадрат-0.png" id="2_fd346"] +[ext_resource type="Script" path="res://scenes/nine-patch-button.gd" id="1_mjhcv"] +[ext_resource type="Texture2D" uid="uid://ct0ajcwno03h7" path="res://data/кнопка-квадрат-0.png" id="2_fosdr"] [sub_resource type="StyleBoxEmpty" id="1"] @@ -19,13 +19,13 @@ offset_right = 30.0 offset_bottom = 30.0 theme_override_styles/panel = SubResource("1") -script = ExtResource("1_pj5mi") +script = ExtResource("1_mjhcv") toggle_mode = true [node name="state" type="NinePatchRect" parent="."] show_behind_parent = true layout_mode = 2 -texture = ExtResource("2_fd346") +texture = ExtResource("2_fosdr") patch_margin_left = 10 patch_margin_top = 10 patch_margin_right = 10 diff --git a/scenes/cell-front-rear.tscn b/scenes/cell-front-rear.tscn new file mode 100644 index 00000000..a1f3e095 --- /dev/null +++ b/scenes/cell-front-rear.tscn @@ -0,0 +1,29 @@ +[gd_scene load_steps=4 format=3 uid="uid://b8txs4xi722wt"] + +[ext_resource type="Script" path="res://scenes/cell-front.gd" id="1_mqqck"] +[ext_resource type="Texture2D" uid="uid://c6yuv0b51aauw" path="res://data/фронт-задний-1.png" id="2_1n84q"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_2thpi"] +bg_color = Color(0.8, 0.533333, 0.27451, 1) + +[node name="header" type="Control"] +clip_contents = true +layout_mode = 3 +anchors_preset = 0 +offset_right = 71.0 +offset_bottom = 21.0 +script = ExtResource("1_mqqck") + +[node name="label" type="Label" parent="."] +clip_contents = true +layout_mode = 0 +offset_right = 71.0 +offset_bottom = 21.0 +theme_override_colors/font_color = Color(0, 0, 0, 1) +theme_override_styles/normal = SubResource("StyleBoxFlat_2thpi") +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="Sprite2D" type="Sprite2D" parent="."] +position = Vector2(58, 11) +texture = ExtResource("2_1n84q") diff --git a/scenes/cell-front.gd b/scenes/cell-front.gd new file mode 100644 index 00000000..1da989c0 --- /dev/null +++ b/scenes/cell-front.gd @@ -0,0 +1,15 @@ +extends Control + +@export var text: String = '': + set(val): $label.set_text(val) + get: return $label.get_text() + + +# Called when the node enters the scene tree for the first time. +func _ready(): + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass diff --git a/scenes/cell-front.tscn b/scenes/cell-front.tscn new file mode 100644 index 00000000..2e5bb0d9 --- /dev/null +++ b/scenes/cell-front.tscn @@ -0,0 +1,29 @@ +[gd_scene load_steps=4 format=3 uid="uid://bccr42bckei41"] + +[ext_resource type="Script" path="res://scenes/cell-front.gd" id="1_2udab"] +[ext_resource type="Texture2D" uid="uid://ysctr84e77dc" path="res://data/фронт-передний-1.png" id="2_pv2td"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_2thpi"] +bg_color = Color(0.8, 0.533333, 0.27451, 1) + +[node name="header" type="Control"] +clip_contents = true +layout_mode = 3 +anchors_preset = 0 +offset_right = 71.0 +offset_bottom = 21.0 +script = ExtResource("1_2udab") + +[node name="label" type="Label" parent="."] +clip_contents = true +layout_mode = 0 +offset_right = 71.0 +offset_bottom = 21.0 +theme_override_colors/font_color = Color(0, 0, 0, 1) +theme_override_styles/normal = SubResource("StyleBoxFlat_2thpi") +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="Sprite2D" type="Sprite2D" parent="."] +position = Vector2(16, 11) +texture = ExtResource("2_pv2td") diff --git a/scenes/tab_switch.tscn b/scenes/tab_switch.tscn index 6b4e5013..528f0e63 100644 --- a/scenes/tab_switch.tscn +++ b/scenes/tab_switch.tscn @@ -1,27 +1,27 @@ [gd_scene load_steps=6 format=3 uid="uid://3slb0i3pvowc"] -[ext_resource type="Script" path="res://scenes/tab_switch.gd" id="1_r7gaj"] -[ext_resource type="PackedScene" uid="uid://b276iygic5itk" path="res://scenes/работа.tscn" id="2_3hqmk"] -[ext_resource type="PackedScene" uid="uid://lwmw4egynmd1" path="res://scenes/контроль.tscn" id="3_lfxwa"] -[ext_resource type="PackedScene" uid="uid://trt0q8th3bn2" path="res://scenes/журнал.tscn" id="4_mga58"] -[ext_resource type="PackedScene" uid="uid://dab6loryocc73" path="res://scenes/ЭМС.tscn" id="5_fihje"] +[ext_resource type="Script" path="res://scenes/tab_switch.gd" id="1_us5gl"] +[ext_resource type="PackedScene" uid="uid://b276iygic5itk" path="res://scenes/работа.tscn" id="2_11flg"] +[ext_resource type="PackedScene" uid="uid://lwmw4egynmd1" path="res://scenes/контроль.tscn" id="3_iup7b"] +[ext_resource type="PackedScene" uid="uid://trt0q8th3bn2" path="res://scenes/журнал.tscn" id="4_ubrbk"] +[ext_resource type="PackedScene" uid="uid://dab6loryocc73" path="res://scenes/ЭМС.tscn" id="5_eeoft"] [node name="tab_switch" type="TabContainer"] offset_right = 1600.0 offset_bottom = 1200.0 -script = ExtResource("1_r7gaj") +script = ExtResource("1_us5gl") -[node name="работа" parent="." instance=ExtResource("2_3hqmk")] +[node name="работа" parent="." instance=ExtResource("2_11flg")] layout_mode = 2 -[node name="контроль" parent="." instance=ExtResource("3_lfxwa")] +[node name="контроль" parent="." instance=ExtResource("3_iup7b")] visible = false layout_mode = 2 -[node name="журнал" parent="." instance=ExtResource("4_mga58")] +[node name="журнал" parent="." instance=ExtResource("4_ubrbk")] visible = false layout_mode = 2 -[node name="ЭМС" parent="." instance=ExtResource("5_fihje")] +[node name="ЭМС" parent="." instance=ExtResource("5_eeoft")] visible = false layout_mode = 2 diff --git a/scenes/ЭМС.gd b/scenes/ЭМС.gd index ada4b558..76974070 100644 --- a/scenes/ЭМС.gd +++ b/scenes/ЭМС.gd @@ -7,6 +7,8 @@ const CellLineEdit = preload('res://scenes/ячейка-2.tscn') const CellState = preload('res://scenes/состояния-эмс.tscn') const CellOptBtn = preload('res://scenes/кнопка-5.tscn') const CellLEEmpty = preload('res://scenes/line_edit_empty.tscn') +const CellFront = preload('res://scenes/cell-front.tscn') +const CellFrontRear = preload('res://scenes/cell-front-rear.tscn') # Режимы работы выходов const OUT_MODE: Array = ['Работа', 'Контроль', '1', '0'] @@ -17,8 +19,8 @@ const IN_SET_ROW: Array = [CellLineEdit, CellLEEmpty, CellLEEmpty, CellLEEmpty, var g_boards: Dictionary # Список плат -var posx: int = 35 # Позиция элементов по x -var posy: int = 60 # Позиция элементов по y +var posx: int = 125 # Позиция элементов по x +var posy: int = 70 # Позиция элементов по y func _ready() -> void: call_deferred('init_boards') @@ -29,34 +31,77 @@ func init_boards(): $scrollout.set_position(Vector2(posx+650,posy)) $scrl_in_set.set_position(Vector2(posx,posy + 700)) $scrl_out_set.set_position(Vector2(posx+650,posy + 700)) - #$tbl_files.set_position(Vector2(posx + 890,len(INPUT_ROWS)*33+posy+300)) - #$btn_new.set_position(Vector2(posx + 1270,len(INPUT_ROWS)*33+posy+294)) - #$btn_save.set_position(Vector2(posx + 1270,len(INPUT_ROWS)*33+posy+344)) - #$btn_copy.set_position(Vector2(posx + 1270,len(INPUT_ROWS)*33+posy+394)) $lbl_online.set_position(Vector2(posx,posy-60)) - $btn_flash_read.set_position(Vector2(posx+1400,posy)) - $btn_flash_write.set_position(Vector2(posx+1400,posy+35)) + $btn_flash_read.set_position(Vector2(posx,posy + 900)) + $btn_flash_write.set_position(Vector2(posx,posy+ 935)) $btn_connect.set_position(Vector2(posx+590,posy-25)) - g_boards['КЭМС'] = Yemsboards.EmsBoard.new('КЭМС', 0x130, YemsConsts.INPUT_ROWS0, YemsConsts.OUTPUT_ROWS0) + $btn_disconnect.set_position(Vector2(posx+587,posy + 675)) + g_boards['КЭМС'] = Yemsboards.EmsBoard.new('КЭМС', 0x130, YemsConsts.INPUT_ROWS, YemsConsts.OUTPUT_ROWS) g_boards['П5-28'] = Yemsboards.EmsBoard.new('П5-28', 0x140, YemsConsts.INPUT_ROWS1, YemsConsts.OUTPUT_ROWS1) - init_tbls_in() + init_tbl_in() $scrollin/tbl_in.pin_header($scrollin, self) - init_tbls_out() + init_tbl_out() $scrollout/tbl_out.pin_header($scrollout, self) $scrl_in_set/tbl_in_set.pin_header($scrl_in_set, self) - $scrl_out_set/tbl_out_set.pin_header($scrl_out_set, self) + $scrl_out_set/tbl_out_set.pin_header($scrl_out_set, self) + init_tbl_files() + $scrl_files/tbl_files.pin_header($scrl_files, self) $btn_connect.connect('pressed', Callable(self, 'on_btn_connect')) + $btn_disconnect.connect('pressed', Callable(self, 'on_btn_disconnect')) + $btn_flash_read.button_connect('pressed', Callable(self, 'on_btn_flash_read').bind($btn_flash_read)) + $btn_flash_write.button_connect('pressed', Callable(self, 'on_btn_flash_write').bind($btn_flash_write)) -func init_tbls_in(): - var header_type: Array = [TableHeader, TableHeader, TableHeader, TableHeader, TableHeader] +func on_btn_disconnect(): + var selecter_rows_in: Array = [] + var selecter_rows_out: Array = [] + $scrl_in_set/tbl_in_set.get_selected_rows(selecter_rows_in) + $scrl_out_set/tbl_out_set.get_selected_rows(selecter_rows_out) + if len(selecter_rows_in): + on_disconnect($scrl_in_set/tbl_in_set, selecter_rows_in, 'вход') + elif len(selecter_rows_out): + on_disconnect($scrl_out_set/tbl_out_set, selecter_rows_out, 'выход') + + +func on_disconnect(tbl, selecter_rows, type_dev: String): + var dev = tbl.get_node_user_data(0, 0) + var user_data: Array = tbl.get_node_user_data(0, selecter_rows[0]) + var con_dev = user_data[0] + var con_dev_name: String = con_dev.dev_name + dev.connect_devs.erase(con_dev.dev_name) + con_dev.connect_devs.erase(dev.dev_name) + if type_dev == 'вход': + set_in_dev(dev) + set_out_dev(con_dev) + elif type_dev == 'выход': + set_in_dev(con_dev) + set_out_dev(dev) + + +func on_btn_flash_read(btn): + await get_tree().create_timer(0.1).timeout + btn.pressed = false + + +func on_btn_flash_write(btn): + await get_tree().create_timer(0.1).timeout + btn.pressed = false + + +func init_tbl_files(): + $scrl_files/tbl_files.set_header([TableHeader, TableHeader, TableHeader]) + $scrl_files/tbl_files.set_header_text(['Имя файла', 'Дата изменения', 'Размер']) + $scrl_files/tbl_files.set_columns_min_size([200, 120, 70]) + + +func init_tbl_in(): + var header_type: Array = [TableHeader, TableHeader, CellFront, CellFrontRear, TableHeader] var header_text: Array = ['Входы', 'Соединитель', 'мкс', 'мкс', 'Состояние'] var row_type: Array = [CellLineEdit, CellLineEdit, CellLineEdit, CellLineEdit, CellState] var yams_alligment_in: Array = [ HORIZONTAL_ALIGNMENT_LEFT, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER] var column_size: Array = [250, 100, 70, 70, 50] $scrollin/tbl_in.set_header(header_type) $scrollin/tbl_in.set_header_text(header_text) - $scrollin/tbl_in.set_columns_alignments(yams_alligment_in) for board in g_boards: for item in g_boards[board].in_tbl: $scrollin/tbl_in.add_row(row_type) @@ -70,6 +115,7 @@ func init_tbls_in(): node.text = params[i] node.editable = false $scrollin/tbl_in.set_node_user_data(i, row_index, [in_dev, board]) + $scrollin/tbl_in.set_columns_alignments(yams_alligment_in) $scrollin/tbl_in.set_columns_min_size(column_size) $scrollin/tbl_in.connect('row_pressed', Callable(self, 'on_row_pressed_in')) $scrollin/tbl_in.connect('selected_changed', Callable(self, 'on_selected_changed_in')) @@ -90,8 +136,7 @@ func on_selected_changed_in(i_row: int): $scrollin/tbl_in.get_selected_rows(selecter_rows) var user_data = $scrollin/tbl_in.get_node_user_data(0, i_row) var dev = user_data[0] - var board = user_data[1] - set_in_dev(board, dev) + set_in_dev(dev) func on_row_pressed_in(i_row: int): @@ -99,7 +144,7 @@ func on_row_pressed_in(i_row: int): on_selected_changed_in(i_row) -func set_in_dev(_board, dev): +func set_in_dev(dev): var row_type: Array = [CellLineEdit, CellLineEdit, CellLineEdit, CellLineEdit, CellState] set_dev($scrl_in_set/tbl_in_set, dev, row_type, IN_SET_ROW, 'Список соединённых выходов :') @@ -123,9 +168,9 @@ func on_row_pressed_si(i_row: int): on_selected_changed_si(i_row) -func init_tbls_out(): +func init_tbl_out(): var header_text = ['Выходы', 'Соединитель', 'мкс', 'мкс', 'Состояние', 'Режим'] - $scrollout/tbl_out.set_header([TableHeader, TableHeader, TableHeader, TableHeader, TableHeader, TableHeader]) + $scrollout/tbl_out.set_header([TableHeader, TableHeader, CellFront, CellFrontRear, TableHeader, TableHeader]) $scrollout/tbl_out.set_header_text(header_text) for board in g_boards: for item in g_boards[board].out_tbl: @@ -147,7 +192,7 @@ func init_tbls_out(): $scrollout/tbl_out.connect('selected_changed', Callable(self, 'on_selected_changed_out')) header_text[0] = 'Выход' - $scrl_out_set/tbl_out_set.set_header([TableHeader, TableHeader, TableHeader, TableHeader, TableHeader, TableHeader]) + $scrl_out_set/tbl_out_set.set_header([TableHeader, TableHeader, CellFront, CellFrontRear, TableHeader, TableHeader]) $scrl_out_set/tbl_out_set.set_header_text(header_text) $scrl_out_set/tbl_out_set.set_columns_min_size([250, 100, 70, 70, 70, 100]) $scrl_out_set/tbl_out_set.connect('row_pressed', Callable(self, 'on_row_pressed_so')) @@ -178,8 +223,7 @@ func on_selected_changed_out(i_row: int): $scrollout/tbl_out.get_selected_rows(selecter_rows) var user_data = $scrollout/tbl_out.get_node_user_data(0, i_row) var dev = user_data[0] - var board = user_data[1] - set_out_dev(board, dev) + set_out_dev(dev) func on_row_pressed_out(i_row: int): @@ -187,7 +231,7 @@ func on_row_pressed_out(i_row: int): on_selected_changed_out(i_row) -func set_out_dev(_board, dev): +func set_out_dev(dev): var row_type: Array = [CellLineEdit, CellLineEdit, CellLineEdit, CellLineEdit, CellState, CellOptBtn] set_dev($scrl_out_set/tbl_out_set, dev, row_type, OUT_SET_ROW, 'Список соединённых входов :') var mode = $scrl_out_set/tbl_out_set.get_node2(5, 0) @@ -213,12 +257,12 @@ func set_dev(tbl, dev, row_type, row_type_conn, lbl_text): offset.text = '%4.2f'%dev.offset var state = tbl.get_node2(4, 0) state.set_frame(dev.state) - tbl.add_row(row_type_conn) var lbl: LineEdit = tbl.get_node2(0, 1) lbl.text = lbl_text for i in len(row_type_conn): var le: LineEdit = tbl.get_node2(i, 1) + tbl.set_node_user_data(i, 0, dev) le.editable = false for i in dev.connect_devs: diff --git a/scenes/ЭМС.tscn b/scenes/ЭМС.tscn index 2471b726..09ff147b 100644 --- a/scenes/ЭМС.tscn +++ b/scenes/ЭМС.tscn @@ -1,17 +1,18 @@ -[gd_scene load_steps=8 format=3 uid="uid://dab6loryocc73"] +[gd_scene load_steps=9 format=3 uid="uid://dab6loryocc73"] -[ext_resource type="Script" path="res://scenes/ЭМС.gd" id="1_hwg5h"] -[ext_resource type="Script" path="res://table/table.gd" id="2_naj7s"] -[ext_resource type="PackedScene" uid="uid://da7w3vkhadfwe" path="res://scenes/button_flat.tscn" id="3_tbtow"] -[ext_resource type="Texture2D" uid="uid://dd60btbqnpiqw" path="res://data/document-new-0.png" id="4_iqpou"] -[ext_resource type="Texture2D" uid="uid://coqg6wsftvtxr" path="res://data/document-save-0.png" id="5_7o4f2"] -[ext_resource type="Texture2D" uid="uid://cywuevvpkxl7v" path="res://data/edit-copy-0.png" id="6_0gsa7"] -[ext_resource type="Texture2D" uid="uid://7h55yvh84cve" path="res://data/connect.png" id="7_ocbd5"] +[ext_resource type="Script" path="res://scenes/ЭМС.gd" id="1_bsq82"] +[ext_resource type="PackedScene" uid="uid://da7w3vkhadfwe" path="res://scenes/button_flat.tscn" id="2_rvata"] +[ext_resource type="Texture2D" uid="uid://dd60btbqnpiqw" path="res://data/document-new-0.png" id="3_dk3r7"] +[ext_resource type="Texture2D" uid="uid://coqg6wsftvtxr" path="res://data/document-save-0.png" id="4_djds7"] +[ext_resource type="Texture2D" uid="uid://cywuevvpkxl7v" path="res://data/edit-copy-0.png" id="5_vv6hd"] +[ext_resource type="Texture2D" uid="uid://7h55yvh84cve" path="res://data/connect.png" id="6_nfgq4"] +[ext_resource type="Texture2D" uid="uid://cjsr544qccftu" path="res://data/disconnect.png" id="7_tta4w"] +[ext_resource type="Script" path="res://table/table.gd" id="8_bsui6"] [node name="ЭМС" type="Panel"] offset_right = 1598.0 offset_bottom = 1201.0 -script = ExtResource("1_hwg5h") +script = ExtResource("1_bsq82") [node name="lbl_online" type="Label" parent="."] layout_mode = 0 @@ -19,18 +20,10 @@ offset_left = 30.0 offset_top = 4.0 offset_right = 166.0 offset_bottom = 30.0 -theme_override_colors/font_color = Color(1, 0, 0, 1) -text = "Ячейка не на связи" +theme_override_colors/font_color = Color(0, 0.647059, 0.184314, 1) +text = "Ячейка на связи" -[node name="tbl_files" type="GridContainer" parent="."] -layout_mode = 0 -offset_left = 1050.0 -offset_top = 993.0 -offset_right = 1602.0 -offset_bottom = 1093.0 -script = ExtResource("2_naj7s") - -[node name="btn_flash_read" parent="." instance=ExtResource("3_tbtow")] +[node name="btn_flash_read" parent="." instance=ExtResource("2_rvata")] layout_mode = 0 offset_left = 1446.0 offset_top = 55.0 @@ -38,7 +31,7 @@ offset_right = 1583.0 offset_bottom = 85.0 text = "Прочитать" -[node name="btn_flash_write" parent="." instance=ExtResource("3_tbtow")] +[node name="btn_flash_write" parent="." instance=ExtResource("2_rvata")] layout_mode = 0 offset_left = 1446.0 offset_top = 99.0 @@ -55,7 +48,7 @@ offset_bottom = 1016.0 focus_mode = 0 shortcut_feedback = false shortcut_in_tooltip = false -icon = ExtResource("4_iqpou") +icon = ExtResource("3_dk3r7") [node name="btn_save" type="Button" parent="."] layout_mode = 0 @@ -64,7 +57,7 @@ offset_top = 1017.0 offset_right = 1509.0 offset_bottom = 1073.0 focus_mode = 0 -icon = ExtResource("5_7o4f2") +icon = ExtResource("4_djds7") [node name="btn_copy" type="Button" parent="."] layout_mode = 0 @@ -73,7 +66,7 @@ offset_top = 1074.0 offset_right = 1510.0 offset_bottom = 1130.0 focus_mode = 0 -icon = ExtResource("6_0gsa7") +icon = ExtResource("5_vv6hd") [node name="btn_connect" type="Button" parent="."] layout_mode = 0 @@ -83,7 +76,17 @@ offset_right = 683.0 offset_bottom = 111.0 focus_mode = 0 theme_override_colors/icon_normal_color = Color(1, 1, 1, 1) -icon = ExtResource("7_ocbd5") +icon = ExtResource("6_nfgq4") + +[node name="btn_disconnect" type="Button" parent="."] +layout_mode = 0 +offset_left = 714.0 +offset_top = 741.0 +offset_right = 770.0 +offset_bottom = 815.0 +focus_mode = 0 +theme_override_colors/icon_normal_color = Color(1, 1, 1, 1) +icon = ExtResource("7_tta4w") [node name="scrollin" type="ScrollContainer" parent="."] layout_mode = 0 @@ -94,7 +97,18 @@ offset_bottom = 679.0 [node name="tbl_in" type="GridContainer" parent="scrollin"] layout_mode = 2 -script = ExtResource("2_naj7s") +script = ExtResource("8_bsui6") + +[node name="scrl_files" type="ScrollContainer" parent="."] +layout_mode = 0 +offset_left = 1047.0 +offset_top = 962.0 +offset_right = 1442.0 +offset_bottom = 1166.0 + +[node name="tbl_files" type="GridContainer" parent="scrl_files"] +layout_mode = 2 +script = ExtResource("8_bsui6") [node name="scrollout" type="ScrollContainer" parent="."] layout_mode = 0 @@ -105,26 +119,26 @@ offset_bottom = 679.0 [node name="tbl_out" type="GridContainer" parent="scrollout"] layout_mode = 2 -script = ExtResource("2_naj7s") +script = ExtResource("8_bsui6") [node name="scrl_in_set" type="ScrollContainer" parent="."] layout_mode = 0 offset_left = 120.0 offset_top = 776.0 -offset_right = 689.0 +offset_right = 703.0 offset_bottom = 942.0 [node name="tbl_in_set" type="GridContainer" parent="scrl_in_set"] layout_mode = 2 -script = ExtResource("2_naj7s") +script = ExtResource("8_bsui6") [node name="scrl_out_set" type="ScrollContainer" parent="."] layout_mode = 0 offset_left = 719.0 offset_top = 773.0 -offset_right = 1437.0 +offset_right = 1415.0 offset_bottom = 924.0 [node name="tbl_out_set" type="GridContainer" parent="scrl_out_set"] layout_mode = 2 -script = ExtResource("2_naj7s") +script = ExtResource("8_bsui6") diff --git a/scenes/работа.tscn b/scenes/работа.tscn index 45d89ca1..9ccc9e2b 100644 --- a/scenes/работа.tscn +++ b/scenes/работа.tscn @@ -1,19 +1,19 @@ [gd_scene load_steps=10 format=3 uid="uid://b276iygic5itk"] -[ext_resource type="Script" path="res://scenes/работа.gd" id="1_tyyxo"] -[ext_resource type="PackedScene" uid="uid://nl1vklubr5kr" path="res://scenes/bip.tscn" id="2_87ixm"] -[ext_resource type="PackedScene" uid="uid://b5kjdyxuwsot5" path="res://scenes/canvas.tscn" id="3_paksx"] -[ext_resource type="PackedScene" uid="uid://bq7haw1ypiv48" path="res://scenes/frame.tscn" id="4_gd6xk"] -[ext_resource type="Script" path="res://scenes/frm_threats.gd" id="5_yms2f"] -[ext_resource type="Script" path="res://table/table.gd" id="6_3qxpr"] -[ext_resource type="PackedScene" uid="uid://da7w3vkhadfwe" path="res://scenes/button_flat.tscn" id="7_ifppl"] -[ext_resource type="FontFile" uid="uid://befva8r034a4v" path="res://data/DSEG7Classic-Regular.ttf" id="8_c1gbv"] +[ext_resource type="Script" path="res://scenes/работа.gd" id="1_qdxrr"] +[ext_resource type="PackedScene" uid="uid://nl1vklubr5kr" path="res://scenes/bip.tscn" id="2_7dwp3"] +[ext_resource type="PackedScene" uid="uid://b5kjdyxuwsot5" path="res://scenes/canvas.tscn" id="3_8pbmm"] +[ext_resource type="PackedScene" uid="uid://bq7haw1ypiv48" path="res://scenes/frame.tscn" id="4_a30cj"] +[ext_resource type="Script" path="res://scenes/frm_threats.gd" id="5_h8hvs"] +[ext_resource type="Script" path="res://table/table.gd" id="6_ct0th"] +[ext_resource type="PackedScene" uid="uid://da7w3vkhadfwe" path="res://scenes/button_flat.tscn" id="7_4csct"] +[ext_resource type="FontFile" uid="uid://befva8r034a4v" path="res://data/DSEG7Classic-Regular.ttf" id="8_tdbsx"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5ugj8"] [node name="Работа" type="Panel"] -script = ExtResource("1_tyyxo") -Bip = ExtResource("2_87ixm") +script = ExtResource("1_qdxrr") +Bip = ExtResource("2_7dwp3") col_grey = Color(0.34902, 0.643137, 0.772549, 0.168627) col_red = Color(1, 0.568627, 0.431373, 0.239216) drag_scale_band = 0.05 @@ -25,20 +25,20 @@ strob_min_width = 5.0 metadata/_edit_vertical_guides_ = [] metadata/_edit_lock_ = true -[node name="canvas" parent="." instance=ExtResource("3_paksx")] +[node name="canvas" parent="." instance=ExtResource("3_8pbmm")] metadata/_edit_lock_ = true -[node name="frm_threats" parent="." instance=ExtResource("4_gd6xk")] +[node name="frm_threats" parent="." instance=ExtResource("4_a30cj")] layout_mode = 0 offset_left = 1121.0 offset_top = 6.0 offset_right = 1594.0 offset_bottom = 642.0 -script = ExtResource("5_yms2f") +script = ExtResource("5_h8hvs") text = "Список целей" metadata/_edit_lock_ = true -[node name="рамка-параметры-цели" parent="frm_threats" instance=ExtResource("4_gd6xk")] +[node name="рамка-параметры-цели" parent="frm_threats" instance=ExtResource("4_a30cj")] layout_mode = 0 offset_left = 5.0 offset_top = 313.0 @@ -208,9 +208,9 @@ horizontal_scroll_mode = 0 [node name="tbl_threats" type="GridContainer" parent="frm_threats/scrl_threats"] layout_mode = 2 columns = 4 -script = ExtResource("6_3qxpr") +script = ExtResource("6_ct0th") -[node name="рамка-сеансы-помех" parent="." instance=ExtResource("4_gd6xk")] +[node name="рамка-сеансы-помех" parent="." instance=ExtResource("4_a30cj")] layout_mode = 0 offset_left = 1121.0 offset_top = 648.0 @@ -304,7 +304,7 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "ПД-М4С" horizontal_alignment = 1 -[node name="рамка-помеха" parent="рамка-сеансы-помех" instance=ExtResource("4_gd6xk")] +[node name="рамка-помеха" parent="рамка-сеансы-помех" instance=ExtResource("4_a30cj")] layout_mode = 0 offset_left = 5.0 offset_top = 250.0 @@ -463,7 +463,7 @@ theme_override_colors/font_color = Color(0.729412, 0.729412, 0.729412, 1) text = "ЛЧМ" horizontal_alignment = 1 -[node name="btn_auto_threat" parent="." instance=ExtResource("7_ifppl")] +[node name="btn_auto_threat" parent="." instance=ExtResource("7_4csct")] layout_mode = 0 offset_left = 912.0 offset_top = 67.0 @@ -471,7 +471,7 @@ offset_right = 1102.0 offset_bottom = 117.0 text = "Автоматически" -[node name="btn_strobe" parent="." instance=ExtResource("7_ifppl")] +[node name="btn_strobe" parent="." instance=ExtResource("7_4csct")] layout_mode = 0 offset_left = 912.0 offset_top = 6.0 @@ -479,7 +479,7 @@ offset_right = 1102.0 offset_bottom = 56.0 text = "Строб" -[node name="btn_p5" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_ifppl")] +[node name="btn_p5" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_4csct")] layout_mode = 1 anchors_preset = -1 offset_left = 980.0 @@ -491,7 +491,7 @@ grow_vertical = 2 text = "ОЗП-1" metadata/rfi_name = "ozp1" -[node name="btn_p4" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_ifppl")] +[node name="btn_p4" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_4csct")] layout_mode = 1 anchors_preset = -1 offset_left = 1052.0 @@ -504,7 +504,7 @@ tooltip_text = "Выбор цели или сектора" text = "<-" metadata/rfi_name = "" -[node name="btn_p6" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_ifppl")] +[node name="btn_p6" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_4csct")] layout_mode = 0 offset_left = 840.0 offset_top = 1118.0 @@ -513,7 +513,7 @@ offset_bottom = 1168.0 text = "СВ-М2" metadata/rfi_name = "svm2" -[node name="btn_p7" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_ifppl")] +[node name="btn_p7" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_4csct")] layout_mode = 0 offset_left = 910.0 offset_top = 1118.0 @@ -522,7 +522,7 @@ offset_bottom = 1168.0 text = "K1" metadata/rfi_name = "k1" -[node name="btn_p8" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_ifppl")] +[node name="btn_p8" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_4csct")] layout_mode = 0 offset_left = 770.0 offset_top = 1118.0 @@ -531,7 +531,7 @@ offset_bottom = 1168.0 text = "СВ-И1" metadata/rfi_name = "svi1" -[node name="btn_p9" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_ifppl")] +[node name="btn_p9" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_4csct")] layout_mode = 0 offset_left = 700.0 offset_top = 1118.0 @@ -540,7 +540,7 @@ offset_bottom = 1168.0 text = "ПД-ЧМ" metadata/rfi_name = "pdchm" -[node name="btn_p10" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_ifppl")] +[node name="btn_p10" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_4csct")] layout_mode = 1 anchors_preset = -1 offset_left = 630.0 @@ -552,7 +552,7 @@ grow_vertical = 2 text = "ПД-М4С" metadata/rfi_name = "pdm4s" -[node name="btn_p11" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_ifppl")] +[node name="btn_p11" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_4csct")] layout_mode = 0 offset_left = 350.0 offset_top = 1118.0 @@ -561,7 +561,7 @@ offset_bottom = 1168.0 text = "ЛЧМ-1" metadata/rfi_name = "lchm1" -[node name="btn_p12" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_ifppl")] +[node name="btn_p12" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_4csct")] layout_mode = 1 anchors_preset = -1 offset_left = 420.0 @@ -573,7 +573,7 @@ grow_vertical = 2 text = "МЧМ-1" metadata/rfi_name = "mchm1" -[node name="btn_p13" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_ifppl")] +[node name="btn_p13" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_4csct")] layout_mode = 1 anchors_preset = -1 offset_left = 490.0 @@ -585,7 +585,7 @@ grow_vertical = 2 text = "ПД-М2" metadata/rfi_name = "pdm2" -[node name="btn_p14" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_ifppl")] +[node name="btn_p14" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_4csct")] layout_mode = 1 anchors_preset = -1 offset_left = 560.0 @@ -597,7 +597,7 @@ grow_vertical = 2 text = "ПД-М4" metadata/rfi_name = "pdm4" -[node name="btn_p15" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_ifppl")] +[node name="btn_p15" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_4csct")] layout_mode = 1 anchors_preset = -1 offset_left = 280.0 @@ -609,7 +609,7 @@ grow_vertical = 2 text = "СРН-М2" metadata/rfi_name = "srnm2" -[node name="btn_p16" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_ifppl")] +[node name="btn_p16" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_4csct")] layout_mode = 0 offset_left = 210.0 offset_top = 1118.0 @@ -618,7 +618,7 @@ offset_bottom = 1168.0 text = "СРН-И1" metadata/rfi_name = "srni1" -[node name="btn_off" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_ifppl")] +[node name="btn_off" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_4csct")] layout_mode = 0 offset_left = 140.0 offset_top = 1118.0 @@ -627,7 +627,7 @@ offset_bottom = 1168.0 text = "Откл." metadata/rfi_name = "" -[node name="btn_auto_rfi" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_ifppl")] +[node name="btn_auto_rfi" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_4csct")] layout_mode = 0 offset_left = 10.0 offset_top = 1118.0 @@ -643,7 +643,7 @@ offset_left = 96.0 offset_top = 109.0 offset_right = 164.0 offset_bottom = 142.0 -theme_override_fonts/font = ExtResource("8_c1gbv") +theme_override_fonts/font = ExtResource("8_tdbsx") theme_override_font_sizes/font_size = 20 text = "88" vertical_alignment = 1 @@ -652,7 +652,7 @@ vertical_alignment = 1 layout_mode = 0 offset_right = 68.0 offset_bottom = 33.0 -theme_override_fonts/font = ExtResource("8_c1gbv") +theme_override_fonts/font = ExtResource("8_tdbsx") theme_override_font_sizes/font_size = 20 text = "00" vertical_alignment = 1 @@ -664,7 +664,7 @@ offset_left = 96.0 offset_top = 29.0 offset_right = 188.0 offset_bottom = 88.0 -theme_override_fonts/font = ExtResource("8_c1gbv") +theme_override_fonts/font = ExtResource("8_tdbsx") theme_override_font_sizes/font_size = 56 text = "88" @@ -672,7 +672,7 @@ text = "88" layout_mode = 0 offset_right = 92.0 offset_bottom = 59.0 -theme_override_fonts/font = ExtResource("8_c1gbv") +theme_override_fonts/font = ExtResource("8_tdbsx") theme_override_font_sizes/font_size = 56 text = "00" diff --git a/scenes/состояния-эмс.tscn b/scenes/состояния-эмс.tscn index 677f832e..968e528b 100644 --- a/scenes/состояния-эмс.tscn +++ b/scenes/состояния-эмс.tscn @@ -1,25 +1,25 @@ [gd_scene load_steps=7 format=3 uid="uid://by22sta8tt8dn"] -[ext_resource type="Script" path="res://scenes/состояния-эмс.gd" id="1_457jc"] -[ext_resource type="Texture2D" uid="uid://belwchvdktrw0" path="res://data/эмс-бланк.png" id="2_1wwop"] -[ext_resource type="Texture2D" uid="uid://bwddxs24es81u" path="res://data/эмс-бланк-пост.png" id="3_i2for"] -[ext_resource type="Texture2D" uid="uid://pfoscstbm025" path="res://data/эмс-бланк-перем.png" id="4_irpjj"] -[ext_resource type="Texture2D" uid="uid://dvl3sq036gn75" path="res://data/эмс-бланк-замыкание.png" id="5_uiura"] +[ext_resource type="Script" path="res://scenes/состояния-эмс.gd" id="1_7plrx"] +[ext_resource type="Texture2D" uid="uid://belwchvdktrw0" path="res://data/эмс-бланк.png" id="2_3b6ns"] +[ext_resource type="Texture2D" uid="uid://bwddxs24es81u" path="res://data/эмс-бланк-пост.png" id="3_anfnn"] +[ext_resource type="Texture2D" uid="uid://pfoscstbm025" path="res://data/эмс-бланк-перем.png" id="4_8agku"] +[ext_resource type="Texture2D" uid="uid://dvl3sq036gn75" path="res://data/эмс-бланк-замыкание.png" id="5_tqwgp"] [sub_resource type="SpriteFrames" id="SpriteFrames_ow7xh"] animations = [{ "frames": [{ "duration": 1.0, -"texture": ExtResource("2_1wwop") +"texture": ExtResource("2_3b6ns") }, { "duration": 1.0, -"texture": ExtResource("3_i2for") +"texture": ExtResource("3_anfnn") }, { "duration": 1.0, -"texture": ExtResource("4_irpjj") +"texture": ExtResource("4_8agku") }, { "duration": 1.0, -"texture": ExtResource("5_uiura") +"texture": ExtResource("5_tqwgp") }], "loop": true, "name": &"default", @@ -33,8 +33,9 @@ anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -script = ExtResource("1_457jc") +script = ExtResource("1_7plrx") [node name="sprite" type="AnimatedSprite2D" parent="."] position = Vector2(14, 9) sprite_frames = SubResource("SpriteFrames_ow7xh") +frame = 2 diff --git a/scripts/yems_consts.gd b/scripts/yems_consts.gd index 5183809d..6537c735 100644 --- a/scripts/yems_consts.gd +++ b/scripts/yems_consts.gd @@ -63,3 +63,112 @@ const OUTPUT_ROWS1 = [ [65,['51ЦИСВС-1010, БИ', 'X63', '0.00', '0.00']], [66,['524302-01, 4302-04, БИ', 'X66', '0.00', '0.00']], [68,['53НРЛС 11111111', 'X69', '0.00', '0.00']]] + +const INPUT_ROWS = [ +[1,['УИЗП №1', 'Х7', '0.00', '0.00']], +[2,['УИЗПФ №1', 'Х8', '0.00', '0.00']], +[3,['УИЗП №2', 'Х10', '0.00', '0.00']], +[4,['УИЗПФ №2', 'Х11', '0.00', '0.00']], +[5,['УИЗП №3', 'Х13', '0.00', '0.00']], +[6,['УИЗПФ №3', 'Х14', '0.00', '0.00']], +[7,['УИЗП №4', 'Х16', '0.00', '0.00']], +[8,['УИЗПФ №4', 'Х17', '0.00', '0.00']], +[9,['УИЗП №5', 'Х19', '0.00', '0.00']], +[10,['УИЗПФ №5', 'Х20', '0.00', '0.00']], +[11,['УИЗП №6', 'Х22', '0.00', '0.00']], +[12,['УИЗПФ №6','Х23', '0.00', '0.00']], +[13,['УИЗП №7','Х25', '0.00', '0.00']], +[14,['УИЗПФ №7','Х26', '0.00', '0.00']], +[15,['СИ1 Л1','X31 : 2', '0.00', '0.00']], +[16,['СИ1 Л6','X31 : 5', '0.00', '0.00']], +[17,['СИ1 Л7','X31 : 8', '0.00', '0.00']], +[18,['СИ2 Л1','X32 : 2', '0.00', '0.00']], +[19,['СИ2 Л6','X32 : 5', '0.00', '0.00']], +[20,['СИ2 Л7','X32 : 8', '0.00', '0.00']], +[21,['СИ3 Л1','X33 : 2', '0.00', '0.00']], +[22,['СИ3 Л6','X33 : 5', '0.00', '0.00']], +[23,['СИ3 Л7','X33 : 8', '0.00', '0.00']], +[24,['СИ4 Л1','X34 : 2', '0.00', '0.00']], +[25,['СИ4 Л6','X34 : 5', '0.00', '0.00']], +[26,['СИ4 Л7','X34 : 8', '0.00', '0.00']], +[27,['СИ1 Л2','X38 : 2', '0.00', '0.00']], +[28,['СИ1 Л3','X38 : 5', '0.00', '0.00']], +[29,['СИ2 Л2','X39 : 2', '0.00', '0.00']], +[30,['СИ2 Л3','X39 : 5', '0.00', '0.00']], +[31,['СИ3 Л2','X40 : 2', '0.00', '0.00']], +[32,['СИ3 Л3','X40 : 5', '0.00', '0.00']], +[33,['СИ4 Л2','X41 : 2', '0.00', '0.00']], +[34,['СИ4 Л3','X41 : 5', '0.00', '0.00']], +[35,['СИ1 Л4','X42 : 2', '0.00', '0.00']], +[36,['СИ1 Л5','X42 : 5', '0.00', '0.00']], +[37,['СИ2 Л4','X43 : 2', '0.00', '0.00']], +[38,['СИ2 Л5','X43 : 5', '0.00', '0.00']], +[39,['СИ3 Л4','X44 : 2', '0.00', '0.00']], +[40,['СИ3 Л5','X44 : 5', '0.00', '0.00']], +[41,['СИ4 Л4','X45 : 2', '0.00', '0.00']], +[42,['СИ4 Л5','X45 : 5', '0.00', '0.00']], +[43,['БИ В Лб','Х49 : 37', '0.00', '0.00']], +[44,['БИ В ПрБ','Х49 : 31', '0.00', '0.00']], +[45,['БИ Г Лб','Х49 : 15', '0.00', '0.00']], +[46,['БИ Г ПрБ','Х49 : 8', '0.00', '0.00']], +[47,['БИ Д Лб','Х49 : 6', '0.00', '0.00']], +[48,['БИ Д ПрБ','Х49 : 10', '0.00', '0.00']], +[49,['БИ Е Лб','Х49 : 25', '0.00', '0.00']], +[50,['БИ Е ПрБ','Х49 : 40', '0.00', '0.00']], +[51,['СЗИ В Лб','Х49 : 42', '0.00', '0.00']], +[52,['СЗИ В ПрБ','Х49 : 32', '0.00', '0.00']], +[53,['СЗИ Г Лб','Х49 : 46', '0.00', '0.00']], +[54,['СЗИ Г ПрБ','Х49 : 32', '0.00', '0.00']], +[55,['СЗИ Д Лб','Х49 : 16', '0.00', '0.00']], +[56,['СЗИ Д ПрБ','Х49 : 47', '0.00', '0.00']], +[57,['СЗИ Е Лб','Х49 : 1', '0.00', '0.00']], +[58,['СЗИ Е ПрБ','Х49 : 50', '0.00', '0.00']]] + +const OUTPUT_ROWS = [ +[11,['Бланк №1','Х6', '0.00', '0.00']], +[12,['Бланк №2','Х9', '0.00', '0.00']], +[13,['Бланк №3','Х12', '0.00', '0.00']], +[14,['Бланк №4','Х15', '0.00', '0.00']], +[15,['Бланк №5','Х18', '0.00', '0.00']], +[16,['Бланк №6','Х21', '0.00', '0.00']], +[17,['Бланк №7','Х24', '0.00', '0.00']], +[18,['СЗИ1 Л1','X31 : 11', '0.00', '0.00']], +[19,['СЗИ1 Л6','X31 :14', '0.00', '0.00']], +[20,['СЗИ1 Л7','X31 : 17', '0.00', '0.00']], +[21,['СЗИ2 Л1','X32 : 11', '0.00', '0.00']], +[22,['СЗИ2 Л6','X32 : 14', '0.00', '0.00']], +[23,['СЗИ2 Л7','X32: 17', '0.00', '0.00']], +[24,['СЗИ3 Л1','X33 : 11', '0.00', '0.00']], +[25,['СЗИ3 Л6','X33 :14', '0.00', '0.00']], +[26,['СЗИ3 Л7','X33: 17', '0.00', '0.00']], +[27,['СЗИ4 Л1','X34 : 11', '0.00', '0.00']], +[28,['СЗИ4 Л6','X34 :14', '0.00', '0.00']], +[29,['СЗИ4 Л7','X34: 17', '0.00', '0.00']], +[30,['СЗИ1 Л2','X38 : 11', '0.00', '0.00']], +[31,['СЗИ1 Л3','X38 : 14', '0.00', '0.00']], +[32,['СЗИ2 Л2','X39 : 11', '0.00', '0.00']], +[33,['СЗИ2 Л3','X39 : 14', '0.00', '0.00']], +[34,['СЗИ3 Л2','X40 : 11', '0.00', '0.00']], +[35,['СЗИ3 Л3','X40 : 14', '0.00', '0.00']], +[36,['СЗИ4 Л2','X41 : 11', '0.00', '0.00']], +[37,['СЗИ4 Л3','X41 :14', '0.00', '0.00']], +[38,['СЗИ1 Л4','X42 : 11', '0.00', '0.00']], +[39,['СЗИ1 Л5','X42 :14', '0.00', '0.00']], +[40,['СЗИ2 Л4','X43 : 11', '0.00', '0.00']], +[41,['СЗИ2 Л5','X43 : 14', '0.00', '0.00']], +[42,['СЗИ3 Л4','X44 : 11', '0.00', '0.00']], +[43,['СЗИ3 Л5','X44 :14', '0.00', '0.00']], +[44,['СЗИ4 Л4','X45 : 11', '0.00', '0.00']], +[45,['СЗИ4 Л5','X45 : 14', '0.00', '0.00']], +[46,['БИ РТР №1','X47 : 2', '0.00', '0.00']], +[47,['БИ РТР №2','X47 : 5', '0.00', '0.00']], +[48,['БИ РТР №3','X47 : 8', '0.00', '0.00']], +[49,['БИ РТР №4','X47 : 11', '0.00', '0.00']], +[50,['СИ В Лб','Х49 : 21', '0.00', '0.00']], +[51,['СИ В ПрБ','Х49 : 19', '0.00', '0.00']], +[52,['СИ Г Лб','Х49 : 28', '0.00', '0.00']], +[53,['СИ Г ПрБ','Х49 : 30', '0.00', '0.00']], +[54,['СИ Д Лб','Х49 : 13', '0.00', '0.00']], +[55,['СИ Д ПрБ','Х49 : 11', '0.00', '0.00']], +[56,['СИ Е Лб','Х49 : 26', '0.00', '0.00']], +[57,['СИ Е ПрБ','Х49 : 35', '0.00', '0.00']]]