gifts2017

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

Опубликовал Лев Лукашов (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
312
.rar 17,45Kb 312 Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. alex_japanese_student (Alex_Japanese_Student) 15.03.12 09:51
Попробуем, актуально для 10-ой торговли
2. Лев Лукашов (Skimen) 15.03.12 09:59
(1) А что в остальных конфах 1с есть более простой метод запуска по расписанию без редактирования самой конфы?
3. alex_japanese_student (Alex_Japanese_Student) 15.03.12 10:10
(2) Skimen,
в 11 ут есть шаблон регламентного задания - запуск дополнительных обработок
в 10 ут нету
tuprikov; freeek; +2 Ответить 1
4. Лев Лукашов (Skimen) 15.03.12 10:21
(3) Спасибо, надо будет почитать....
5. alex_japanese_student (Alex_Japanese_Student) 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) 15.03.12 11:42
(8) Поставщик просил ежедневно отчеты по эл почте высылать, вот я и придумал как от работы отлынить.
10. Роман (Raminus) 15.03.12 11:46
полезная тема давно сам пользую.
11. dmsoft (dmsoft) 15.03.12 12:00
аналог использую давно, во многих случаях такой подход более оправдан нежели регламентные задания.
12. Алексей Новиков (Новиков) 15.03.12 12:38
(9) Skimen, в последней БСП это реализовано уже :)
13. Яков Коган (Yashazz) 15.03.12 13:54
Идея баянная, подводных камней много.
Или уж действительно надо делать пакетную обработку, эдакий "менеджер регламентных заданий", которая будет стартовать все остальные и рулить протоколом сделанного; или отдельные фоновые задания лепить и всё. Я уж думал, тут как раз такая обработка предложена.
Кроме того, пароли имеют свойство меняться, важно это помнить.
14. Oleg karp (Oleg1708) 15.03.12 16:20
Да, да, да. И если пароли меняются автоматически. То буде проблема
15. Сергей (Sybr) 15.03.12 20:36
Вообще не любой обработки наверное, а той которая все свои процедуры выполняет при открытии. И в которую никакие параметры передавать не нужно.
16. Лев Лукашов (Skimen) 16.03.12 02:00
(13) Идея может и баянная но реализацию ее когда для себя искал - готовых решений нет... или может дашь ссылку?
(15) Потенциально - любой, но как справедливо заметил Alex210 (6) на практике эту любую надо напильником доделывать.
17. Дмитрий Никс (aximo) 16.03.12 06:35
вообще отличное и в тоже время простейшее решение.. усложнять ничего никогда не надо...
и это яркий пример тому.
18. Александр Кузиков (Kuzya_brаtsk) 16.03.12 07:44
Спасибо автору, статья очень кстати :) ПЛЮС
19. jack jack (jack_kkm) 16.03.12 10:21
(9) Skimen, лень - движущая сила программиста :)
Доходчиво описано.
20. Татьяна Беляева (Масянька) 16.03.12 12:33
Спасибо автору статья правда полезная.Попробуемс
21. г. Казань Рустем Гумеров (Rustig) 16.03.12 14:54
22. Алексей Ситников (SiAl) 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) 19.03.12 02:34
(24) exciter, такое может быть если на сервере где SQL стоит сервис 1с предприятие не запущен...
26. Алексей Королев (exciter) 19.03.12 03:26
(25) исключено! все запущено, базы прописаны верно
после перезапуска службы (или даже сервера) ошибка не исчезает
27. Лев Лукашов (Skimen) 19.03.12 03:38
(26) Если вручную открыть 1с и зайти под этим пользователем на этом компе в этуже базу данных входит нормально?
а если с другого компа под этим же пользователем в эту базу?
28. Алексей Королев (exciter) 19.03.12 05:13
(27)если обычный ярлык запустить, то нормально.
Обнаружил, что если запустить консоль администрирования и залогиниться в необходимую ИБ, то все отлично выполняется %) причем каких-либо зависших сеансов в консоли нет
29. Лев Лукашов (Skimen) 19.03.12 05:35
(28) а на другом компе запуск ярлыком с параметрами этой же базы прокатывает?
30. Юлия Смирнова (Lava596) 19.03.12 06:49
(27)если обычный ярлык запустить, то нормально.
Обнаружил, что если запустить консоль администрирования и залогиниться в необходимую ИБ, то все отлично выполняется %) причем каких-либо зависших сеансов в консоли нет

