Главная »
Статьи 1с »
1С вызов команды runscript когда она не помечена как запущенная
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