Запуск любой внешней обработки по расписанию

Опубликовал Лев Лукашов (Skimen) в раздел Администрирование - Системное

Часто хочется запустить внешнюю обработку по расписанию, но непонятно как бы это сделать не коцая конфигурацию, а оставив ее типовой.
Теперь это больше не проблема.

Если есть возможность редактировать регламентные задания - нет проблем редактируйте их
Статья для тех, кто не изменяет конфу.

Не исключаю вероятности, что многие уже знают об этих методах, но возможно кому-то всеже пригодится.
Итак
1 этап
Создаем ярлык для 1cv8.exe где бы она не находилась
дальше пишем параметры запуска в виде:
"C:\Program Files\1cv82\8.2.15.289\bin\1cv8.exe" /IBName "Управление торговлей (демо)" /N "Федоров (администратор)"  /p "123456" /Execute "W:\обработки\АвтозапускОбмена.epf"
где /IBName - Имя базы в списке при запуске
/N Имя пользователя
/P его пароль
/Execute путь и имя файла запускаемой обработки

при выполнении такого ярлыка запустится 1с и запустит выбранную обработку

НО
поскольку это делается по расписанию, нам скорее всего захочется чтобы обработка сделала свое грязное дело и не просто закрылась, а выключила 1с.
Это тем более не проблема.

Что мы делаем:
при запуске обработки естественно включится процедура
"ПриОткрытии" основной формы обработки
Вот в конец этой процедуры и надо просто добавить строку


ЗавершитьРаботуСистемы(Ложь);

 

А посклольку обработка внешняя - ее можно редактировать в конфигураторе без проблем

остается просто внести наш созданный в самом начале ярлык в стандартный шедулер виндовс, я так думаю это точно умеют все (кто не знает где это -пуск-панель управления-/если вид по категориям, то переключиться к классическому виду кнопкой переключение к классическому виду /-назначение задания)

 

В приложении пример такого ярлюка и обработка которая запустит обмен с сайтом по настройке "Обмен с WEB - сайтом (Товары и Заказы)" а потом выключит 1с.
обработка провелялась на "Управление торговлей", редакция 10.3 (10.3.16.1)

Скачать файлы

Наименование Файл Версия Размер
пример
.rar 17,45Kb
14.03.12
326
.rar 17,45Kb 326 Скачать

См. также