Та же фигня, что такое, непонятно
31. Лев Лукашов (Skimen) 19.03.12 07:43
(30) Тогда даже не знаю.
Попробовал у себя покоцать ярлык и список баз данных чтобы такую же ошибку получить - не получилось...
32. hasp_x 19.03.12 11:54
(8) я такой метод не первый год использую для загрузки курсов валют в 18.00
33. Юрий Зайцев (Yury1001) 19.03.12 14:43
А можно я для 7.7 такую же мысль выложу, если вы не планировали и если ещё нету - я вроде не нашел?
34. Виталий Фантич (Boudybuilder) 19.03.12 16:40
Прикольное дело!
Идеям нет предела!
+++++++++++++++++++++++++++++++++++++++++++++
35. Лев Лукашов (Skimen) 20.03.12 02:04
(33) Можно, конечно.
Я в 1с7 все равно не особо рублю.
36. Михаил Гомбоев (yoyoman) 20.03.12 09:09
Тоже подобным образом работают обмены.
37. Alex Misanets (Misanets) 20.03.12 12:26
полезно было-бы в параметры запуска добавить /DisableStartupMessages
А вообще читайте статью автора Chif13 http://infostart.ru/public/104654/ и не такое сможете реализовать
38. Анатолий В. (Nucky) 23.03.12 10:40
У меня подобное не прокатило. Нужно было чтобы ночью делался отчет по количеству документов введенных пользователями. Утром вижу висящий процесс 1cv8.exe, с временем работы процессора 1 сек. Если просто запустить назначеное задание все отрабатывает на ура. Видимо 1С-ка не хватает выполненного входа в систему...
Попробую через регламентные задания.
39. Алекс Ю (AlexO) 23.03.12 13:50
Вообще все это костыли.
Запускать 1с, в ней обработку, и все это запускать по виндовому планировщику - это как связать три палки за концы, и использовать их как мост.
Что-то выдержит, но в основном - где-то цепочка оборвется и все провалится.
Слишком много неизвестных - как пройдет авторизация "пользователя" в 1с, как запустится виндовая задача (и запустится ли вообще, или зависнет), как отработает 1с, закроется ли потом или тоже процес зависнет (а то и вся 1с-ка) по какой-либо причине до утра...
В общем, мост из палок, связанных за концы.
Делайте либо регламентные задания (которые на сервере 1с тоже любят "зависнуть" без причины), либо логгируйте хотя бы этапы запуска и выполнения - чтобы хотя бы знать, где не сработало....
41. Сергей Старых (tormozit) 26.08.12 01:27
В продукте 2iS:Интеграция реализована подобная возможность.
http://infostart.ru/public/145983/
42. Денис Денин (MrDen) 19.09.12 14:58
Делаю вот так http://infostart.ru/public/15995/.
Не коцая конфигурацию, доволен!
43. Петр Петрович (Petrovichka) 29.07.13 16:40
Статья хорошая, но у меня насущный вопрос:
если перед выполнением в обработке необходимо заполнить некоторые реквизиты, куда это вписать?
44. Лев Лукашов (Skimen) 30.07.13 08:00
(43) В процедуру ПриОткрытии() самой обработки которую запускаете .
Или (как вариант) запускать не напрямубю, а обрабкой http://infostart.ru/public/123151/ в которой переписан модуль обработки (строка 96 - дописано что заполнять).
45. Владимир Б (antares_of) 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) 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 - та же фигня, ручной запуск - все работает, в планировщике - йух.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа