Внедрение 1C Блог О нас
 
1С:Франчайзинг На главную Написать нам

1С вызов команды runscript когда она не помечена как запущенная


Runscript — утилита для запуска python скриптов

Думаю многим знакома следующая ситуация. В вашем проекте есть различные действия, которые нужно выполнять время от времени. Для каждого действия вы создаёте отдельный скрипт на питоне. Чтобы далеко не лазить, скрипт кладёте в корень проекта. Через некоторое время вся корневая директория проекта замусоривается этими скриптами и вы решаете сложить их в отдельную директорию. Теперь начинаются проблемы. Если указать интерпретатору python путь до скрипта, включающий эту новую директорию, то внутри скрипта не будут работать импорты пакетов, находящися в корне проекта т.к. корня проекта не будет в sys.path. Эту проблему можно решить несколькими способами. Можно изменять sys.path в каждом скрипте, добавляя туда корень проекта. Можно написать утилитку для запуска ваших скриптов, которая будет изменять sys.path перед запуском скрипта или просто будет лежать в корне проекта. Можно ещё что-то придумать. Мне надоело каждый раз изобретать колесо и я создал велосипед runscript на котором с удовольствием катаюсь. Установить библиотеку можно с помощью pip: $ pip install runscript После установки библиотеки runscript, вы получаете в вашей системе новую консольную команду run с помощью которой можно запускать скрипты. По-умолчанию, команда run ищет скрипты в под-каталоге script текущего каталога. Давайте рассмотрим простой пример. Создадим каталог script. Создадим пустой файл script/__init__.py, превратив этот каталог в python-пакет. Теперь создадим файл script/preved.py со следующим содержимым: def main(**kwargs): print(‘Preved, medved!’) Скрипт готов. Теперь мы можем его запустить: $ run preved Preved, medved! Ура! Скрипт работает. Вот собственно и всё, что делает библиотека runscript. Я серьёзно :) Команда run запускает функцию main из файла, имя которого вы ей передали в командной строке. Оказалось, что даже такой простой фунционал очень удобен. Я с удивлением заметил, что пользуюсь утилиткой run в каждом своём проекте т.к. везде есть простенькие скрипты, которые нужно запускать. Со временем утилита run обросла рядом полезных полезностей, о которых я сейчас расскажу.

Получение параметров через командную строку

Чтобы передать вашему скрипту какие-либо параметры через командную строку, вам нужно описать эти параметры в функции setup_arg_parser внутри вашего скрипта. Эта функция получает на вход объект ArgumentParser, в который вы можете добавить нужные опции. Далее, когда скрипт будет вызван, значения параметров командной строки будут переданы фунции main. Пример скрипта: def setup_arg_parser(parser): parser.add_argument(‘-w’, ‘--who’, default=’medved’) def main(who, **kwargs): print(‘Preved, {}’.format(who)) Запускаем: $ run preved Preved, medved $ run preved -w anti-medved

Preved, anti-medved

Обратите внимание, как фунция main получила параметры командной строки — в виде обычных именованных параметров. Всегда нужно указывать **kwargs т.к. кроме нужных вам параметров, передаются значения всех глобальных для утитилы run параметров (читайте о них ниже).

Активация Django

Если вы пытались использовать фреймворк Django в ваших консольных скриптах, то знаете, что нужно сделать кое-что, иначе ничего не будет. Кое-что заключается в создании environment переменной DJANGO_SETTINGS_MODULE, cодержащей путь до модуля с настройками. Обычно в python скрипт добавляют следующие строки: import os os.environ[‘DJANGO_SETTINGS_MODULE’] = ‘settings’ Начиная с django 1.7 нужно также выполнить import django django.setup() Для того чтобы выполнять автоматически эти действия в скриптах, запускаемых через run, нужно создать в корне проекта файл с именем run.ini, содержащим следующие настройки: [global] django_settings_module = settings django_setup = yes

Профилирование

Добавив ключик --profile при вызове скрипта, получим файл с результатами профилирования работы нашего скрипта, который можно посмотреть в kcachegrind. Результат сохраняется в каталог var/.prof.out, так что не забудьте создать этот каталог. Также нужно установить модуль pyprof2calltree, который нужен, чтобы сохранить результат профилирования в формате kcachegrind. $ run preved --profile Preved, medved $ ls var/ preved.prof.out

Настройка мест поиска скриптов

По-умолчанию, утилита run ищет скрипт в двух пакетах: grab.script и script. Пакет grab.script добавлен в этот список, потому что во многих проектах парсинга сайтов я запускаю команду crawl из grab.script пакета. Если вам нужно изменить места для поиска скриптов, создайте следующую настройку в run.ini файле: [global] search_path = package1.script,foo,bar Теперь если мы выполним команду `run preved`, то утилита run попытается импортировать модуль preved в следующем порядке:
  • package1.script.preved
  • foo.preved
  • bar.preved

Использование lock-файлов

