Каталог решений - Быстрый запуск информационной базы 1С:Предприятия 8.3 в Python c использованием bat файла

Быстрый запуск информационной базы 1С:Предприятия 8.3 в Python c использованием bat файла

Быстрый запуск информационной базы 1С:Предприятия 8.3 в Python c использованием bat файла

В наличии

В статье излагается решение задачи быстрого запуска требуемой пользователю информационной базы 1С:Предприятия 8.3. Под быстрым запуском подразумевается запуск информационной базы без выбора в списке информационных баз. Один из способов — запуск информационной базы с использованием ярлыка. Второй способ — быстрый запуск информационной базы в Python с использованием bat-файла.

Категория:

Описание

Быстрый запуск информационной базы 1С:Предприятия 8.3 в Python  c использованием bat файла

Однажды, при реализации проекта, в котором после некоторых манипуляций со скриптами в Python, возникла задача выборочного и быстрого запуска информационных баз 1С:Предприятия 8.3 (без выбора в диалоговом стартовом окне).  Начался интеллектуальный поиск. Результаты поиска привожу в упорядоченном виде. 

Первый скромный вопрос: «Как запустить внешнее исполняемое приложение без параметров в Python?» На него есть множество вариантов ответов. Ниже приведён пример скрипта для запуска IDE Lazarus. Полное имя стартового файла: С:/lazarus/lazarus.exe.

 

# -*- coding: utf-8 -*-

import os

os.system(r’c:/"lazarus"/lazarus.exe’)

 

Казалось бы, что «дело в шляпе». Пишем требуемый путь к 1С и всё… Однако, нет рек без подводных камней. Вот тут нас ожидает первый из них. Вышеприведенный скрипт хорошо работает при отсутствии в пути пробелов. Но платформа 1С:Предприятие 8.3. «любит» по умолчанию устанавливаться  в папку "Program Files". Если в пути к файлу есть пробелы, то запуск приложения можно выполнить так как показано ниже. Пример запуска программы 1С:Предприятие 8.3, расположенной в c:/Program Files/1cv8/common/1cestart.exe.

 

# -*- coding: utf-8 -*-

import os

os.startfile(r’c:/Program Files/1cv8/common/1cestart.exe’)

 

Кстати говоря, код будет добротно работать и при такой записи последней строки:

os.startfile(r’c:\Program Files\1cv8\common\1cestart.exe’)

Для того, чтобы не просто запустить исполняемую программу, а с параметрами, нужно немного потанцевать с бубном. Вариантов вновь много, но мы попробуем пойти путём запуска программы с использованием bat файла. Итак, напомню, нам нужно запустить интересующую нас информационную базу 1С без диалога выбора информационных баз. Так сказать быстрый запуск без ввода логина и пароля.

В результате проб и ошибок мы выработали следующий порядок действий (приводим его предельно детально):

  1. Предположим, что стартовая программа 1С:Предприятие 8.3. установлена в  c:/Program Files/1cv8/common/1cestart.exe. Расположение стартового файла 1С можно узнать, кликнув по её ярлыку и во вкладке «Ярлык» можно увидеть имя в поле «Объект».

 

 

  1. Полное имя информационной базы, которую мы собираемся запустить, минуя появления диалогового окна 1С:  C:\Users\User\Documents\InfoBase5. Узнать место расположения информационной базы можно предварительно из диалогового окна, возникающего при обычном запуске 1С.

  1. Создадим новый ярлык, который нам понадобится для быстрого запуска нашей информационной базы. Для этого можно сделать копию уже имеющегося ярлыка 1С. Затем переименовать его как вам нужно и в свойствах в  поле «Объект» немного продолжить строчку, дополнив ее параметром «ENTERPRISE /F» и полным именем требуемой вам информационной базы.

У нас получится следующая строка (кавычки обязательны!).

 

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"C:\Users\User\Documents\InfoBase5"

 

 

Можно протестировать работу нового ярлыка. Если всё работает как нужно, то можно переходить к следующему шагу.

  1. Наступил момент создания bat файла. Открываем блокнот и копируем в него строчку, которую мы только что записывали в поле «Объект» ярлыка. 

 

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"C:\Users\User\Documents\InfoBase5"

 

  1. Сохраним файл и дадим ему красивое имя start_conf.bat (можно назвать, исходя из собственного представления о прекрасном).
  2. Теперь осталось научиться запускать файл типа bat с помощью Python кода. Предположим, что полное имя вашего bat файла c:\PythonProgram\start_conf.bat, тогда код в Python будет предельно лаконичен!

 

# -*- coding: utf-8 -*-

import os

os.startfile(r’c:\PythonProgram\start_conf.bat’)

 

Таким образом, в результате вышеприведенных манипуляций мы получаем ярлык для быстрого доступа к требуемой информационной базе и предельно короткий код Python позволяющий оперативно стартовать любую информационную базу.

has been added to your cart:
Оформление заказа