Лирическое отступление:
Если Вам приходилось поддерживать несколько однотипных баз, если во все эти базы периодически приходится добавлять одинаковый внешние обработки и отчеты или обновлять их, то Вы поймете, почему возникла данная разработка. Пока она работает только с отчетами и обработками. В перспективе одновление других внешних объектов.
Эх! Ещё бы и пользователей с правами прописывать также из командной строки пакетом!
По сути:
Данная обработка позволяет создать список файлов внешних обработок и отчетов, а также загрузить их пакетом из 1С:Предприятия, в том числе и из командной строки.
Пример запуска из командной строки:
" ПутьКПлатформе\bin\1cv8.exe" ENTERPRISE /FПутьКБазе /NПользователь /PПароль /WA+ /AU- /DisableStartupMessages /Execute ПутьКОбработке\ЗаписьВнешнихОбработок.epf /CConsole /OutПутьКЛог-файлу\ЗаписьВнешнихОбработок.txt
Вместо русских слов следует вставить фактические параметры.
Например, ПутьКПлатформе может быть равен «C:\Program Files (x86)\1cv82\8.2.10.77»
В режиме Предприятие данная обработка позволяет составить таблицу со списком подгружаемых обработок. Колонки таблицы:
Использовать - позволяет исключать обработку из загрузки, не удаляя её из таблицы
Файл обработки - полное имя файла обработки/отчета
Регламентированный отчет - данный отчет будет записан в справочник "Регламентировнные отчеты"
Вид обработки - Отчет или Обработка
Название в базе - имя обработки в базе; по нему производиться поиск при обновлении обработок; особое внимание для регламентированных отчетов - имя должно быть как в справочнике "Регламентированные отчеты"
По началу - поиск по имени производится по совпадению первых символов имени обработки
Описание - используется при записи аналогичного поля в справочник "Регламентированные отчеты"
Данная таблица сохраняется в той же папке, что и обработка, с тем же именем и расширением *.XDB. Можно сохранять и под другими именами, но при пакетном запуске и старте данной обработки автоматически подхватывается имя по умолчанию.
Код открытый. Замечания и дополнения (с обязательным уведомлением автора :) ) приветствуются.
Немного про пакетный режим:
Если Вы давно не писали "батники", то можете воспользоваться следующим рецептом. В первый командный файл прописываются имена баз и вызовы второго батника.
Во втором прописываются остальные параметры.
В третьем содержится сама командная строка. Такая структура позволяет легко добавлять новые базы, дополнять параметры и менять платформу.
Пример:
all_bases.1c.bat
echo off
set basename=Base1
call pack.1c.bat %basename%
set basename=Base2
call pack.1c.bat %basename%
echo on
pack.1c.bat
echo %1
set bindir="C:\Program Files (x86)\1cv82\8.2.10.77\bin\1cv8.exe"
set dbdir=V:\%1%
set user=ИванвИИ
set psw=пароль
set obr="V:\обработки\Utils\ЗаполнениеВнешнихОбр\ЗаписьВнешнихОбработок.epf"
set logfilename=V:\обработки\Utils\ЗаполнениеВнешнихОбр\%1%.txt
run.1c.bat %bindir% %dbdir% %user% %psw% %obr% %logfilename%
run.1c.bat
%1 ENTERPRISE /F%2 /N%3 /P%4 /WA+ /AU- /DisableStartupMessages /Execute %5 /CConsole /Out%6 /ThickClientServerOrdinaryApplication /RunModeOrdinaryApplication