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

Публикация № 120665

Администрирование - Системное

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

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

Не исключаю вероятности, что многие уже знают об этих методах, но возможно кому-то всеже пригодится.
Итак
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)

162

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

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

См. также

Специальные предложения

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

Та же фигня, что такое, непонятно
31. Skimen 238 19.03.12 07:43 Сейчас в теме
(30) Тогда даже не знаю.
Попробовал у себя покоцать ярлык и список баз данных чтобы такую же ошибку получить - не получилось...
33. Yury1001 1430 19.03.12 14:43 Сейчас в теме
А можно я для 7.7 такую же мысль выложу, если вы не планировали и если ещё нету - я вроде не нашел?
35. Skimen 238 20.03.12 02:04 Сейчас в теме
(33) Можно, конечно.
Я в 1с7 все равно не особо рублю.
34. Boudybuilder 61 19.03.12 16:40 Сейчас в теме
Прикольное дело!
Идеям нет предела!
+++++++++++++++++++++++++++++++++++++++++++++
36. yoyoman 20.03.12 09:09 Сейчас в теме
Тоже подобным образом работают обмены.
37. Misanets 337 20.03.12 12:26 Сейчас в теме
полезно было-бы в параметры запуска добавить /DisableStartupMessages
А вообще читайте статью автора Chif13 http://infostart.ru/public/104654/ и не такое сможете реализовать
38. Nucky 34 23.03.12 10:40 Сейчас в теме
У меня подобное не прокатило. Нужно было чтобы ночью делался отчет по количеству документов введенных пользователями. Утром вижу висящий процесс 1cv8.exe, с временем работы процессора 1 сек. Если просто запустить назначеное задание все отрабатывает на ура. Видимо 1С-ка не хватает выполненного входа в систему...
Попробую через регламентные задания.
39. AlexO 126 23.03.12 13:50 Сейчас в теме
Вообще все это костыли.
Запускать 1с, в ней обработку, и все это запускать по виндовому планировщику - это как связать три палки за концы, и использовать их как мост.
Что-то выдержит, но в основном - где-то цепочка оборвется и все провалится.
Слишком много неизвестных - как пройдет авторизация "пользователя" в 1с, как запустится виндовая задача (и запустится ли вообще, или зависнет), как отработает 1с, закроется ли потом или тоже процес зависнет (а то и вся 1с-ка) по какой-либо причине до утра...
В общем, мост из палок, связанных за концы.
Делайте либо регламентные задания (которые на сервере 1с тоже любят "зависнуть" без причины), либо логгируйте хотя бы этапы запуска и выполнения - чтобы хотя бы знать, где не сработало....
41. tormozit 5418 26.08.12 01:27 Сейчас в теме
В продукте 2iS:Интеграция реализована подобная возможность.
http://infostart.ru/public/145983/
42. MrDen 441 19.09.12 14:58 Сейчас в теме
Делаю вот так http://infostart.ru/public/15995/.
Не коцая конфигурацию, доволен!
43. Petrovichka 29.07.13 16:40 Сейчас в теме
Статья хорошая, но у меня насущный вопрос:
если перед выполнением в обработке необходимо заполнить некоторые реквизиты, куда это вписать?
44. Skimen 238 30.07.13 08:00 Сейчас в теме
(43) В процедуру ПриОткрытии() самой обработки которую запускаете .
Или (как вариант) запускать не напрямубю, а обрабкой http://infostart.ru/public/123151/ в которой переписан модуль обработки (строка 96 - дописано что заполнять).
45. antares_of 12 30.07.13 11:19 Сейчас в теме
У 1с много чего стандартного есть, но все или очень каряво работает или нереально медленно. Поэтому говорю спасибо, надеюсь работает как положено.
46. 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 238 07.11.16 10:43 Сейчас в теме
(51) micha26, а можно тест параметра сюда скопировать, может что-нить написано не так?
53. micha26 09.11.16 08:53 Сейчас в теме
(52) да можно конечно
@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 - та же фигня, ручной запуск - все работает, в планировщике - йух.
55. Nigelist 27.02.17 06:53 Сейчас в теме
(53) а почему вы через 1cestart.exe запускаете? В примере автор явно указал 1cv8.exe, он же толстый клиент. В крайнем случае я думаю можно запустить 1cv8c.exe - тонкий клиент.
58. romanst82 27.04.19 00:38 Сейчас в теме
(55) Для тех кто столкнулся с такой проблемой. В планировщике, в задаче на вкладке действия вместо ярлыка указываем путь "C:\Program Files\1cv82\8.2.15.289\bin\1cv8.exe". Далее в поле "Добавить аргументы" пишем параметры /IBName "Управление торговлей (демо)" /N "Федоров (администратор)" /p "123456" /Execute "W:\обработки\АвтозапускОбмена.epf. Всё работает как надо.
57. romanst82 27.04.19 00:32 Сейчас в теме
54. SerSinelnik 14.12.16 21:58 Сейчас в теме
А что делать если сеанс и обработка запускаются, но пишет что установлен Безопасный режим. Выполнение операции запрещено?
56. binx 66 28.03.18 10:24 Сейчас в теме
В УТ 11 (БСП 2.4 и выше) есть рассылка отчетов по расписанию, можно требуемые действия засунуть в доп. отчет.
Оставьте свое сообщение