Иногда бывает нужно запретить одновременную работу нескольких экземпляров скрипта. Например, мы вызываем скрипт каждую минуту с помощью cron и хотим не допустить одновременной работы нескольких копий скрипта, что может произойти, если работа одной из копий затянется больше, чем на минуту. С помощью опции --lock-key мы можем передать имя lock-файла, который будет создан в каталоге var/run. Например, --lock-key foo приведёт к созданию файла var/run/foo.lock. Другой способ задать имя lock-файла — создание функции get_lock_key внутри вашего скрипта. Результат её работы будет использован утилитой run, для формирования имени lock-файла. Фунция будет полезна на тот, случай, если вы хотите генерировать имя lock-файла в зависимости от параметров, передаваемых скрипту. import time def get_lock_key(who, **kwargs): return 'the-{}-lock'.format(who) def setup_arg_parser(parser): parser.add_argument('-w', '--who', default='medved') def main(who, **kwargs): print('Preved, {}'.format(who)) time.sleep(1) Запускаем одновременно две копии скрипта и видим: $ run preved -w anti-medved & run preved -w anti-medved [1] 25277 Trying to lock file: var/run/the-anti-medved-lock.lock Preved, anti-medved Trying to lock file: var/run/the-anti-medved-lock.lock File var/run/the-anti-medved-lock.lock is already locked. Terminating. [1]+ Done run preved -w anti-medved

Я рассказал об основных возможностях библиотеки runscript. Надеюсь, она окажется вам полезной.

В случае вопросов по поводу работы библиотеки можно всегда посмотреть в исходный код, который на данный момент довольно маленький: github.com/lorien/runscript/blob/master/runscript/cli.py

Метки:
  • скрипты
  • автоматизация
  • python
  • argparse
  • optparse

habr.com

Runscript — утилита для запуска python скриптов27.01.2015 00:03

Думаю многим знакома следующая ситуация. В вашем проекте есть различные действия, которые нужно выполнять время от времени. Для каждого действия вы создаёте отдельный скрипт на питоне. Чтобы далеко не лазить, скрипт кладёте в корень проекта. Через некоторое время вся корневая директория проекта замусоривается этими скриптами и вы решаете сложить их в отдельную директорию. Теперь начинаются проблемы. Если указать интерпретатору python путь до скрипта, включающий эту новую директорию, то внутри скрипта не будут работать импорты пакетов, находящися в корне проекта т.к. корня проекта не будет в sys.path. Эту проблему можно решить несколькими способами. Можно изменять sys.path в каждом скрипте, добавляя туда корень проекта. Можно написать утилитку для запуска ваших скриптов, которая будет изменять sys.path перед запуском скрипта или просто будет лежать в корне проекта. Можно ещё что-то придумать. Мне надоело каждый раз изобретать колесо и я создал велосипед runscript на котором с удовольствием катаюсь.Установить библиотеку можно с помощью pip:

$ pip install runscript

После установки библиотеки runscript, вы получаете в вашей системе новую консольную команду run с помощью которой можно запускать скрипты. По-умолчанию, команда run ищет скрипты в под-каталоге script текущего каталога.Давайте рассмотрим простой пример. Создадим каталог script. Создадим пустой файл script/__init__.py, превратив этот каталог в python-пакет. Теперь создадим файл script/preved.py со следующим содержимым:

def main (**kwargs): print («Preved, medved!») Скрипт готов. Теперь мы можем его запустить:

$ run prevedPreved, medved!

Ура! Скрипт работает. Вот собственно и всё, что делает библиотека runscript. Я серьёзно :) Команда run запускает функцию main из файла, имя которого вы ей передали в командной строке. Оказалось, что даже такой простой фунционал очень удобен. Я с удивлением заметил, что пользуюсь утилиткой run в каждом своём проекте т.к. везде есть простенькие скрипты, которые нужно запускать.Со временем утилита run обросла рядом полезных полезностей, о которых я сейчас расскажу.

Получение параметров через командную строку Чтобы передать вашему скрипту какие-либо параметры через командную строку, вам нужно описать эти параметры в функции setup_arg_parser внутри вашего скрипта. Эта функция получает на вход объект ArgumentParser, в который вы можете добавить нужные опции. Далее, когда скрипт будет вызван, значения параметров командной строки будут переданы фунции main. Пример скрипта: def setup_arg_parser (parser): parser.add_argument (»-w»,»--who», default=«medved»)

def main (who, **kwargs): print («Preved, {}».format (who)) Запускаем: $ run prevedPreved, medved$ run preved -w anti-medvedPreved, anti-medved

Обратите внимание, как фунция main получила параметры командной строки — в виде обычных именованных параметров. Всегда нужно указывать **kwargs т.к. кроме нужных вам параметров, передаются значения всех глобальных для утитилы run параметров (читайте о них ниже).Активация Django Если вы пытались использовать фреймворк Django в ваших консольных скриптах, то знаете, что нужно сделать кое-что, иначе ничего не будет. Кое-что заключается в создании environment переменной DJANGO_SETTINGS_MODULE, cодержащей путь до модуля с настройками. Обычно в python скрипт добавляют следующие строки: import os os.environ[«DJANGO_SETTINGS_MODULE»] = «settings» Начиная с django 1.7 нужно также выполнить import django django.setup () Для того чтобы выполнять автоматически эти действия в скриптах, запускаемых через run, нужно создать в корне проекта файл с именем run.ini, содержащим следующие настройки: [global] django_settings_module = settings django_setup = yes Профилирование Добавив ключик --profile при вызове скрипта, получим файл с результатами профилирования работы нашего скрипта, который можно посмотреть в kcachegrind. Результат сохраняется в каталог var/.prof.out, так что не забудьте создать этот каталог. Также нужно установить модуль pyprof2calltree, который нужен, чтобы сохранить результат профилирования в формате kcachegrind. $ run preved --profilePreved, medved$ ls var/preved.prof.out

