mirror of
https://bitbucket.org/svk28/rac-gui
synced 2024-11-13 09:06:53 +00:00
cc4130f0a4
Теперь можно работать с серверами запущенными на платформах разных версий 1С:Предприятия. Для этого при добавлении основного сервера можно указать путь до RAC соответствующей платформы. Если путь не указан то при работе будет использоваться путь из файла конфигурации, указанный при первом запуске программы.
120 lines
4.4 KiB
Tcl
Executable File
120 lines
4.4 KiB
Tcl
Executable File
#!/bin/sh
|
||
# Tcl ignores the next line -*- tcl -*- \
|
||
exec wish "$0" -- "$@"
|
||
|
||
package require msgcat
|
||
|
||
######################################################
|
||
# Rac GUI
|
||
# Distributed under GNU Public License
|
||
# Author: Sergey Kalinin svk@nuk-svk.ru
|
||
# Home page: https://bitbucket.org/svk28/rac-gui
|
||
######################################################
|
||
# Устанавливаем текущий каталог
|
||
set dir(root) [pwd]
|
||
# Устанавливаем рабочий каталог, если его нет то создаём
|
||
set dir(work) [file join $env(HOME) .rac_gui]
|
||
if {[file exists $dir(work)] == 0 } {
|
||
file mkdir $dir(work)
|
||
}
|
||
# каталог с модулями
|
||
set dir(lib) "[file join $dir(root) lib]"
|
||
|
||
# загружаем пользовательский конфиг, если он отсутствует, то копируем дефолтный
|
||
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]
|
||
|
||
::msgcat::mclocale $default(locale)
|
||
::msgcat::mcload [file join $dir(lib) msg]
|
||
|
||
# Код проверки наличия rac и правильности указания пути в конфиге
|
||
# если программа не найдена то будет выведен диалог для указанием корректного пути
|
||
# и этот путь будет записан в пользовательский конфиг
|
||
if {[file exists $rac_cmd] == 0} {
|
||
set rac_cmd "[tk_getOpenFile -initialdir $env(HOME) -parent . \
|
||
-title [::msgcat::mc "Show where is a RAC command"] -initialfile rac]"
|
||
if {$rac_cmd eq ""} {exit}
|
||
file copy [file join $dir(work) rac_gui.cfg] [file join $dir(work) rac_gui.cfg.bak]
|
||
set orig_file [open [file join $dir(work) rac_gui.cfg.bak] "r"]
|
||
set file [open [file join $dir(work) rac_gui.cfg] "w"]
|
||
while {[gets $orig_file line] >=0 } {
|
||
if {[string match "set rac_cmd*" $line]} {
|
||
puts $file "set rac_cmd \"$rac_cmd\""
|
||
} else {
|
||
puts $file $line
|
||
}
|
||
}
|
||
close $file
|
||
close $orig_file
|
||
#return "$host:$port"
|
||
file delete [file join $dir(work) rac_gui.cfg.bak]
|
||
if {$tcl_platform(platform) == "windows"} {
|
||
tk_messageBox -message "[::msgcat::mc "Reexecute the programm"]!" \
|
||
-icon info -type ok
|
||
exit
|
||
}
|
||
} else {
|
||
puts "Found $rac_cmd"
|
||
}
|
||
|
||
set cluster_user ""
|
||
set cluster_pwd ""
|
||
set agent_user ""
|
||
set agent_pwd ""
|
||
## LOAD FILE ##
|
||
# Загружаем модули кроме gui.tcl так как его надо загрузить последним
|
||
foreach modFile [lsort [glob -nocomplain [file join $dir(lib) *.tcl]]] {
|
||
if {[file tail $modFile] ne "gui.tcl"} {
|
||
source $modFile
|
||
puts "Loaded module $modFile"
|
||
}
|
||
}
|
||
source [file join $dir(lib) gui.tcl]
|
||
source [file join $dir(work) rac_gui.cfg]
|
||
|
||
# Читаем файл со списком серверов 1С
|
||
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} {
|
||
set l [split $line " "]
|
||
set line [lindex $l 0]
|
||
if {[lindex $l 1] ne ""} {
|
||
set server_platform($line) [lindex $l 1]
|
||
}
|
||
.frm_tree.tree insert {} end -id "server::$line" -text "$line" -values "$line"
|
||
}
|
||
}
|
||
|
||
# set editor(fg) grey
|
||
# set editor(bg) black
|
||
# option add *Entry.Foreground $editor(fg) interactive
|
||
# option add *Entry.Background $editor(bg) interactive
|
||
# option add *Label.Foreground $editor(fg) interactive
|
||
# option add *Label.Background $editor(bg) interactive
|
||
# option add *Checkbox.Foreground $editor(fg) interactive
|
||
# option add *Checkbox.Background $editor(bg) interactive
|
||
# option add *Checkbutton.Foreground $editor(fg) interactive
|
||
# option add *Checkbutton.Background $editor(bg) interactive
|
||
# option add *Combobox.Foreground $editor(fg) interactive
|
||
# option add *Combobox.Background $editor(bg) interactive
|
||
# option add *Listbox.Foreground $editor(fg) interactive
|
||
# option add *Listbox.Background $editor(bg) interactive
|
||
# option add *TreeView.Background $editor(bg) interactive
|
||
#option add *Treeview.Foreground red interactive
|
||
# #option add *Frame.Background $editor(bg) interactive
|
||
# option add *ScrollableFrame.Background $editor(bg) interactive
|
||
# option add *ScrolledWindow.Background $editor(bg) interactive
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|