PowerTools от 1 000
Комментарии
1. alex_japanese_student (Alex_Japanese_Student) 325 15.03.12 09:51 Сейчас в теме
Попробуем, актуально для 10-ой торговли
2. Лев Лукашов (Skimen) 210 15.03.12 09:59 Сейчас в теме
(1) А что в остальных конфах 1с есть более простой метод запуска по расписанию без редактирования самой конфы?
3. alex_japanese_student (Alex_Japanese_Student) 325 15.03.12 10:10 Сейчас в теме
(2) Skimen,
в 11 ут есть шаблон регламентного задания - запуск дополнительных обработок
в 10 ут нету
tuprikov; freeek; +2 Ответить 1
4. Лев Лукашов (Skimen) 210 15.03.12 10:21 Сейчас в теме
(3) Спасибо, надо будет почитать....
5. alex_japanese_student (Alex_Japanese_Student) 325 15.03.12 10:29 Сейчас в теме
(4) Skimen,
думается в новых версиях продуктов такая фича везде будет - и в бух 3.0 и в зарплате 3.0
остается только дождаться
6. Alex210 (janber) 15.03.12 11:01 Сейчас в теме
Очень хорошо как пример для учебника и "информация к размышлению".
На практике тут много подводных камней.
В частности, реально запускать имеет смысл не любую внешнюю обработку,
а только специально разработанную для пакетной обработки.
7. Андрей Петров (agent007) 15.03.12 11:19 Сейчас в теме
Молодец автор, за идею плюс.
8. Андрей Петров (agent007) 15.03.12 11:27 Сейчас в теме
Хотелось бы ещё от автора узнать, где полезна данная идея именно ему?
9. Лев Лукашов (Skimen) 210 15.03.12 11:42 Сейчас в теме
(8) Поставщик просил ежедневно отчеты по эл почте высылать, вот я и придумал как от работы отлынить.
10. Роман (Raminus) 15.03.12 11:46 Сейчас в теме
полезная тема давно сам пользую.
11. dmsoft (dmsoft) 105 15.03.12 12:00 Сейчас в теме
аналог использую давно, во многих случаях такой подход более оправдан нежели регламентные задания.
12. Алексей Новиков (Новиков) 286 15.03.12 12:38 Сейчас в теме
(9) Skimen, в последней БСП это реализовано уже :)
13. Яков Коган (Yashazz) 1977 15.03.12 13:54 Сейчас в теме
Идея баянная, подводных камней много.
Или уж действительно надо делать пакетную обработку, эдакий "менеджер регламентных заданий", которая будет стартовать все остальные и рулить протоколом сделанного; или отдельные фоновые задания лепить и всё. Я уж думал, тут как раз такая обработка предложена.
Кроме того, пароли имеют свойство меняться, важно это помнить.
14. Oleg karp (Oleg1708) 15.03.12 16:20 Сейчас в теме
Да, да, да. И если пароли меняются автоматически. То буде проблема
15. Сергей (Sybr) 218 15.03.12 20:36 Сейчас в теме
Вообще не любой обработки наверное, а той которая все свои процедуры выполняет при открытии. И в которую никакие параметры передавать не нужно.
16. Лев Лукашов (Skimen) 210 16.03.12 02:00 Сейчас в теме
(13) Идея может и баянная но реализацию ее когда для себя искал - готовых решений нет... или может дашь ссылку?
(15) Потенциально - любой, но как справедливо заметил Alex210 (6) на практике эту любую надо напильником доделывать.
17. Дмитрий Никс (aximo) 664 16.03.12 06:35 Сейчас в теме
вообще отличное и в тоже время простейшее решение.. усложнять ничего никогда не надо...
и это яркий пример тому.
18. Александр Кузиков (Kuzya_brаtsk) 167 16.03.12 07:44 Сейчас в теме
Спасибо автору, статья очень кстати :) ПЛЮС
19. jack jack (jack_kkm) 31 16.03.12 10:21 Сейчас в теме
(9) Skimen, лень - движущая сила программиста :)
Доходчиво описано.
20. Татьяна Беляева (Масянька) 16.03.12 12:33 Сейчас в теме
Спасибо автору статья правда полезная.Попробуемс
21. г. Казань Рустем Гумеров (Rustig) 781 16.03.12 14:54 Сейчас в теме
22. Алексей Ситников (SiAl) 67 17.03.12 13:47 Сейчас в теме
Пароль в командной строке задания легко прочитать. Это "минус".
Потому советую сделать так.
1. Сделать специального пользователя в Винде.
2. Сделать специального пользователя в 1С, с отключенной авторизацией в 1С и включенной виндовс-авторизацией пользователя, созданного в п. 1.
3. Задание в планировщике сделать от пользователя Винды из п.1 без указания пользователя 1С.
Огонек; swd999; zoom-zoom; Leprosy21; crisalis_md; alon; haland; migors; +8 Ответить
23. EfiopReal (Созинов) 18.03.12 21:23 Сейчас в теме
(8) agent007,
Я такой метод использую для восстановления последовательности, т.к. с помощью регламентных заданий не удалось добиться этого.
(22) SiAl,
При условии, что это обработки на подобии отправки email. Если это должно выполняться в ночное время, то это будет на сервере -> Естественно доступ к серверу ограничен (я надеюсь у всех). Хотя конечно вы правы - необходимо заботиться о безопасности.
24. Алексей Королев (exciter) 19.03.12 02:11 Сейчас в теме
попробовал этот метод
через пару дней при запуске выдается сообщение "информационная база не зарегистрирована". Куда копать?
25. Лев Лукашов (Skimen) 210 19.03.12 02:34 Сейчас в теме
(24) exciter, такое может быть если на сервере где SQL стоит сервис 1с предприятие не запущен...
26. Алексей Королев (exciter) 19.03.12 03:26 Сейчас в теме
(25) исключено! все запущено, базы прописаны верно
после перезапуска службы (или даже сервера) ошибка не исчезает
27. Лев Лукашов (Skimen) 210 19.03.12 03:38 Сейчас в теме
(26) Если вручную открыть 1с и зайти под этим пользователем на этом компе в этуже базу данных входит нормально?
а если с другого компа под этим же пользователем в эту базу?
28. Алексей Королев (exciter) 19.03.12 05:13 Сейчас в теме
(27)если обычный ярлык запустить, то нормально.
Обнаружил, что если запустить консоль администрирования и залогиниться в необходимую ИБ, то все отлично выполняется %) причем каких-либо зависших сеансов в консоли нет
29. Лев Лукашов (Skimen) 210 19.03.12 05:35 Сейчас в теме
(28) а на другом компе запуск ярлыком с параметрами этой же базы прокатывает?
30. Юлия Смирнова (Lava596) 19.03.12 06:49 Сейчас в теме
(27)если обычный ярлык запустить, то нормально.
Обнаружил, что если запустить консоль администрирования и залогиниться в необходимую ИБ, то все отлично выполняется %) причем каких-либо зависших сеансов в консоли нет