Настройка мест поиска скриптов По-умолчанию, утилита run ищет скрипт в двух пакетах: grab.script и script. Пакет grab.script добавлен в этот список, потому что во многих проектах парсинга сайтов я запускаю команду crawl из grab.script пакета. Если вам нужно изменить места для поиска скриптов, создайте следующую настройку в run.ini файле: [global] search_path = package1.script, foo, bar Теперь если мы выполним команду `run preved`, то утилита run попытается импортировать модуль preved в следующем порядке: package1.script.preved foo.preved bar.preved Использование lock-файлов Иногда бывает нужно запретить одновременную работу нескольких экземпляров скрипта. Например, мы вызываем скрипт каждую минуту с помощью cron и хотим не допустить одновременной работы нескольких копий скрипта, что может произойти, если работа одной из копий затянется больше, чем на минуту. С помощью опции --lock-key мы можем передать имя lock-файла, который будет создан в каталоге var/run. Например, --lock-key foo приведёт к созданию файла var/run/foo.lock.Другой способ задать имя lock-файла — создание функции get_lock_key внутри вашего скрипта. Результат её работы будет использован утилитой run, для формирования имени lock-файла. Фунция будет полезна на тот, случай, если вы хотите генерировать имя lock-файла в зависимости от параметров, передаваемых скрипту.

import time

def get_lock_key (who, **kwargs): return 'the-{}-lock'.format (who)

def setup_arg_parser (parser): parser.add_argument ('-w', '--who', default='medved')

def main (who, **kwargs): print ('Preved, {}'.format (who)) time.sleep (1) Запускаем одновременно две копии скрипта и видим: $ run preved -w anti-medved & run preved -w anti-medved[1] 25277Trying to lock file: var/run/the-anti-medved-lock.lockPreved, anti-medvedTrying to lock file: var/run/the-anti-medved-lock.lockFile var/run/the-anti-medved-lock.lock is already locked. Terminating.[1]+ Done run preved -w anti-medved

Я рассказал об основных возможностях библиотеки runscript. Надеюсь, она окажется вам полезной.

В случае вопросов по поводу работы библиотеки можно всегда посмотреть в исходный код, который на данный момент довольно маленький: github.com/lorien/runscript/blob/master/runscript/cli.py

© Habrahabr.ru

pcnews.ru

Параметры командной строки 1С 8.3 и 7.7

Очень давно хотел найти подобную шпаргалку, где собраны основные команды и параметры для запуска 1С из командной строки. Вот наконец-то свершилось, спасибо Infostart 🙂

Параметры запуска 1C из командной строки

Для версий 1С 7.7 и 8 (8.1, 8.2, 8.3) параметры разные. Рассмотрим их подробнее

Команды 1С 7.7

1cv7.exe MODE [ /M | /D | /U | /N | /P ],

где MODE — режим запуска, может принимать только одно из нескольких значений :

  • config — режим конфигуратора;
  • debug — режим отладчика;
  • enterprise — нормальный (рабочий) режим;
  • monitor — режим «Монитор».

Следующие ключи опциональны:

  • /M — запуск программы в монопольном режиме;
  • /D — каталог базы данных;
  • /U — рабочий каталог пользователя (каталог из списка пользователей игнорируется);
  • /N — имя пользователя;
  • /P — пароль пользователя;
  • /T — путь к временным файлам;
  • /@ — для режима конфигуратора с указанием файла пакетного запуска;
  • /W — инициализация Web-расширения;
  • /L — язык интерфейса: ENG — английский, UKR — украинский.

Пример: 1cv7 enterprise /Dc:\1c\mainbase /NИванов /P123,

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

Команды для 1С 8.3 и 8.2

Дополнительные параметры выбора режима запуска

Одновременное использование параметров из приведённой ниже таблицы не допускается.

DESIGNER  (CONFIG в 8.0) Запуск в режиме Конфигуратора.

ENTERPRISE   Запуск в режиме Предприятия.

CREATEINFOBASE [/AddInList [ИмяИБ]] [/UseTemplate ]   Создание информационной базы.

  • СтрокаСоединения — обязательный параметр, см. ниже.
  • /AddInList [ИмяИБ] — имя, под которым база добавляется в список. Если этот параметр не указан, база добавлена в список не будет. Если не указано ИмяИБ, будет задано имя по умолчанию (как при интерактивном создании базы).
  • /UseTemplate — создание информационной базы осуществляется по шаблону, указанному в . В качестве шаблонов могут быть файлы конфигурации (.cf) или файлы выгрузки информационной базы (.dt). Если шаблон не указан, параметр игнорируется.

Параметр СтрокаСоединения образуется из пар ИмяПараметра=Значение, разделённых символами точки с запятой (;). Если Значение содержит пробелы, оно должно быть заключено в двойные кавычки. Возможные параметры строки соединения:

Для файлового варианта определен параметр:

File         Каталог информационной базы.

Для клиент-серверного варианта определены параметры:

Srvr         Имя сервера 1С:Предприятия.

(8.1 и выше) Если командная строка запуска исполняемого файла содержит несколько параметров, описывающих путь к информационной базе (File и Srvr), то используется последний из указанных параметров.

(c 8.2 и 8.3) Для обеспечения бесперебойной работы клиентских приложений возможно указание нескольких адресов кластера. Для этого:

  • Значением параметра Srvr может быть список адресов кластера через запятую, например: Srvr=”Server1,Server2” или Srvr=”Server1:1741,Server2:1741”;
  • В диалоге добавления информационной базы в клиентском приложении значением свойства «Кластер серверов 1С Предприятия» может быть список адресов кластера через запятую, например: Server1,Server2 или Server1:1741,Server2:1741;

Ref          Имя информационной базы на сервере 1С:Предприятия

DBMS  (с 8.1) тип используемого сервера баз данных:

  • MSSQLServer — Microsoft SQL Server (по умолчанию);
  • PostgreSQL — PostgreSQL;
  • IBMDB2 — IBM DB2;
  • OracleDatabase — Oracle Database (c 8.2).

DBSrvr   (SQLSrvr в 8.0) Имя SQL-сервера.

DB          (SQLDB в 8.0) Имя SQL-базы данных.

DBUID    (SQLUID в 8.0) Имя пользователя SQL-сервера.

DBPwd   (SQLPwd в 8.0) Пароль пользователя SQL-сервера. Если пароль для пользователя сервера баз данных не задан, то данный параметр можно не указывать.

SQLYOffs  Смещение дат, используемое для хранения дат в SQL-сервере (для клиент-серверного варианта). Допустимые значения — 0 или 2000. По умолчанию — 0.

CrSQLDB (с 8.1) Создать базу данных в случае ее отсутствия («y» — создавать базу данных в случае отсутствия, «n» — не создавать).

SchJobDn   (с 8.1.11, до этого был как общий параметр) созданной информационной базе запретить выполнение регламентных созданий (Y/N). Значение по умолчанию — N.

SUsr  Имя администратора кластера, в котором должен быть создан начальный образ. Параметр необходимо задавать, если в кластере определены администраторы и для них аутентификация операционной системы не установлена или не подходит. SPwd   Пароль администратора кластера.

Для всех вариантов определены параметры:

  • Usr          Имя пользователя.
  • Pwd        Пароль пользователя.
  • Locale   Язык (страна). Допустимые значения — такие же, как и у метода Формат встроенного языка (например, «ru_RU»). По умолчанию используются региональные установки текущей информационной базы.

Общие параметры запуска в режиме Предприятия или Конфигуратора

  • /@    Путь к файлу с параметрами командной строки. 
  • /F          Путь к файловой информационной базе (исключая имя файла).
  • /S   Адрес информационной базы на сервере 1С:Предприятия.
  • /WS  (с 8.2) Строка ws-соединения.
  • /IBName Запуск информационной базы по имени базы в списке информационных баз. При необходимости имя должно быть взято в двойные кавычки. При этом если имя содержит двойные кавычки, то нужно заменить каждые двойные кавычки на две двойные кавычки. Если в списках баз будет найдено более чем одна база с указанным именем, то пользователю будет выдана ошибка.
  • /IBConnectionString  позволяет задать строку соединения с информационной базой целиком, в том виде, в котором ее возвращает функция СтрокаСоединенияИнформационнойБазы(). Части строки соединения могут быть переопределены ранее существовавшими параметрами. Для этого нужно, чтобы /IBConnectionString находился в командной строке раньше них. Передавая строку соединения в качестве параметра командной строки, нужно помнить о том, что строка соединения содержит кавычки. Поэтому требуется взять всю строку в кавычки, а содержащиеся внутри кавычки удвоить.

Дополнительные параметры строки соединения в режиме тонкого клиента:

  • wsn — имя пользователя для аутентификации на веб-сервере;
  • wsp — пароль пользователя для аутентификации на веб-сервере;
  • wspauto — использовать автоматические настройки прокси сервера;
  • wspsrv — адрес прокси сервера;
  • wspport — порт прокси;
  • wspuser — имя пользователя для прокси с авторизацией;
  • wsppwd — пароль для прокси с авторизацией.

/N      Имя пользователя, как оно задано в Конфигураторе.

/P   Пароль пользователя, имя которого указано в параметре /N. Если у пользователя нет пароля, этот параметр можно опустить.

/WSN  (с 8.2) Имя пользователя для аутентификации на веб-сервере.

/WSP (с 8.2) Пароль пользователя, имя которого указано в параметре /WSN, для аутентификации на веб-сервере. 

/WA-       Запрет применения Windows-аутентификации при старте.

/WA+       Обязательное применение Windows-аутентификации при старте. Если параметр /WA не указан вообще, подразумевается /WA+.

/SAOnRestart Указывает на обязательность запроса пароля при перезапуске системы из данного сеанса работы (не используется в тонком клиенте). По умолчанию пароль не запрашивается.

