Запуск последнего установленного релиза платформы 1С 8.2 из батника

Бывают случаи, когда приходится для пользователей писать батник запуска 1С с указанием конкретной базы, когда стандартный загрузчик 1С не работает (например автоматический запуск 1С с указанием конкретной базы при старте windows), а с выходом релиза 15 платформы  проблема стала еще актуальней.
Но запускать в батнике 1С конкретного релиза неохота, т. к. выйдет новый релиз и придется переписывать батник.

Предлагаю универсальный батник, который всегда запускает именно последний релиз платформы 1С.

Предлагаю Вашему вниманию батник, который работает по следующему принципу:
1. Запускается батник, в который передаются параметры подключения к базе

2. Батник ищет последний установленный релиз платформы и запускает его, передавая параметры базы.

Таким образом запускается конкретная база всегда под последним релизом.

Собственно такая проблема у меня была. Нужно пользователям в настройке запуска Windows прописать запуск 1С предприятия, указав под какой базой войти в предприятие.
Вроде не вопрос:

 
«C:Program Files1cv828.2.14.528in1cv8.exe» enterprise /S server_namease_name

Но вот не хотелось указывать конкретно релиз программы в командной строке. А если установить новый релиз? Перепрописывать всем пользователям путь?

«C:Program Files1cv82common1cestart.exe» enterprise /S server_namease_name

— вроде запускает нужную базу, но открывает ее под управляемым интерфейсом (открывается пустое окно управляемого интерфейса), даже если я явно передаю параметр запуска в обычном интерфейсе.

Не долго думая, решил написать батник, который будет выбирать последний релиз 1С 8.2 и запускать его, передавая параметры. И все получилось.

1. В папке «C:Program Files1cv82» создаем bat-файл с иминем «start1c.bat» и следующим содержимым:

 
@echo off
for /f «delims=» %%* in (‘dir/O:-N 8.2* /B /S 2#k8SjZc9Dxk>nul’) do (
start %%*in1cv8.exe %1 %2 %3 %4 %5 %6 %7 %8 %9
exit /B
)

2. В поле запуска приложения при входе пользователя прописываем команду

 
C:Progra~11cv82start1c enterprise /S server_namease_name

3. В поле рабочего каталога обязательно указываем

 
C:Progra~11cv82

И все работает.

Что делает батник? Он получает список папок в рабочем каталоге с полным путем, которые начинаются на «8.2» и отсортированы по убыванию. Таким образом нужный каталог будет находится первым в списке. По списку запускается перебор, и первому же (нужному) пути каталога приклеивается «in1cv8.exe», потом приклеиваются параметры и запускается 1С. Так как для запуска 1С используется команда «start», батник не ожидает окончания работы 1С и завершается. 1С же продолжает работу. Таким образом мы запускаем 1С один раз именно самой последней версии указав конкретную базу и режим предприятия. smile.gif

P. S. Если у Вас 64-битная система и 1С установлена в «C:Program Files (x86)1cv82«, то вместо «C:Progra~1» нужно писать «C:Progra~2«

 

Оригинал моей статьи опубликован здесь: http://pro1c.org.ua/index.php?showtopic=6831

12 Comments

  1. modul

    Бывают случаи, когда приходится для пользователей писать батник запуска 1С с указанием конкретной базы, когда стандартный загрузчик 1С не работает (например автоматический запуск 1С с указанием конкретной базы при старте windows), а с выходом релиза 15 платформы проблема стала еще актуальней.

    Но запускать в батнике 1С конкретного релиза неохота, т. к. выйдет новый релиз и придется переписывать батник.

    Предлагаю универсальный батник, который всегда запускает именно последний релиз платформы 1С.

    Перейти к публикации

    Reply
  2. maxkisa

    Велосипед..есть штатные средства и по запуску последней платформы и автоматической установке последней версии платформы на компы пользователей

    Reply
  3. frc

    публикацию можно закрывать.

    По запуску последних и не-последних релизов есть полновесная статья «Администрирование и унификация списка баз пользователей в 8.2 (типовой механизм)».

    Reply
  4. modul

    Штатные средства в некоторых случаях не работают. В частности в 15 релизе: если у пользователя в списке нет базы, то прямой ярлык не запускает нужную базу а открывает список. Еще, если в настройках Виндовс для пользователя прописать запуск программы по умолчанию 1cestart.exe (это когда проводник и меню «пуск» не загружается, а грузится сразу 1С с конкретной базой) то тпри входе пользователя открывается управляемый интерфейс, даже если его явно задать.

    Списки баз создавать долго, да и зачем если использовать тольку одну базу. Мне проще батником. Батник — он надежный и я точно знаю что там и как запускается, а 1С мало ли когда что накосячит. Авось перестанет вдруг запуск работать штатными методами, как в 15 релизе.

    Reply
  5. cuba8

    Не совсем понял 2-й пункт:

    2. В поле запуска приложения при входе пользователя прописываем команду.

    Это где такое поле запуска приложения, в свойствах ярлыка?

    Reply
  6. frc

    (3)

    В частности в 15 релизе: если у пользователя в списке нет базы, то прямой ярлык не запускает нужную базу а открывает список.

    так у вас и есть прямой запуск стартера.

    Что делает ярлык.

    Reply
  7. modul

    (4) cuba8, вот здесь:

    Reply
  8. modul

    (5) frc, Ярлык v8i не работает в таком случае. Я не про список баз и которого нужно выбрать базу

    Reply
  9. МимохожийОднако

    (3) ИМХО, не убедил. В настройках запуска достаточно указать на файл списка баз, в котором всё прописано.

    Reply
  10. cuba8

    (6) Спасибо разобрался.

    Если делать не через домен, а через ярлык на рабочем столе ПК (WinXP), то строчка в поле «Объект» вида:

    C:Progra~11cv82start1c

    все равно встанет такой:

    «C:Program Files1cv82start1c.bat»

    А в поле рабочая папка строчка обязательно такая:

    C:Progra~11cv82\r

    иначе не будет работать

    Reply
  11. webester

    никак не пойму чем

    «C:Program Files (x86)1cv82common1cestart.exe» /FПутьКБазе

    не устраивает?

    Reply
  12. webester

    (10) невнимательно читал (3) вопрос снят

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *