From 63075d99cae4fd12806a23f8cae9efbdcb9046a6 Mon Sep 17 00:00:00 2001 From: Sergey Kalinin Date: Sun, 20 May 2018 18:03:02 +0300 Subject: [PATCH] =?UTF-8?q?-=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BF=D1=80=D0=BE=D1=86=D0=B5=D0=B4=D1=83=D1=80?= =?UTF-8?q?=D1=8B=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B=20(=D0=B4=D0=BE?= =?UTF-8?q?=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F,=20=D1=83?= =?UTF-8?q?=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F)=20=D1=81=20=D0=BA?= =?UTF-8?q?=D0=BB=D0=B0=D1=81=D1=82=D0=B5=D1=80=D0=BE=D0=BC=20(=D0=B1?= =?UTF-8?q?=D0=B0=D0=B7=D0=BE=D0=B9,=20=D1=81=D0=B5=D1=80=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D0=B0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1c_srv.cfg | 12 --- doc/CHANGELOG | 4 + lib/function.tcl | 214 ++++++++++++++++++++++++++++++++++++++++++++++- lib/gui.tcl | 2 + lib/images.tcl | 78 ++++++++++++++++- rac_gui.cfg | 3 +- rac_gui.tcl | 30 ++++++- 7 files changed, 323 insertions(+), 20 deletions(-) delete mode 100644 1c_srv.cfg diff --git a/1c_srv.cfg b/1c_srv.cfg deleted file mode 100644 index 5a4d829..0000000 --- a/1c_srv.cfg +++ /dev/null @@ -1,12 +0,0 @@ -###################################################### -# Rac GUI -# Distributed under GNU Public License -# Author: Sergey Kalinin svk@nuk-svk.ru -# Copyright (c) "http://nuk-svk.ru", 2018, -# https://bitbucket.org/svk28/rac-gui -###################################################### - -set host localhost -set port 1541 - - diff --git a/doc/CHANGELOG b/doc/CHANGELOG index be774a3..991faa9 100644 --- a/doc/CHANGELOG +++ b/doc/CHANGELOG @@ -4,6 +4,9 @@ # Author: Sergey Kalinin svk@nuk-svk.ru # Home page: https://bitbucket.org/svk28/rac-gui ###################################################### +20/05/2018 +- Добавлены процедуры работы (добавления, удаления) с кластером (базой, сервера) +- Добавлен диалог добавления базы 15/05/2018 - Добавлен вывод списка кластеров, серверов, баз и т.д @@ -12,3 +15,4 @@ 16/05/2018 - Beginning the project + diff --git a/lib/function.tcl b/lib/function.tcl index f1dccac..0d5e851 100644 --- a/lib/function.tcl +++ b/lib/function.tcl @@ -13,9 +13,13 @@ proc Quit {} { proc TreePress {tree} { global host + set id [$tree selection] set values [$tree item [$tree selection] -values] set key [lindex [split $id "::"] 0] + if {$key eq "server"} { + set host $values + } Run::$key $tree $host $values #RunCommand $root "infobase summary list --cluster=$cluster $host" } @@ -259,29 +263,113 @@ proc Del {} { namespace eval Del {} { proc work_server {tree host values} { global active_cluster - .frm_work.tree_work delete [ .frm_work.tree_work children {}] set answer [tk_messageBox -message "Удалить рабочий сервер $values?" \ -icon question -type yesno ] switch -- $answer { yes { set lst [RunCommand infobase::$values "server remove --cluster=$active_cluster --server=$values $host"] $tree delete "work_server::$values" + .frm_work.tree_work delete [ .frm_work.tree_work children {}] } no {return} } } + proc cluster {tree host values} { + set answer [tk_messageBox -message "Удалить кластер $values?" \ + -icon question -type yesno ] + switch -- $answer { + yes { + set lst [RunCommand infobase::$values "cluster remove --cluster=$values $host"] + $tree delete "cluster::$values" + .frm_work.tree_work delete [ .frm_work.tree_work children {}] + } + no {return} + } + } + proc infobase {tree host values} { + global active_cluster + set answer [tk_messageBox -message "Удалить информационную базу $values?" \ + -icon question -type yesno ] + switch -- $answer { + yes { + set lst [RunCommand infobase::$values "infobase drop --infobase=$values --cluster=$active_cluster $host"] + $tree delete "infobase::$values" + .frm_work.tree_work delete [ .frm_work.tree_work children {}] + } + no {return} + } + } + proc server {tree host values} { + global dir + set answer [tk_messageBox -message "Удалить сервер $values?" \ + -icon question -type yesno ] + switch -- $answer { + yes { + #set lst [RunCommand infobase::$values "cluster remove --cluster=$values $host"] + file copy [file join $dir(work) 1c_srv.cfg] [file join $dir(work) 1c_srv.cfg.bak] + set orig_file [open [file join $dir(work) 1c_srv.cfg.bak] "r"] + set file [open [file join $dir(work) 1c_srv.cfg] "w"] + while {[gets $orig_file line] >=0 } { + puts $line + if { $line ne "" && $line ne "$values"} { + puts $file $line + } + } + close $file + close $orig_file + #return "$host:$port" + $tree delete "server::$values" + .frm_work.tree_work delete [ .frm_work.tree_work children {}] + file delete [file join $dir(work) 1c_srv.cfg.bak] + } + no {return} + } + } + } proc Add {} { global active_cluster host set id [.frm_tree.tree selection] set values [.frm_tree.tree item [.frm_tree.tree selection] -values] set key [lindex [split $id "::"] 0] + if {$key eq "" || $key eq "server"} { + set host [ Add::server ] + } puts "$key, $id , $values" Add::$key .frm_tree.tree $host $values } namespace eval Add {} { proc server {} { + global default + toplevel .add + set frm [ttk::labelframe .add.frm -text "Добавление основного сервера" -labelanchor nw] + + label $frm.lbl_host -text "Адрес сервера" + entry $frm.ent_host + label $frm.lbl_port -text "Порт" + entry $frm.ent_port + $frm.ent_port insert end $default(port) + grid $frm.lbl_host -row 0 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_host -row 0 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_port -row 1 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_port -row 1 -column 1 -sticky nsew -padx 5 -pady 5 + #grid $frm.btn_ok -row 2 -column 1 -sticky nw -padx 5 -pady 5 + #grid $frm.btn_cancel -row 2 -column 1 -sticky se -padx 5 -pady 5 + grid columnconfigure $frm 0 -weight 1 + grid rowconfigure $frm 0 -weight 1 + set frm_btn [frame .add.frm_btn -border 0] + ttk::button $frm_btn.btn_ok -image add_grey_24 -command { + set host [SaveMainServer [.add.frm.ent_host get] [.add.frm.ent_port get]] + .frm_tree.tree insert {} end -id "server::$host" -text "$host" -values "$host" + destroy .add + return $host + } + ttk::button $frm_btn.btn_cancel -command {destroy .add} -image quit_grey_24 + pack $frm $frm_btn -padx 5 -pady 5 -expand true -fill x + pack $frm_btn.btn_cancel -side right + pack $frm_btn.btn_ok -side right -padx 10 + puts $host } proc work_server {tree host values} { } @@ -289,7 +377,129 @@ namespace eval Add {} { Add::infobases $tree $host $values } proc infobases {tree host values} { - puts "$tree $host $values" + global default active_cluster + toplevel .add + wm title .add "Добавление информационной базы" + ttk::label .add.lbl -image add_database_grey_64 + set frm [ttk::labelframe .add.frm -text "Добавление информационной базы" -labelanchor nw] + + label $frm.lbl_host -text "Адрес сервера баз даннных" + entry $frm.ent_host + label $frm.lbl_db_user -text "Имя пользователя базы даннных" + entry $frm.ent_db_user + label $frm.lbl_db_pass -text "Пароль" + entry $frm.ent_db_pass + #$frm.ent_host insert end $host + label $frm.lbl_locale -text "Язык базы данных" + entry $frm.ent_locale + $frm.ent_locale insert end $default(locale) + label $frm.lbl_infobase_name -text "Имя информационной базы" + entry $frm.ent_infobase_name + label $frm.lbl_base_name -text "Имя базы данных" + entry $frm.ent_base_name + label $frm.lbl_base_type -text "Тип СУБД" + set combo [ttk::combobox $frm.cb_base_type -textvariable dbms -values $default(dbms)]] + grid $frm.lbl_host -row 0 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_host -row 0 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_db_user -row 1 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_db_user -row 1 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_db_pass -row 2 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_db_pass -row 2 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_locale -row 3 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_locale -row 3 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_infobase_name -row 4 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_infobase_name -row 4 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_base_name -row 5 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_base_name -row 5 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_base_type -row 6 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.cb_base_type -row 6 -column 1 -sticky nsew -padx 5 -pady 5 + # grid $frm.lbl_host $frm.ent_host -sticky nwse -padx 5 -pady 5 + # grid $frm.lbl_db_user $frm.ent_db_user -sticky nwse -padx 5 -pady 5 + # grid $frm.lbl_db_pass $frm.ent_db_pass -sticky nwse -padx 5 -pady 5 + # grid $frm.lbl_locale $frm.ent_locale -sticky nwse -padx 5 -pady 5 + # grid $frm.lbl_infobase_name $frm.ent_infobase_name -sticky nwse -padx 5 -pady 5 + # grid $frm.lbl_base_name $frm.ent_base_name -sticky nwse -padx 5 -pady 5 + # grid $frm.lbl_base_type $frm.cb_base_type -sticky nwse -padx 5 -pady 5 + # + grid columnconfigure $frm 0 -weight 1 + grid rowconfigure $frm 0 -weight 1 + + set active_cluster $values + + set frm_btn [frame .add.frm_btn -border 0] + ttk::button $frm_btn.btn_ok -image add_grey_24 -command { + #puts [RunCommand "" "cluster insert --host=[.add.frm.ent_host get] --port=[.add.frm.ent_port get] --name=[.add.frm.ent_cluster_name get] $host"] + RunCommand "" "infobase create --create-database \ + --name=[.add.frm.ent_infobase_name get] \ + --dbms=$dbms \ + --db-server=[.add.frm.ent_host get] \ + --db-name=[.add.frm.ent_base_name get] \ + --locale=[.add.frm.ent_locale get] \ + --db-user=[.add.frm.ent_db_user get] \ + --db-pwd=[.add.frm.ent_db_pass get] \ + --cluster=$active_cluster $host" + #SaveCluster [.add.frm.ent_host get] [.add.frm.ent_port get]] + #.frm_tree.tree insert "server::$host" end -id "er::$host" -text "$host" -values "$host" + destroy .add + #return $host + } + ttk::button $frm_btn.btn_cancel -command {destroy .add} -image quit_grey_24 + grid .add.lbl -row 0 -column 0 -sticky nw -padx 5 -pady 10 + grid $frm -row 0 -column 1 -sticky nw -padx 5 -pady 5 + grid $frm_btn -row 1 -column 1 -sticky se -padx 5 -pady 5 + # pack .add.lbl -side left + # pack $frm -padx 5 -pady 5 -expand true -fill x -side left + # pack $frm_btn -padx 5 -pady 5 -expand true -fill x + pack $frm_btn.btn_cancel -side right + pack $frm_btn.btn_ok -side right -padx 10 + + } + + proc cluster {tree host values} { + global default + toplevel .add + set frm [ttk::labelframe .add.frm -text "Добавление кластера" -labelanchor nw] + + label $frm.lbl_host -text "Адрес основного сервера" + entry $frm.ent_host + #$frm.ent_host insert end $host + label $frm.lbl_port -text "Порт" + entry $frm.ent_port + $frm.ent_port insert end $default(port) + label $frm.lbl_cluster_name -text "Название кластера" + entry $frm.ent_cluster_name + + grid $frm.lbl_host -row 0 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_host -row 0 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_port -row 1 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_port -row 1 -column 1 -sticky nsew -padx 5 -pady 5 + grid $frm.lbl_cluster_name -row 2 -column 0 -sticky nw -padx 5 -pady 5 + grid $frm.ent_cluster_name -row 2 -column 1 -sticky nsew -padx 5 -pady 5 + + grid columnconfigure $frm 0 -weight 1 + grid rowconfigure $frm 0 -weight 1 + set frm_btn [frame .add.frm_btn -border 0] + ttk::button $frm_btn.btn_ok -image add_grey_24 -command { + puts [RunCommand "" "cluster insert --host=[.add.frm.ent_host get] --port=[.add.frm.ent_port get] --name=[.add.frm.ent_cluster_name get] $host"] + + #SaveCluster [.add.frm.ent_host get] [.add.frm.ent_port get]] + #.frm_tree.tree insert "server::$host" end -id "er::$host" -text "$host" -values "$host" + destroy .add + #return $host + } + ttk::button $frm_btn.btn_cancel -command {destroy .add} -image quit_grey_24 + pack $frm $frm_btn -padx 5 -pady 5 -expand true -fill x + pack $frm_btn.btn_cancel -side right + pack $frm_btn.btn_ok -side right -padx 10 + puts $host } } +proc SaveMainServer {host port} { + global dir + set file [open [file join $dir(work) 1c_srv.cfg] "a+"] + puts $file "$host:$port" + close $file + return "$host:$port" +} + diff --git a/lib/gui.tcl b/lib/gui.tcl index d2d7683..0c27e29 100644 --- a/lib/gui.tcl +++ b/lib/gui.tcl @@ -95,3 +95,5 @@ pack $frm_tree $frm_work -side left -expand true -fill both + + diff --git a/lib/images.tcl b/lib/images.tcl index efd61af..27ee3b7 100644 --- a/lib/images.tcl +++ b/lib/images.tcl @@ -149,4 +149,80 @@ image create photo quit_grey_24 -data { Ncqh5U/vo0wfUOc7rtiCsE5F7CEHzNuEpkLrEYihRyc5zBa7Y8RgURftlK6GjVdjNUj9jLCXHRQN Ve03VewLZaEJ8x+41wfP/ZumbAAAAABJRU5ErkJggg== } - +image create photo add-database-64 -data { +iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAI5klEQVR4nN2bfYxVRxnGf/dkJWTd +EIKEImkYpBS3QJA21FqlhaESaKugph+mVlti1UwbrQ3UppJKlFBj1ai1YaqtHyW1CYgGaaV1Szus +rU2lLSWUAKUEd8hmRWxWpGRd182Nf7xzds9e7r17zr3nXqBPMtmcu/P5npn343nnFKgT2vipwCyg +HbgAOD+UNqAFiIBiqD4A9IdyCugFjgJvAfuBfc6qk/XOKQsKWSpr4yNgDvBxYCHwYWByjvMpAoeA +lwAHdDirjufY/2lIJQBt/Fzg88B1wLRGTqgERWAXsAl4ohHCqCiA8LY/A6wCPpL3wDVgANgM/NBZ +tSevTssKQBu/DPg+st3PNhSBLcA9zqquejsbIQBtfBtggZvr7bgJOAWsclb9vJ5OhgSgjZ8IPA3M +r3NizcajgHFWDdbSuAVAGz8eeBaYl+PEmoXbwt8v1dI4Cn8f49xcfIzbtPFfqKVhQRu/GHgu5wmd +CfQAFzir+rM0ioBbGjOfpmMKcE3WRhFwSf5zOWO4LGuDiGE98G5A5rVESBDybsHrWRtEwG8aMJEz +gRPAU1kbRcA24MXcp9N8rK8llI6ASUik15P7lJqH7cCPtfEzsjaMgJtCULEEISfONWwHrkfWsjxr +4whYqY2f4azaj5iRjnzn1zAMAvcDK5xVfYhLrLJ2EgFjgU3a+DZn1THgauCLwLEcJ5s3XgQ+5qxa +46wa1MbPAb5XS0ex3bwEeFIbP85ZVXRW/RL4IHAPZ49uKALPA0ucVVc4q3YBaOPbkSg25iAzIek4 +LAI6Y0XirDrprHoA+ADwaeD3SAzebPQADwIXO6uuclbtiP+hjf8E8BeEhK0JpRKbB7ymjV8DPOys +GnRWDQBbga2BMFmEKMyPIozR2FoHr4BTCA/YieijXc6qYrKCNn4S8F3gVur0ZAva+AMIpV2K/cA6 +YEslsiEIZBYiiNnADGA6MBFopfyWjKnxkwgt3gUcBg4Ae4FDQejlxpsI3A7cBYwvU+UhZ9VXy7Wt +hII2/g2qc39dwC+Ax7NycIFYTb6hYunbTNFHC7LbVgI3IIKthB84q+7O0n8L8PYodaYhO+Hb2vjd +iN19Fnh1tNg7LDbTgmFoiy9ALNI1SKibBn/POlYL8DJyrkdDhPCF84FvAX3a+D3AbuAN4CCyld+u +tIVLoY1vRRY3EzlKFyMWaSa1ne3nszYohNTWAapvrSzoC6UfOe9J/REfibGhtAFjchq3w1m1NGuj +AoA2/uvAj3KayJnACeBS4Gja3Rcj0sZfidjZhxoxsyagH7jRWXUYWJa1cYSYFIL5WMPILXu2oxu4 +2lnVETzCJVk7iLO9twM4q+4HrkIU2tmIAUTR3QcsBS50Vu0M/zsSfs+Egjb+LcSV/GTsZmrjxwBf +Bu4lvQlqJI4CPwU25p0hjgUwA9HcK51Vm+N/auPHAp8FvoLcBWg2gdoLrAUezcr3p0VSACBOy8PA +vaX0Ujhj1wHXIr5A5sgrI7YCdzirRo1GtfFRVg8zRqkAYvQg52ljuThAGz8BcU8vRxyXOchNkVqF +0oc4UXuB14Cdle4AhHhgOaCBucgRHYPoh+NIDNMJPJXGdS9o499EPK9yOMzw2TtRrSNt/DhgKqJP +JgLjGHZ03hOq/Y/h+0EnEEF3AcdGs98hTL8PiQfSRKCDwDPAWmfV7kqVCtr41xk9MdqHsMe/Qzyu +pl1kCsHQNxGFXEvoHR/ruwN1NgIFbfwmRKpp0Y/E6zuBvyKxwPFaz2A1hKP2W2BxDt3tQSxdd/LH +gjZ+OfCHOjouItr6EGKLu4F/IFu8D9mKsXAi5Ei0AhOA9yPHZjxwffKYhTsLjnzT9l3AQmfVEPtd +CDH7c6SLCBuFO51VD8YPYds/jVzHyxv7gMudVadA3shkJDHSXa1VA9ENlN7z+QaNWTyIxfpJ/BAB +N4dzoZEt3Gw8knRytPHTSO/Svg94b0lJ8yJv1cYvALHbt2jjtzmrDmrjLwV+RQ0ZlhpRBDaW/JZF +2/eVeoja+DTKOEI8zCWxUtoUcgK9zqoVwI2Iwmg09iadleBL3NSEcQEWa+Onx779XOCPQfMS4oGL +gDsQZ6hR2FnyvAxxnpqBCPhUMrhZALwQfH6cVf3Oqg2IIJYCjyOmLU+8UvKsq9TtL1PqqQewsNR3 +nwO8oo1fi3DsAyEW6AA6QnS4ACEerkR2Tj1cYunuqkbPX4j4+kOo4D7P5vSo9Z+Ia16K9mqJkSNI +9uWJci4kDIXL7QijexFCoU9B7hxMYDhfFwt6EAla+hA6XjurehP9/Y3Kt9HPq5UL0Ma/Q/mj1dVC +ZQpsOvAIsF4bvxF4zFm1L1khaOA9oZQbOGaB4zdSpHpyJO80W4yKPEaaxMgkYDWwWht/ELmH8yck +Z1c1KKohMdIQ0oMqYXoL8nXGopQdtYeyGhgIAnmV4cTIEaC70pFJgR5y/iAjuNWVdkCxoI2fArxJ +fuYnPufJxEhyF0SI4NsQCm5LYrI/Q7jIcjjF6bvpvDKO0AGEk4jHgcrJlx1RoJxWjbKoLGhhONqb +HCYzNVHOD7+3IYxSEp1V+m1DNHmylENMxLQiC6+WeXohAggfHXynSsVGYVHJ8zOIhagHWWi5zUNn +w1m1FvH8MqWW6sQ8bfz0xBx6ke+C6kFaAexwVh0cUdlZtUEb/zJi/ppxiTpCPs9J7r71SDyQJmna +klByLYz0OaqhiARDp2vHQCBehtwU60rRWb0wIU0ej38YeCBl238D/wX+A7wD/IvKuiGJjc6ql6CC +eQh3g+KbYp8D/kwNFx1SYjKna/51iHkeDVGZMhoOAXfGD6m/HA1ExXJgBRIP5JXXBwmyZieTIIH/ +z/s7ph7gCmfVEPGT6dPZGGHLzkeSIx9CYoGZ1O7K9gIbnFUjmKDACj8ZxqkXB4Frk4uHGgVQDkEZ +TUKCoSkI09uK2OT4A+pBxMydQBZ9HOiq5lKHgGs98DVqyzwVgV8Dd5UbJzcBNBra+FnI/YUbSK/p +twPr4lul5XDOCCBGuEG2HPl6fS4jtX4/Qnt3AtuS/H8l/B/wMOS75zxqlAAAAABJRU5ErkJggg== +} +image create photo add_database_grey_64 -data { +iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAA +CxMAAAsTAQCanBgAAAAHdElNRQfiBRQNERm/qUcSAAAGp0lEQVRo3r2ZbWxb1RnHf7l4keVZVpRl +WRaFLCuhuGkUSpTQNQukL0RteUkBQZkQFVQwpoeKQdUy1FVZtFUFjW3aVqo+5VVbxJASCiqla1ko +pRFQQQhp1lZpaK1gRVHWdZWXlcgznnW1D36J7dzr2G7c//lg33vuuc//nPOc5+0WMQekmjq8XEMV +VbhxYGACYUKEmCbAOOcY4bReIi8U2Yg1qOcW2riRiqzeY3KW43xAn164bALSwAbuoSavCZkM0MPr +2dMoSpv33WzhB1wuwvTyOx3OkYCs4TfUM18w2cfT6s+SgLhRHmC+Mc0WfTELAlLGYZooDF5GNGLf +7QAp4T2WUCg8AvzYvvsqaO6hjUKisfnLwb/bboGs5H0KjUmu0ZB1l8GDFB6V3GrXZdDIlcBSewLG +FSFg2HeMXBECJ+wJ/OUKiJ/ioD2BA3xUcAI77Z21QTkbmCyo+EP8QWrtCdyvftoZL6D4ezHosCew +UWp1hKX0FUB4hGdYp0Ee4Xv2BJz0iFvPs5aHOT+v4j/ih7pdI1LPrzOfz0beEY+a+irX8fS86IPJ +Udr1Jh0A8XIYN47MBmI5/VILekmf4/vcxVtMX4bd38UNukqPAMjtfExVpsfjzJbwuWxnr0Y0zH72 +i5vltNNCPc6sg48B+uljQM1YkFPOszw0l6UtkjN4E1cj7GBfcvggbuqoZzG1LKAMV9JShglxiQB+ +fJzhJGc1nDSujMfYTEnixm593I7AqbQ40M8rvGYXy0ncd5jxec56wkELG1mPK+X2b/Upuy24mHan +hh38UoY4xHsMpntxNTFtU5hyWlnLrVRadP7DXgc+YbmFajbRxC8IyjBDnGIUHxeTlzgh1EUlC6nj +BhpZmGG/j9rrQDVn0pbLGkGChAgTSbhxJ07cFGcxtk9XZ4iK5Ul+X2Bf2My41foBGHIzu9hdQPEh +7lMfa+wN0WbQx9lOpCDiJ1irfeKl3Z5APY+BPsMqRudRcJijdLKaa/UYMEanvRKeo4o79AhIMY+y +zfIQ5YZxnqc72/y4SM5RS5CN2gsgTn7ET7gx71A1QBcv2+UA9gTAZC/b4oGTeLmH22iy92E22M8m +nZxtPdWcm0DUj3XSPeMJpJQWltFIPRUZqQTxcZLPOZZcEZAyOlhBA5UUE+YCI/RzcLaJL5IvWJh0 +7eN5unUqbQ4eqqmiDA9uivkG8D9CTDPFJH7Op59xqaWT9RZ+NMK7dOlQKoETszLjIAd4k778yk7i +4Odsy+DETfbylAZnCPSw3saADHCMTxniQqY9TBNfyhusnPOxYe7QiTiBDt6eI7wKcJYxJvgnUwSJ +YAIGxbgo5btUU8K90U2TEj7IstLgp03HowQM3rfwh7ngCd0VW/zD3JL1qNMs02kwqGADE5dlbONV +oJ/lIB7q+WPUFD+gE6xgLG8CL0XNjtRYmttv8c1Ymz3Jh6QVDB4Ur/po5kCeAXh37J+15gc11iwi +KYOuqDL1iEcDuo778OdM4GTUtIiH+/Ogv1IWGEADf5US0F4WsQlfTq84FvtdgzuvssWdUafTyofi +BQ3pHhaxmteYyvIVn8V+V6TZkHjLfA/aHAmd/Ey62K1hjdBHnzhppZ2baZgjXvQlxifjWmLOOMlI +L0542H/hSdz1piYmYzzL6zNmEsSJlzoWUUMl5ZTixoEDiBAmyEVWaABAvkyprn8nUzQgXyVtl9+R +Eoot4CV2Sjd/1tOxGYQYZjgtMTEAMy01cea08xkTk3K2slVGOcjfGEh3SLaJSQ4hSKprd3Dc0hB7 +8bKVsIwyyClGGWMieWsscuKarL1l8gqYRVLJF1kdoQjhWGJixhbSgZuNug9AXuDRlEzZTGhDbG3k +DFUYOCAllTli6CRbslw4F6VUUEU11VRTRQVulsV6+1OedeOJtRl4cOOiOC2T+tAAfZFf5e0J4tv3 +LsFcdj6BXgNAu9hEOC8CS2QBgAbozYPAER2NKYTuYRlDeRnT+IeenZZTcIhDisUlHgsCZtQZxQ/Y +EEt5OA93JOICUB/PWfT+h6/5L1/x7xR9iKJbj8NVM9eD5uCJZmWUb3O13QdNC7i5OPgJQPPHrOLq +Wdl3vKXjLHcPfm3z5VRq6GAdrVnl/jDF4mg6ImVZf32a5CYdi9UHbNfWRRMtXE8dCzOa2gB7tDMR +Fb9Dy5ziR7lNxxIFiqysVzmVVFKCCzcGJhGCTBHgAv5Ucy1OdvLTDJmUyZ/YPDOmiAJA6tjOeku9 +P8QOHUgr0RQGUk4HbTTEtD/Eafo5oLOq8v8Hsjgpyl4aWQUAAAAASUVORK5CYII= +} diff --git a/rac_gui.cfg b/rac_gui.cfg index 7d146e2..6faab4f 100644 --- a/rac_gui.cfg +++ b/rac_gui.cfg @@ -5,6 +5,7 @@ # Copyright (c) "http://nuk-svk.ru", 2018, # https://bitbucket.org/svk28/rac-gui ###################################################### -set locale "ru" set rac_cmd "/opt/1C/v8.3/x86_64/rac" +set default(locale) "ru" set default(port) 1545 +set default(dbms) [list MSSQLServer PostgreSQL IBMDB2 OracleDatabase] \ No newline at end of file diff --git a/rac_gui.tcl b/rac_gui.tcl index 9fef4cf..aa875d6 100755 --- a/rac_gui.tcl +++ b/rac_gui.tcl @@ -9,11 +9,21 @@ exec wish "$0" -- "$@" # Home page: https://bitbucket.org/svk28/rac-gui ###################################################### -source [file join [pwd] rac_gui.cfg] -source [file join [pwd] 1c_srv.cfg] +#source [file join [pwd] 1c_srv.cfg] set dir(root) [pwd] +set dir(work) [file join $env(HOME) .rac_gui] +if {[file exists $dir(work)] == 0 } { + file mkdir $dir(work) +} + +if {[file exists [file join $dir(work) rac_gui.cfg]] ==0} { + file copy [file join [pwd] rac_gui.cfg] [file join $dir(work) rac_gui.cfg] +} + +source [file join $dir(work) rac_gui.cfg] + set dir(msg) "[file join $dir(root) msgs]" set dir(lib) "[file join $dir(root) lib]" @@ -38,9 +48,21 @@ foreach modFile [lsort [glob -nocomplain [file join $dir(lib) *.tcl]]] { source [file join $dir(lib) gui.tcl] puts "$rac_cmd $dir(lib)" -.frm_tree.tree insert {} end -id "server::$host" -text "$host" -values "$host:$port" +source [file join $dir(work) rac_gui.cfg] + +if [file exists [file join $dir(work) 1c_srv.cfg]] { + set f [open [file join $dir(work) 1c_srv.cfg] "RDONLY"] + while {[gets $f line] >=0} { + #puts $line + .frm_tree.tree insert {} end -id "server::$line" -text "$line" -values "$line" + } +} else { + #Add::main_server +} + + +#.frm_tree.tree insert {} end -id "server::$host" -text "$host" -values "$host:$port" #.frm_tree.tree insert {} end -id "$host" -text "$host" -values "$host" #RunCommand $host "cluster list $host $port" -