/itdi (с 8.2.14) Открытие форм в основном окне и использование закладок для переключения между открытыми формами (работа с закладками).

/isdi (с 8.2.14) Для работы с отдельными окнами.

/LogUI    Логирование действий пользователя.

/Out[ -NoTruncate]   Задаёт файл для вывода служебных сообщений. Если задано NoTruncate, файл не очищается.

/SchJobDn  (с 8.1, с 8.1.11 появился как параметр строки соединения) Управляет выполнением регламентированных заданий. Возможные значения: «Y» или «N». «Y» — у созданной информационной базы будет запрещено выполнение регламентных заданий.

/AppAutoCheckVersion  Автоматический подбор нужной версии для каждой информационной базы.

/AppAutoCheckMode  Автоматическое определение приложения на основе данных информационной базы (основного режима запуска для конфигурации и режима запуска для пользователя).

/UseHwLicenses+  Поиск локального ключа защиты выполняется.

/UseHwLicenses-  Поиск локального ключа защиты не выполняется.

До версии 8.2.14 параметр имел вид /UseHwLicense, с версии 8.2.14 стал /UseHwLicenses.

/DisableStartupMessages  Подавляет сообщения о несоответствии сохранённой конфигурации и конфигурации базы данных, а также о необходимости установки Internet Explorer 6.0 при запуске.

/RunModeOrdinaryApplication Запуск толстого клиента в обычном режиме, несмотря на настройки конфигурации и пользователя, от имени которого будет выполняться запуск.

/RunModeManagedApplication Запуск толстого клиента в режиме управляемого приложения, несмотря на настройки конфигурации и пользователя, от имени которого будет выполняться запуск.

/Debug  Указывает, что запуск 1С:Предприятия выполняется в отладочном режиме.

/DebuggerURL  Идентификация отладчика, к которому приложение сразу после запуска должно подключиться. Указывается URL отладчика (протокол, компьютер и номер порта), на котором в отладчике можно создавать удаленные объекты.

/RunShortcut  Позволяет запустить систему 1С:Предприятие 8 со списком информационных баз, полученным с помощью указанного файла. В качестве файла может быть указан файл списка общих информационных баз (*.v8i) или файл ярлыка информационных баз (*.v8l).

/SLev Определяет уровень защищенности соединения клиента с сервером 1С:Предприятия.

Возможные значения (Не указание параметра эквивалентно /SLev0):

  • /SLev0 — незащищенное соединение;
  • /SLev1 — защищенное соединение только в процессе выполнения аутентификации;
  • /SLev2 — защищенное соединение в течение всего сеанса;

/ClearCache — очистка кэша клиент-серверных вызовов (используется для тонкого и толстого клиентов в режиме 1С:Предприятия). 

/NoProxy Запретить использование прокси (только для ws-соединения).

/Proxy -PSrv -PPort [-PUser [-PPasswd ] ] Использовать указанные настройки прокси, игнорируя умолчания (только для ws-соединения). Например: /Proxy -PSrv 192.168.0.10 -PPort 3128.

/TComp [-None | -Deflate | -SDC] Устанавливает режим сжатия трафика между сервером и клиентом.

  • -None   сжатие отключено;
  • -Deflate   используется стандартное http сжатие трафика по алгоритму deflate;
  • -SDC   используется собственный алгоритм сжатия (по умолчанию).

/O Определяет скорость соединения (используется в тонком клиенте). Normal — обычная, Low — низкая скорость соединения.

Получите 267 видеоуроков по 1С бесплатно:

/SimulateServerCallDelay [-CallXXXXX] [-SendYYYYY] [-ReceiveZZZZZ] Имитация работы клиента в условиях медленного соединения. Максимальное значение временных задержек – 10 сек.

  • -Call – указывает величину задержки (XXXXX) при вызове сервера в секундах, если не указан, то 4.45 с;
  • -Send – указывает величину задержки (YYYYY) в секундах в расчете на каждые 1 Кбайт данных, отправляемых на сервер. Если не указан, то 0.45 с;
  • -Receive – указывает величину задержки (ZZZZZ) в секундах в расчете на каждые 1 Кбайт данных, принятых с  сервера. Если не указан, то 0,15 с.

Пример: /SimulateServerCallDelay -Call2.1 -Send1.3 -Receive1.2 

/DisplayAllFunctions (тонкий клиент) Включает команду меню «Все функции», флажок в настройках параметров режима «1С:Предприятие» становится недоступным.

/DisplayPerformance (управляемое приложение) Показать количество вызовов сервера и объем данных, отправляемых на сервер и принимаемых с сервера.

/UC  Позволяет выполнить установку соединения с информационной базой, на которую установлена блокировка установки соединений. Если при установке блокировки задан не пустой код доступа, то для установки соединения необходимо в параметре /UC указать этот код доступа. 

/L  Указывается код языка интерфейса платформы. Поддерживаемые языки интерфейса: Английский – en, Русский – ru, Украинский – uk.

/VL (с 8.2.9) Указывается код локализации сеанса, используемый при форматировании данных типа Число и Дата, а также в методах ЧислоПрописью() и ПредставлениеПериода().

/C  Передача параметра в конфигурацию.