Та же фигня, что такое, непонятно
31. Лев Лукашов (Skimen) 210 19.03.12 07:43 Сейчас в теме
(30) Тогда даже не знаю.
Попробовал у себя покоцать ярлык и список баз данных чтобы такую же ошибку получить - не получилось...
32. hasp_x 145 19.03.12 11:54 Сейчас в теме
(8) я такой метод не первый год использую для загрузки курсов валют в 18.00
33. Юрий Зайцев (Yury1001) 1449 19.03.12 14:43 Сейчас в теме
А можно я для 7.7 такую же мысль выложу, если вы не планировали и если ещё нету - я вроде не нашел?
34. Виталий Фантич (Boudybuilder) 50 19.03.12 16:40 Сейчас в теме
Прикольное дело!
Идеям нет предела!
+++++++++++++++++++++++++++++++++++++++++++++
35. Лев Лукашов (Skimen) 210 20.03.12 02:04 Сейчас в теме
(33) Можно, конечно.
Я в 1с7 все равно не особо рублю.
36. Михаил Гомбоев (yoyoman) 20.03.12 09:09 Сейчас в теме
Тоже подобным образом работают обмены.
37. Alex Misanets (Misanets) 331 20.03.12 12:26 Сейчас в теме
полезно было-бы в параметры запуска добавить /DisableStartupMessages
А вообще читайте статью автора Chif13 http://infostart.ru/public/104654/ и не такое сможете реализовать
38. Анатолий В. (Nucky) 32 23.03.12 10:40 Сейчас в теме
У меня подобное не прокатило. Нужно было чтобы ночью делался отчет по количеству документов введенных пользователями. Утром вижу висящий процесс 1cv8.exe, с временем работы процессора 1 сек. Если просто запустить назначеное задание все отрабатывает на ура. Видимо 1С-ка не хватает выполненного входа в систему...
Попробую через регламентные задания.
39. Алекс Ю (AlexO) 116 23.03.12 13:50 Сейчас в теме
Вообще все это костыли.
Запускать 1с, в ней обработку, и все это запускать по виндовому планировщику - это как связать три палки за концы, и использовать их как мост.
Что-то выдержит, но в основном - где-то цепочка оборвется и все провалится.
Слишком много неизвестных - как пройдет авторизация "пользователя" в 1с, как запустится виндовая задача (и запустится ли вообще, или зависнет), как отработает 1с, закроется ли потом или тоже процес зависнет (а то и вся 1с-ка) по какой-либо причине до утра...
В общем, мост из палок, связанных за концы.
Делайте либо регламентные задания (которые на сервере 1с тоже любят "зависнуть" без причины), либо логгируйте хотя бы этапы запуска и выполнения - чтобы хотя бы знать, где не сработало....
41. Сергей Старых (tormozit) 4138 26.08.12 01:27 Сейчас в теме
В продукте 2iS:Интеграция реализована подобная возможность.
http://infostart.ru/public/145983/
42. Денис Денин (MrDen) 429 19.09.12 14:58 Сейчас в теме
Делаю вот так http://infostart.ru/public/15995/.
Не коцая конфигурацию, доволен!
43. Петр Петрович (Petrovichka) 29.07.13 16:40 Сейчас в теме
Статья хорошая, но у меня насущный вопрос:
если перед выполнением в обработке необходимо заполнить некоторые реквизиты, куда это вписать?
44. Лев Лукашов (Skimen) 210 30.07.13 08:00 Сейчас в теме
(43) В процедуру ПриОткрытии() самой обработки которую запускаете .
Или (как вариант) запускать не напрямубю, а обрабкой http://infostart.ru/public/123151/ в которой переписан модуль обработки (строка 96 - дописано что заполнять).
45. Владимир Б (antares_of) 13 30.07.13 11:19 Сейчас в теме
У 1с много чего стандартного есть, но все или очень каряво работает или нереально медленно. Поэтому говорю спасибо, надеюсь работает как положено.
46. aleksei (alekseies) 30.07.13 14:26 Сейчас в теме
статья полезная.Можно попробовать ..............
47. Алексей (Rockman) 24.09.13 11:49 Сейчас в теме
Спасибо за полезную статью.
48. Александр Лаптев (SaschaL) 11.12.13 07:13 Сейчас в теме
Дествительно статья полезная. А что касается заполнения самой отработки то можно прописать дополнительную процедуру обработке и вставить её в прозудуру ПриОткрытии(), тут уже открывается простор для вашего творчества. Естественно что данная методика не панцея от всего, но часть рутинных задач она решать может без проблем.
49. Павел Соловьев (Astrey1C) 07.02.14 09:51 Сейчас в теме
Спасибо. Буду пробывать. У меня схема такая: в 20:00 запускается обработка, которая выгоняет всех из базы, после этого запускается выгрузка информационной базы, а потом обмен с филиалами.
50. Роберт В е р т и н с к и й (v3rter) 28.03.16 17:11 Сейчас в теме
Планировщик windows любит запускать задания от имени системной учетки system, под которой ни список баз не прописан в %appdata%\roaming\1C\1CEStart\ , ни доступа к сетевым папкам. Отсюда 90% проблем.
51. Михаил Михалыч (micha26) 03.11.16 20:36 Сейчас в теме
Ни фига подобного - не прокатывает, сеанс на сервере 1Цэ висит и все. Никаких результатов.
52. Лев Лукашов (Skimen) 210 07.11.16 10:43 Сейчас в теме
(51) micha26, а можно тест параметра сюда скопировать, может что-нить написано не так?
53. Михаил Михалыч (micha26) 09.11.16 08:53 Сейчас в теме
(52) Skimen, да можно конечно
@echo off
chcp 1251 >nul
"C:\Program Files (x86)\1cv8\common\1cestart.exe" Enterprise /S"Server\Base" /N"Юзер" /P"пасс" /Execute"E:\Command\Test.epf"

Права на папку есть. Windows Server 2012R2, запуск задания в планировщике из под админа, галочка с наивысшими правами стоит.
Если батник руками запустить - то все отрабатывает, в обработке завершение сеанса 1С прописано - так же работает.
Так же по совету товарищей и Инфостарта сделал скрипт vbs и конвертировал его в exe - та же фигня, ручной запуск - все работает, в планировщике - йух.
54. Сергей Синельник (SerSinelnik) 14.12.16 21:58 Сейчас в теме
А что делать если сеанс и обработка запускаются, но пишет что установлен Безопасный режим. Выполнение операции запрещено?
55. Сабир Абдурахманов (Nigelist) 27.02.17 06:53 Сейчас в теме
(53) а почему вы через 1cestart.exe запускаете? В примере автор явно указал 1cv8.exe, он же толстый клиент. В крайнем случае я думаю можно запустить 1cv8c.exe - тонкий клиент.