|
Запуск регламентных заданий в фоновом режиме | ☑ | ||
---|---|---|---|---|
0
DmitryR
20.01.21
✎
11:38
|
Всем доброго дня, возможно ли запустить 1с в фоне и выполнить регламентное задание? Нашел следующий способ:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"путь к базе" /N"пользователь" /P"пароль" /RunModeManagedApplication /DisableStartupMessages /DisableStartupDialogs /Execute %StartRegl% /C bf8c4d66-efcd-4b33-af16-27c7dcead2be В результате открывается 1с с ошибкой: Файл не обнаружен 'С:\С'. 2(0x00000002): Не удается найти указанный файл. |
|||
1
ДенисЧ
20.01.21
✎
11:41
|
А можно регламентное не в фоне запустить? Ну, без особых извратов...
|
|||
2
DmitryR
20.01.21
✎
11:48
|
(1) Для начала можно и не в фоне, главное через cmd хоть какого результата добиться
|
|||
3
ДенисЧ
20.01.21
✎
11:50
|
"/Execute %StartRegl%"
Это за НЕХ? |
|||
4
DmitryR
20.01.21
✎
11:56
|
(3) Не понял вопроса. Если что, то я не особо разбираюсь в запуске через cmd, просто искал примеры запуска, нашел только один и пытаюсь с ним работать. Уверенность есть только в путях, пользователе и id регламентного. Ну и от себя добавил запуск через толстый /RunModeManagedApplication. Остальное как было в примере.
|
|||
5
ДенисЧ
20.01.21
✎
12:11
|
Я так понял... Ты нашёл какую-то строчку в интернете и пытаешься её запустить?
А если ты такую ссылку найдёшь https://hi-tech.mail.ru/news/52616-odna-strochka-lomaet-zhestkiy-disk-obnaruzhena-uyazvimost-windows-10/ ? Тоже запустишь? |
|||
6
Kassern
20.01.21
✎
12:13
|
почитай тут, особенно про команду Execute
http://catalog.mista.ru/public/104654/ |
|||
7
DmitryR
20.01.21
✎
12:41
|
(5) По существу предложения будут?
|
|||
8
ДенисЧ
20.01.21
✎
12:54
|
(7) Да. Сначала разобраться. А потом уже незнакомые команды запускать.
И ответить, хотя бы для себя, на вопрос из (3) |
|||
9
fisher
20.01.21
✎
12:57
|
(0) У тебя файловая, что ли? С какого-то там релиза ничего такого делать не надо. Оно само.
|
|||
10
ДенисЧ
20.01.21
✎
12:58
|
(9) Не само. Нужен запущенный сеанс, в котором оно уже само...
|
|||
11
fisher
20.01.21
✎
13:00
|
(0) Вообще, та строчка что ты нашел - это вообще попытка запуска внешней обработки при старте. К фоновым заданиям это отношения не имеет.
(10) Справедливо. |
|||
12
Kassern
20.01.21
✎
13:05
|
(11) А что мешает этой обработкой запустить регламентное задание?)
|
|||
13
DmitryR
20.01.21
✎
13:06
|
(12) Ну если дельных предложений не поступит так и сделаю.
|
|||
14
fisher
20.01.21
✎
13:07
|
(12) Которое вызовет внешнюю обработку?)
|
|||
15
fisher
20.01.21
✎
13:08
|
(13) Ты бы проблему свою детальнее описал. Чем тебе не подходит стандартное регламентное задание с расписанием? Ты хочешь по событию извне запустить фоновое или чего?
|
|||
16
Kassern
20.01.21
✎
13:10
|
(15) Вангую: скорее всего у него файловая база, а держать ее 24/7 запущенной он не хочет. Вот и хочет из командной строки запустить, что-то там обновить и закрыть.
|
|||
17
DmitryR
20.01.21
✎
13:11
|
(16) Так и есть, только зачем ванговать если очевидно?
|
|||
18
fisher
20.01.21
✎
13:13
|
(16) Фигасе ты Ванга. Был уверен, что дело в другом.
(17) Каждый сверчок уверен, что все думают о его шестке и поймут в пол-слова. |
|||
19
Kassern
20.01.21
✎
13:16
|
(17) как видишь, не для всех очевидно)
|
|||
20
fisher
20.01.21
✎
13:16
|
То есть вся проблема в экономии лицензии, что ли? Так все равно не получится ее сэкономить. Если все будут заняты - доп-сеанс не стартанет.
|
|||
21
DmitryR
20.01.21
✎
13:17
|
Детально: Планировщик запускает 1с в фоне и стартует регламентное, соответственно по расписанию идет обмен между базами, в конце дня этот сеанс убивается так же планировщиком. Далее попрошу если есть конкретные предложения, то предлагайте, а тешить свое чсв ступайте в другое место. Есть задача и сжатые сроки, иначе разобрался и сам и время было бы штудировать брошюрки.
|
|||
22
Kassern
20.01.21
✎
13:19
|
(17) не забудь тогда флаг какой нить сделать в виде файла к примеру, о том отработала или нет обработка. Чтобы потом у тебя не было запущено +100500 процессов 1с, из-за того что зависла обработка, а твой шедулер упорно будет создавать новые процессы
|
|||
23
fisher
20.01.21
✎
13:25
|
(21) Ну, я бы написал скрипт который периодически проверяет наличие сессий 1С (анализом каталога базы) и если сессий нет - запускает предопределенный сеанс. А если сессии есть - киляет предопределенный сеанс (если он есть). Но у тебя, как я понял по сабжу, проблема гораздо примитивней - у тебя не получается из командной строки вообще сеанс 1С запустить, так? Ну, просто выбрось все начиная с /Execute в сабжевой команде.
|
|||
24
fisher
20.01.21
✎
13:27
|
Тебе же не надо внешнюю обработку запускать. Сеанс сам начнет обрабатывать регламенты, если он единственный.
|
|||
25
fisher
20.01.21
✎
13:32
|
(22) Можно еще при старте 1С проверять, что если под этим предопределенным пользователем уже есть сеанс, то завершать работу. Это накладней, но 1С-нику это легче заскриптить чем внешнюю проверку.
|
|||
26
DmitryR
20.01.21
✎
13:34
|
(25) Запущенных сеансов не будет т.к. старт 1 раз утром и кил процесса вечером.
|
|||
27
fisher
20.01.21
✎
13:37
|
(26) Идея в том, чтобы чекать часто на тот случай, если процесс упадет среди дня.
|
|||
28
DmitryR
20.01.21
✎
13:38
|
Значит следующим образом запускаю 1с и все ок
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"путь" /N"пользователь" /P"пароль" /RunModeManagedApplication /DisableStartupMessages /DisableStartupDialogs И внимание вопрос если Execute запускает только внешние обработки, то как запустить регламентное без ВО и возможно ли это? Собственно изначально вопрос был в этом, а мы ушли в другую степь) |
|||
29
DmitryR
20.01.21
✎
13:39
|
(27) Это потом) Пока нужно хотя бы стартануть
|
|||
30
fisher
20.01.21
✎
13:40
|
(28) Только внешние. Про регламенты тебе уже отвечали. Не надо их принудительно запускать. Они будут обрабатываться автоматически одним из активных сеансов.
|
|||
31
acht
20.01.21
✎
13:44
|
(21) > и сжатые сроки, иначе разобрался и сам и время было
Ты на форуме уже два часа колупаешся, смотри - не успеешь. |
|||
32
fisher
20.01.21
✎
13:46
|
Если воткнуть /AllowExecuteScheduledJobs -Force
то регламенты будут выполняться на этом конкретном сеансе |
|||
33
DmitryR
20.01.21
✎
13:46
|
(30) В общем пришел к следующему. Запускать планировщиком 1с с внешней обработкой, которая будет запускать сценарий обмена без регламентного. Тема закрыта. Конкретно вам спасибо за помощь и предложения.
|
|||
34
DmitryR
20.01.21
✎
13:48
|
(31) Пожалуйста покиньте ветку
|
|||
35
Aleksey
20.01.21
✎
13:49
|
(28)
Я б добавил проверку файла в cmd if exist = "d:\Obmen\*.xml" ( "C:\Program Files\1cv8\common\1cestart.exe Enterprise /F"путь" /N"пользователь" /P"пароль" /RunModeManagedApplication /DisableStartupMessages /DisableStartupDialogs /Execute"ПутьКОбработке\Обработка.epf" /C"Загрузка" ) А уж в самой обработки прописал Если ПараметрЗапуска = "Загрузка" Тогда ... пишем код по загрузки, ну или по запуску типовой процедуры ЗавершитьРаботуСистемы(Ложь); КонецЕсли; |
|||
36
Aleksey
20.01.21
✎
13:50
|
*в модули объекта самой обработки
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |