как в BAT файле сделать запуск окна и его автоматическое закрытие? #784508


#0 by vde69
суть проблемы: если мы добавляем список информационных баз не в стартовом окне а программном, то сами базы появляются только при втором открытии стартового окна. Хочется из bat файла запустить 1с, дождаться корректного открытия стартового окна (там будет вопрос "Список баз пуст") и корректно закрыть его что бы запустить повторно...
#1 by yzimin
Работать только с ...1cv82common1cestart.exe не предлагать?
#2 by oslokot
call 1s.exe
#3 by Garykom
#4 by vde69
Вы видимо не в курсе, что файл *s.exe сам умеет находить и запускать нужного клиента в рамках своей версии. а наличие в системе нескольких версий (а значит и нескольких версий серверов 1с) это уже перебор... я придерживаюсь правила - переход на новую версию сразу для всех баз... реализовал и теперь замена версии для меня плевое дело... это запуск а мне нужно закрытие процесса (посылка окну ALT+F4) читал, в чем-то согласен, в чем-то нет... В целом я уже сделал свой велосипед, может выложу куда... у меня свои подходы к сабжу еще с 7.7, изначально брал проект на нем дописал автоматическое формирование списков пользователей сейчас осталось 2 мента довести 1. "Первый запуск" - это именно сабж, сейчас при первом запуске для нового юзера приходится 2 раза ярлык запускать. 2. "фоновое обновление списков баз", тут проблема с правами, по тому как перезапись открытых файлов требует админских прав...
#5 by vde69
собственно для 7.7 у меня было
#6 by Aleksey
Уже починили? Одно время это не работало и 1С всегда запускала тонкого клиента в независимости от ключа. Плюс недостаток стартера в том что он запускает другой файл, а это значит для бат файла что программа завершила работу
#7 by Aleksey
И кстати зачем такие сложности?
#8 by vde69
50 баз и 500 пользователей вручную не набегаешься...
#9 by Aleksey
А почему нельзя использовать список информационных баз?
#10 by Aleksey
У нас попроще тупо прописан ярлык с запуском конкретной базы и уже ярлык через АД раздается пользователям. И пофиг на список.
#11 by Aleksey
ну а если решать задачу тупо в лоб то после запуска 1C делаем задержку и tasskkill
#12 by vde69
я и использую персональный список информационных баз, но для первого запуска я сначала копирую конфигурацию в которой прописан путь к этому списку. но вот при первом запуске этот список не цепляется... этот список цепляется только при последующих запусках, вот я и думаю как-бы первый запуск сделать красиво... я с АД не хочу связываться по причинам административного характера мне нужен не килл а клозе...
#13 by Torquader
Список баз живёт в файле. Зачем чего-то городить, если перед запуском 1С можно просто перезаписать файл, а только после этого запустить стартер ?
#14 by vde69
я так и делаю, проблема в том, что переформирование списка идет не при открытии стартера а при закрытии, и первый запуск идет с пустым списком... по моему уже пятый раз про это пишу!!!
#15 by vde69
и еще один вопрос не соображу: куда положить файл настройки хаспа если запуск 1c идет из serv1cin в этой папке 1с его не видит, видимо дело в том, что юмл пути обрабатываются немного по другому...
#16 by spock
в предложено почитать решение от вендора - все юзерам прописать каталог с настройками баз. А потом рулить этим каталог как хочешь. Распихать в этом каталоге настройки баз по разным файлам и win-правами рулить кому что прописывать в стартере. Стартер работает просто: - видит в каталоге файл с настройками базы - прописал ее юзеру. - не видит - не прописал (а если до этого прописывал, то удалит). Просто и удобно.
#17 by Torquader
Причём здесь переформирование - если я ему положил файл из которого он читает список баз, то он явно его читать будет при открытии - просто, нужно знать, в какой файл и что положить.
#18 by Torquader
Вот файл ibases.b8i - в нём прописаны базы. Если я что-то в нём меняю, то сразу при открытии списка баз я эти изменения вижу. Какой ещё можно файл поправить, чтобы база появлялась при закрытии ?
#19 by vde69
я правлю файл 1CEStart.cfg в него записываю CommonInfoBases=\serv1cLogin@NameDomane.v8i и потом правлю эти персональные файлы лежащие на сервере. но при первом запуске не происходит обьединение локального и удаленного файла, это объединение происходит при выходе...
#20 by spock
Дать скрипт, который реализует, описанное в ?
#21 by Лефмихалыч
может вместо этого сначала добавить базу непосредственно в ibases.b8i, а уже потом запускать 1cestart.exe?
#22 by vde69
а если она там уже есть? а гуиды разные? банально перезаписать - нельзя могут быть персональные локальные базы... у меня есть фишка - я знаю каталоги на клиентах с кешем для каждой базе, то есть у меня у базы единый гуид для всех юзеров.... штатно это не делается...
#23 by Jump
Т.е задача только в том чтобы открыть окно и закрыть его? Костыли рассматриваешь?
#24 by vde69
да
#25 by Jump
Если так - пустая база с пустой конфигурацией. Открываем ее из командной строки с вызовом обработки которая ее закроет. База моментально открвается и тут же закрывается.
#26 by Aleksey
Не пиши ГУИДЫ, 1С-ка нормально к пропускам относиться
#27 by Torquader
#28 by vde69
гуид - это путь к локальному кешу, я их пишу СПЕЦИАЛЬНО что бы при необходимости чистить его было проще, одинаковый каталог на всех компах.... в этом моя фишка :)
#29 by Лефмихалыч
ну, поискать надо, какие проблемы? Или для этого ватник плохо подходит? Ну, дак, это проблемы того, кто скриптов боится
#30 by Лефмихалыч
да и в вообще, общий список баз решит все эти глупые проблемы на раз. Тогда задача сводится к тому, чтобы тупо перезаменять файл v8L на компе клиента на правильный
#31 by Cyberhawk
Общий список баз, опубликованный как веб-сервис, почему не делаешь?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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