v7: Запуск из командной строки... #224598


#0 by Doomer
Есть батник, который открывает 1С под определенным пользователем. Как прописать в строке запуска чтобы 1С при запуске не выдавало окно "Каталог пользователя занят", а автоматически закрывало окно?
#1 by shds
проверь в папке пользователя файл 1Cv7.LCK (если монопольно еще и в папке базы) без гарантий, ибо он может остаться от аварийного завершения. хотя можно его попробывать удалить, занят - 1с 99% жива :)
#2 by Doomer
мне именно надо чтобы окно "Каталог пользователя занят" закрывалось автоматически
#3 by Лефмихалыч
достаточно попытаться удалить файлик, ежели получилос - груи наздоровье
#4 by Лефмихалыч
эти модальные окна автоматически не закрываются
#5 by shds
а кто мешает перед запуском 1cv7.exe проверить 1Cv7.LCK ?
#6 by Лефмихалыч
А еще, если файлик Sysloglinks.tmp пустой (или/и его можно удалить), то в базе ни кого нет.
#7 by Doomer
а как проверить монопольно кто сидит в базе или нет?
#8 by Лефмихалыч
вернее, если этот файлик отсутствует или/и его можно удалить
#9 by shds
ну почему же... если не ограничиваться батником, и стоит задача именно в закрытии окна "каталог..." - вполне решаема. например через перебор открытых окон, поиска заголовка "каталог..." и посыла туда команды на закрытие... выбор средств за автором поста...
#10 by Лефмихалыч
заачем?
#11 by shds
1Cv7.LCK в папке базы
#12 by Doomer
в планировщике есть задача запускать 1С с 8.00 до 18.00 под пользовалем "робот", необходимо если кто-то зашел монопольно и выгнал робота, после освобождения базы опять запустить робота.
#13 by Лефмихалыч
тогда ищи файлик и пытайся его удалить, ежели его после попытки удаления не существует, то грузи робота своего
#14 by Лефмихалыч
вот тебе рыба скрипта, можешь заточить под собственные нужды var g_Shell  = WScript.CreateObject("WScript.Shell"); var g_FSO = new ActiveXObject("Scripting.FileSystemObject");
#15 by Doomer
большое спасибо за скрипт. я сними пока не знаком, где его можно написать или как запустить в планировщике?
#16 by Лефмихалыч
%systemroot%system32WScript.exe путь-до_скрипта
#17 by Doomer
Это кто под моим логином работает?
#18 by Лефмихалыч
откуда мне-то знать что у тебя работает?
#19 by Лошадка в пальто
я в пальто...
#20 by Di_xxxxx
Скажите как можно запустить данный скрипт, используя %systemroot%system32WScript.exe
#21 by Di_xxxxx
Все, разобрался. но в строке запуска робота как правильно прописать путь до 1С - c:Program Files1Cv77BIN1cv7.exe не работает???
#22 by miki
""
#23 by miki
Ещё1 вариант c:Progra~11Cv77BIN1cv7.exe
#24 by Di_xxxxx
c:Progra~11Cv77BIN1cv7.exe или "" все равно при выполнении скрипта выдается ошибка
#25 by zalex
Попробуй правильный путь написать ;)
#26 by miki
Может пришло время запостить саму ошибку?
#27 by Di_xxxxx
скрипт: var g_Shell  = WScript.CreateObject("WScript.Shell"); var g_FSO = new ActiveXObject("Scripting.FileSystemObject");
#28 by Di_xxxxx
путь к каталогу Program Files скорее всего можно прописать через переменные среды наверное
#29 by miki
1cv7.exe|1cv7l.exe|1cv7s.exe А чё не батник?
#30 by Di_xxxxx
батник не выполняется скриптом
#31 by Di_xxxxx
может кто знает? как
#32 by Лефмихалыч
кавычки нужно было экранировать символом if(!g_FSO.FileExists(g_sLCK))g_Shell.Run("C:Progra~11Cv77BIN1cv7.exe", 2, 0);
#33 by Лефмихалыч
#34 by Лефмихалыч
почитай мануал про JScript на это не долго (у меня в свое время день заняло), а знания ТОЧНО не будут бесполезными
#35 by Doomer
а правильно было var g_exeDir = "C:\Progra~1\1Cv77\BIN\1cv7.exe";
#36 by Di_xxxxx
а правильно было var g_exeDir = "C:\Progra~1\1Cv77\BIN\1cv7.exe";
#37 by СтепаЦВ
А рабочий пример?
#38 by Di_xxxxx
#39 by Di_xxxxx
тестирую, только не могу понять какой признак отвечает за то, что кто-то монопольно сидит вбазе. файл 1Cv7.LCK в корне базы появляется даже тогда, когда кто-то есть в базе не монопольно???
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С