| v8: Автоматический запуск внешней обработкиКлючевые слова: автоматический запуск внешней обработки, автоматический запуск, запуск обработки ночью, пакетный запуск
 
 
 В 8-ке не нужно заводить специального пользователя для автоматического запуска обработок можно просто добавить одну процедуру в ПриНачалеРаботыСистемы()
 
 
 
Если СокрЛП(ПараметрЗапуска)="" Тогда   //параметра нет ничего не делаем 
        
    ИначеЕсли Лев(ПараметрЗапуска,3)="авт" тогда
        Попытка
            Дл=СтрДлина(ПараметрЗапуска);
            Строка=Прав(ПараметрЗапуска,Дл-3);
            Обработка = ВнешниеОбработки.Создать(Строка);
            Форма = Обработка.ПолучитьФорму(); 
            Форма.Открыть(); 
        Исключение
            Предупреждение("Обработка не найдена!",5); // для отладки добавим - это лучше чем копаться в логах
            ЗавершитьРаботуСистемы();
        КонецПопытки;
КонецЕсли;
 После этого достаточно в шедулер или в батник добавить строку такого типа
 Для серверной версии:
 "C:\Program Files\1cv8\bin\1cv8.exe" enterprise /SИмяСервера\ИмяБазы  /NПользователь /PПароль /C"АвтПутьКОбработке"
 Для файловой версии:
 "C:\Program Files\1cv8\bin\1cv8.exe" enterprise  /F"ПутьКБазе" /NПользователь /PПароль /C"АвтПутьКОбработке"
 
 После этого при открытии обработки прописать код и после завершения работы обработки завершить работу программы.
 
 
 От Гения 1С:Продвинутые пацаны так не пишут.
 Так блин придется менять конфу всякий раз, как нужно будет сделать новую обработку.
 Продвинутые пацаны пишут так:
 
 
Если СокрЛП(ПараметрЗапуска)="" Тогда   //параметра нет ничего не делаем 
    ИначеЕсли Лев(ПараметрЗапуска,3)="авт" тогда
        Попытка
            Дл=СтрДлина(ПараметрЗапуска);
            Строка=Прав(ПараметрЗапуска,Дл-3);
            Выполнить(Строка);
        Исключение
            Стр="Не удалось выполнить код:"+Символы.ПС+Строка;
            Предупреждение(Стр,5); Сообщить(Стр); //Ночью кто кнопки тискать будет??? К тому же сообщение идет в лог по ключу /OUT
            ЗавершитьРаботуСистемы();
        КонецПопытки;
КонецЕсли;
Тогда вызываться этот код будет так:
 /C"ВыполнитьНочныеЗадания();"
 
 Кстати, если код слишком большой, можно выложить его во внешнюю обработку и в ключе передавать код, который будет открывать эту внешнюю обработку и запускать:
 /C"АвтВнешняяОбработка = ВнешниеОбработки.Создать(ПолноеИмяФайла); ВнешняяОбработка.Запуститься();"
 
 
 Комментарий: Набивать большой код а строку запуска неудобно, первая обработка предназначена только для запуска обработки, которую можно править в любой момент(в 8.0 это актуально), если необходимо запускать по ПараметрЗапуска код то можно разделить по префиксу "авт", например у меня выполняеться по префиксу "РБД" автообмен - можно еще добавить префикс "код".
 
 Меня спрашивали, как передать в командной строке путь, который будет заключен в кавычки.
 Поясняю на примере:
 /C"АвтВнешняяОбработка = ВнешниеОбработки.Создать(""\\server\1s\night.epf""); ВнешняяОбработка.Запуститься();"
 
 То есть кавычки повторяются дважды.
 
 Не забудьте, что права на запуск параметра должны быть только под пользователем с администраторскими правами, т.е. анализировать и выполнять параметр запуска нужно только под правами админа.
 
 Можно еще поставить в начале параметра запуска префикс RUN:, чтобы можно было передавать и другие параметры при запуске, а не только тупо выполнять все, что передается.
 
 Также Книга знаний: v8: Ключи запуска 1С  80 из командной строки
 
 От Borik: Пример на VBS.
 
 
 
Set v81 =  CreateObject("V81.Application") 
res = v81.Connect("Srvr = Server;Ref = MyBase;Usr=auto;Pwd=password")
set obr = V81.ExternalDataProcessors.Create("c:\111\SendFax.epf")
              
obr.Run()  ' Запуск экспортной процедуры
 
 |