/Execute  Предназначен для запуска внешней обработки в режиме 1С:Предприятие непосредственно после старта системы. 

/Z,,…, (с 8.2.14) Установка разделителей (общих реквизитов).

= [|]

  • [|] — признак использования: «+» (по умолчанию) — реквизит используется; «—» — не используется; если разделитель не используется, то перед значением должен быть «-«. Если первым символом в значении разделителя содержится символ «+» или «—«, то при указании его нужно удваивать;
  • — значение общего реквизита. Если в значении разделителя присутствует запятая, то при указании ее нужно удваивать. Если значение разделителя пропущено, но разделитель должен использоваться, то используется символ «+».

Разделители разделяются запятой.

Например: «/Z-ПервыйРазделитель,+,—ТретийРазделитель«, что означает:

Первый разделитель выключен, значение – «ПервыйРазделитель».

Второй разделитель включен, значение – пустая строка.

Третий разделитель выключен, значение – «-ТретийРазделитель».

С версии 8.2.9 исключена возможность административной установки, не устанавливается файл «admupd.cfg» в каталог установки платформы, не поддерживается ключ командной строки /AU.

/AU-   (v 8.1) Запрет вывода вопроса об обновлении с административной установки.

/AU+  (v 8.1) Установка вывода вопроса об обновлении с административной установки. Если параметр /AU не указан вообще, подразумевается /AU+.

Параметры пакетного режима Конфигуратора

После исполнения Конфигуратор автоматически завершает работу. Коды возврата пакетного режима Конфигуратора: 0 – успешно; 1 – неудачно; 101 — в данных имеются ошибки.

/DumpIB                        Выгрузка информационной базы.

/RestoreIB                     Загрузка информационной базы.

/DumpCfg                      Сохранение конфигурации в файл.

/DumpDBCfg                Сохранение конфигурации базы данных в файл.

/LoadCfg                       Загрузка конфигурации из файла.

/UpdateDBCfg [-WarningsAsErrors] [-Server] Обновление конфигурации базы данных. Допускается в качестве опции для следующих параметров: LoadCfg, UpdateCfg, LoadConfigFiles, ConfigurationRepositoryUpdateCfg.

  • -WarningsAsErrors – если указан, то все предупреждения трактуются как ошибки;
  • -Server  – если указан, то обновление будет выполняться на сервере (имеет смысл только в клиент-серверном варианте работы). 

/UpdateCfg   Обновление конфигурации, находящейся на поддержке.

/RollbackCfg   Возврат к конфигурации базы данных.

/ResetMasterNode Отмена главного узла. Действие параметра аналогично вызову метода УстановитьГлавныйУзел() со значением параметра Неопределено.

Одновременное использование параметров внутри подгруппы параметров не допускается.

/ReduceEventLogSize [-saveAs ] [-KeepSplitting]  Сокращение журнала регистрации:

  • Date  новая граница журнала регистраций в формате ГГГГ-ММ-ДД;
  • -saveAs  параметр для сохранения копии выгружаемых записей;
  • -KeepSplitting  требуется сохранить разделение на файлы по периодам. 

/ConvertFiles   Параметр пакетной конвертации файлов 1С 8.x.

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

Для работы данного механизма должен быть запущен режим «Конфигуратор» и открыта конфигурация, в среде которой будет производиться конвертация. Имя информационной базы и параметры авторизации можно указать через стандартные параметры командной строки. В случае отсутствия таких параметров будут выданы соответствующие запросы, как и в других аналогичных механизмах командной строки, работающих в режиме «Конфигуратор». Пример:

Конвертация файла:  1cv8.exe /ConvertFilesd:/base/ExtProcessing.epf Конвертация каталога:  1cv8.exe /ConvertFilesd:/base 

/Visible Делает исполнение пакетной команды видимым пользователю. На время работы конфигуратора открывается окно заставки.

/RunEnterprise Предназначен для запуска 1С:Предприятия после исполнения пакетной команды. После ключа может быть указана дополнительная командная строка. При запуске 1С:Предприятия переданные в ней параметры будут использованы вместо параметров текущей сессии. Дополнительная командная строка обязательно должна быть в кавычках, вложенные в нее кавычки должны быть удвоены.

/DumpResult Предназначен для записи результата работы конфигуратора в файл. После ключа должно быть указано имя файла. Результат — число (0 — в случае успеха).

Синтаксический контроль

/CheckModules   Синтаксический контроль. Должен быть указан один или несколько ключей режимов проверки. Если ключи не указаны, проверка выполнена не будет.

  • -ThinClient  проверка в режиме работы тонкого клиента;
  • -WebClient  проверка в режиме работы веб-клиента;
  • -Server   проверка в режиме работы сервера 1С:Предприятия;
  • -ExternalConnection   проверка в режиме работы внешнего соединения;
  • -ThickClientOrdinaryApplication  проверка в режиме работы клиентского приложения. 

Тестирование и исправление информационной базы 

