Книга знаний

1С:Предприятие / v8 / Приемы программирования / Внешние обработки

v8: Автоматический запуск внешней обработки

Автор статьи: Advan | Редакторы: Гений 1С, borik,
Последняя редакция №3 от 22.08.06 | История
URL: http://kb.mista.ru/article.php?id=340

Ключевые слова: автоматический запуск внешней обработки, автоматический запуск, запуск обработки ночью


В 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
            ЗавершитьРаботуСистемы();
        КонецПопытки;
КонецЕсли;

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

Также Книга знаний: v8: Ключи запуска 1С 80 из командной строки

Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2025 | Mista.ru

Яндекс.Метрика