/IBCheckAndRepair Выполнить тестирование и исправление информационной базы.

  • -ReIndex   реиндексация таблиц;
  • -LogIntegrity   проверка логической целостности   или -LogAndRefsIntegrity   проверка логической и ссылочной целостности;
  • -RecalcTotals   пересчет итогов;
  • -IBCompression   сжатие таблиц;
  • —Rebuild   реструктуризация таблиц информационной базы;
  • -TestOnly   только тестирование при наличии ссылок на несуществующие объекты:

-BadRefCreate   создавать объекты   или

-BadRefClear   очищать объекты        или

-BadRefNone   не изменять при частичной потере объектов:

-BadDataCreate   создавать объекты        или -BadDataDelete   удалять объекты;

  • UseStartPoint   использовать сохраненную точку возврата для продолжения тестирования с того места, на котором оно было прервано в предыдущем сеансе;
  • TimeLimit:hhh:mm   ограничение максимального времени сеанса тестирования: hhh — количество часов (0..999); mm — количество минут (0..59).

Проверка конфигурации

/CheckConfig  Централизованная проверка конфигурации

  • -ConfigLogIntegrity   проверка логической целостности конфигурации. Стандартная проверка, обычно выполняемая перед обновлением базы данных;
  • -IncorrectReferences  поиск некорректных ссылок. Поиск ссылок на удаленные объекты. Выполняется по всей конфигурации, включая права, формы, макеты, интерфейсы и т.д. Также осуществляется поиск логически неправильных ссылок;
  • -ThinClient   синтаксический контроль модулей для режима эмуляции среды управляемого приложения (тонкий клиент), выполняемого в файловом режиме;
  • -WebClient   синтаксический контроль модулей в режиме эмуляции среды веб-клиента;
  • -Server  синтаксический контроль модулей в режиме эмуляции среды сервера 1С;
  • -ExternalConnection (-ExternalConnectionServer в 8.1) синтаксический контроль модулей в режиме эмуляции среды внешнего соединения, выполняемого в файловом режиме;
  • -ExternalConnectionServer  (-ExternalConnection в 8.1) синтаксический контроль модулей в режиме эмуляции среды внешнего соединения, выполняемого в клиент-серверном режиме;
  • -ThickClientManagedApplication   синтаксический контроль модулей в режиме эмуляции среды управляемого приложения (толстый клиент), выполняемого в файловом режиме;
  • -ThickClientServerManagedApplication  синтаксический контроль модулей в режиме эмуляции среды управляемого приложения (толстый клиент), выполняемого в клиент-серверном режиме;
  • -ThickClientOrdinaryApplication (-ClientServer в 8.1) синтаксический контроль модулей в режиме эмуляции среды обычного приложения (толстый клиент), выполняемого в файловом режиме;
  • -ThickClientServerOrdinaryApplication (-Client в 8.1) синтаксический контроль модулей в режиме эмуляции среды обычного приложения (толстый клиент), выполняемого в клиент-серверном режиме;
  • -ExternalConnection  синтаксический контроль модулей в режиме эмуляции среды внешнего соединения, выполняемого в файловом режиме;
  • -ExternalConnectionServer   синтаксический контроль модулей в режиме эмуляции среды внешнего соединения, выполняемого в клиент-серверном режиме;
  • -DistributiveModules  поставка модулей без исходных текстов. В случае, если в настройках поставки конфигурации для некоторых модулей указана поставка без исходных текстов, проверяется возможность генерации образов этих модулей;
  • -UnreferenceProcedures поиск неиспользуемых процедур и функций. Поиск локальных (не экспортных) процедур и функций, на которые отсутствуют ссылки. В том числе осуществляется поиск неиспользуемых обработчиков событий;
  • -HandlersExistence проверка существования назначенных обработчиков. Проверка существования обработчиков событий интерфейсов, форм и элементов управления;
  • -EmptyHandlers  поиск пустых обработчиков. Поиск назначенных обработчиков событий, в которых не выполняется никаких действий. Существование таких обработчиков может привести к снижению производительности системы;
  • -ExtendedModulesCheck  проверка обращений к методам и свойствам объектов «через точку» (для ограниченного набора типов); проверка правильности строковых литералов – параметров некоторых функций, таких как ПолучитьФорму.

Свойства объектов метаданных

/DumpConfigFiles  Выгрузка свойств объектов метаданных конфигурации: КаталогВыгрузки — каталог расположения файлов свойств.

  • -Module  выгрузка модулей;
  • -Template  выгрузка шаблонов;
  • -Help  выгрузка справочной информации;
  • -AllWritable  выгрузка свойств только объектов, доступных для записи.

/LoadConfigFiles  Загрузка свойств объектов метаданных конфигурации.

Дополнительные ключи аналогичны /DumpConfigFiles. 

Создание файлов поставки и обновления

/CreateDistributionFiles [-cffile ] [-cfufile [-f |-v ]+][-digisign ]  Создание файлов поставки и обновления.

  • -cffile — создать дистрибутив;
  • -cfufile — создать обновление;
  • -f — имя дистрибутива, включаемого в обновление;
  • -v — версия дистрибутива, включаемого в обновление;
  • -digisign — указание параметров лицензирования рабочего места пользователя.

Параметры -f или -v повторяются столько раз, сколько дистрибутивов включается в обновление. 

/CreateDistributive -File [-Option ] [-MakeSetup|-MakeFiles] [-digisign ]

Создание комплектов поставки и файлов комплектов поставки по готовому описанию комплекта поставки.

  • File — указание файла описания комплекта поставки;
  • Option — создать вариант поставки из описания комплекта поставки. По умолчанию используется вариант поставки «Полный»;
  • MakeSetup — создавать комплект поставки (при отсутствии этих параметров используется по умолчанию) или MakeFiles — создавать файлы комплекта поставки;
  • -digisign — указание параметров лицензирования рабочего места пользователя. 

/CreateTemplateListFile [-TemplatesSourcePath] Создание файла шаблонов конфигураций.

  • — имя файла списка шаблонов конфигураций. Если не указано, создается в заданном каталоге с именем по умолчанию, если указано только имя, создается с указанным именем в заданном каталоге. При указании полного пути используется данный путь;
  • TemplatesSourcePath — путь для поиска файлов шаблонов конфигураций. Если не задан, берется путь, установленный в системе в диалоге настройке при запуске.

Работа с хранилищем конфигурации

/ConfigurationRepositoryF (/DepotF в 8.0) Указание имени каталога хранилища.

/ConfigurationRepositoryN (/DepotN в 8.0) Указание имени пользователя хранилища.

/ConfigurationRepositoryP (/DepotP в 8.0) Указание пароля пользователя хранилища. 

/ConfigurationRepositoryDumpCfg [-v ] (/DepotDumpCfg в 8.0) Сохранить конфигурацию из хранилища в файл (пакетный режим запуска).

  • -v  — номер версии хранилища, если номер версии не указан или равен -1, будет сохранена последняя версия.

/ConfigurationRepositoryUpdateCfg [-v ] [-revised] [-force]

(/DepotUpdateCfg в 8.0) Обновить конфигурацию хранилища из хранилища (пакетный режим запуска).

  • -v — номер версии хранилища, если номер версии не указан или равен -1, будет сохранена последняя версия, если конфигурация не подключена к хранилищу, то параметр игнорируется;
  • -revised — получать захваченные объекты, если потребуется. Если конфигурация не подключена к хранилищу, то параметр игнорируется;
  • -force — если при пакетном обновлении конфигурации из хранилища должны быть получены новые объекты конфигурации или удалиться существующие, указание этого параметра свидетельствует о подтверждении пользователем описанных выше операций. Если параметр не указан, действия выполнены не будут.

/ConfigurationRepositoryUnbindCfg [-force] Отключение конфигурации от хранилища конфигурации (у пользователя должны быть административные права в данной информационной базе). Если пользователь аутентифицируется в хранилище (интерактивно или через параметры командной строки), то отключение конфигурации от хранилища также отражается в самом хранилище конфигурации (информация о подключении удаляется), если же пользователь не аутентифицировался в хранилище, то производится только локальное отключение конфигурации от хранилища.

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

  • -force — ключ для форсирования отключения от хранилища (пропуск диалога аутентификации, если не указаны параметры пользователя хранилища, игнорирование наличия захваченных и измененных объектов).

/ConfigurationRepositoryReport [-NBegin ] [-NEnd ] [-GroupByObject] [-GroupByComment]  Построение отчета по истории хранилища. Если параметры группировки не указаны и режим совместимости указан «Не используется«, то отчет формируется с группировкой по версиям. В режимах совместимости «Версия 8.1» и «Версия 8.2.13» отчет формируется с группировкой по объектам. Если конфигурация базы данных отличается от редактируемой по свойству совместимости, при обработке командной строки учитывается значение режима совместимости конфигурации базы данных.

  •  имя файла, в который выводится отчет;
  • -NBegin  номер сохраненной версии, от которой начинает строиться отчет;
  • -NEnd  номер сохраненной версии, по которую строится отчет;
  • -GroupByObject  признак формирования отчета по версиям с группировкой по объектам;
  • -GroupByComment признак формирования отчета по версиям с группировкой по комментарию.

Пакетный режим регистрации 1С:Предприятия как Automation сервера

После исполнения программа автоматически завершает работу.

/RegServer                            Регистрация.

/UnregServer                        Удаление регистрации.

Примеры использования параметров

Открытие 1С:Предприятия для файлового варианта: «C:\Program Files\1cv81\bin\1cv8.exe» ENTERPRISE /F»D:\1C_base\ZUPRAZR» /N»Админ» /P»12345″ Открытие 1С:Предприятия для клиент-серверного варианта:

«C:\Program Files\1cv81\bin\1cv8.exe» ENTERPRISE /S»server-1C\ZUP» /N»Админ» /P»12345″ Если на одном сервере стоит 8.1 и 8.2, то при подключении к базам 8.2 нужно указывать порт сервера (например 1641):

«C:\Program Files\1cv82\common\1cestart.exe» ENTERPRISE /S»server-1C:1641\ZUP» /N»Админ» /P»12345″ Запуск программы под пользователем и выполнение обработки при открытии:

«C:\Program Files\1cv82\8.2.11.235\bin\1cv8s.exe» ENTERPRISE /F «D:\1C\HRM» /N user /P password /Execute «D:\1C\Внешние_обработки_1С\РаботающиеОбработки\РабочийСтол.epf»

programmist1s.ru


Смотрите также