|
v7: выгрузка на сайт даже если на сервере никто не работает | ☑ | ||
---|---|---|---|---|
0
OnePrg
19.05.23
✎
16:08
|
1С стоит на сервере. В планировщике задач создана задача, по которой запускается батник, который запускает 1С, та выгружает остатки куда надо и завершает работу.
Всё работает, только если пользователь зашёл в систему. Есть возможность, чтобы эта задача работала как служба? Чтобы если комп перезагрузился и пользователи ещё не зашли, то выгрузка всё равно идёт? |
|||
1
Волшебник
19.05.23
✎
16:09
|
У вас пользователь заходит на сервер?
|
|||
2
YFedor
19.05.23
✎
16:11
|
Так в задаче что указано? Там же есть флаг работы только вошедших пользователей.
|
|||
3
uno-group
19.05.23
✎
16:11
|
1с в пакетном режиме. Делаешь пользователя выгрузка на сайт. При входе этого пользователя запустить обработки и после того как она отработала выйти из системы. настраиваешь планировщик на регулярный запуск 1с с именем этого пользователя
|
|||
4
OnePrg
19.05.23
✎
17:19
|
https://imagizer.imageshack.com/img924/1183/69WGbC.png
завершаю сеанс на сервере, через час захожу - в диспетчере куча фоновых процессов 1С, пока не убью их 1С по батнику не запускается - каталог пользователя занят убрал у пользователя каталог - проверяю |
|||
5
OnePrg
19.05.23
✎
17:29
|
не помогло
попробовал установить "Выполнять с наивысшими правами" - проверяю |
|||
6
OnePrg
19.05.23
✎
17:37
|
думаю не получится
1С всё-таки приложение, а не служба |
|||
7
Aleksey
19.05.23
✎
17:40
|
Если это 7-ка то задача запускается от пользователя System и у него не прописана база, т.е. тупо окошка висит регистрация новой базы
Если это 8-ка то делайте через регламентные и не парьтесь |
|||
8
OnePrg
19.05.23
✎
17:43
|
(7) а как пользователю System прописать базу?
|
|||
9
obs191
20.05.23
✎
07:21
|
Импортируй единожды батником под System ветку реестра с "базами", полученную выгрузкой от обычного пользователя, например, так: regedit /s C:\1c\1cRobot\1cDbList.reg
|
|||
10
NorthWind
20.05.23
✎
10:35
|
Хм... А зачем под системом-то? В шедулере ведь можно настроить запуск задачи под нужным пользователем. У котрого в реестре все будет, что 1Ске нужно.
|
|||
11
Bigbro
20.05.23
✎
10:46
|
(4) это висят окна 1с с предложением добавить базу в список. после чего все должно работать.
так что два путя - или в реестр копируйте или под другим пользователем запускайте как уже сказали. |
|||
12
Злопчинский
20.05.23
✎
11:42
|
все работает.
у меня так робот обмена крутится. ну и нужно не забыть в 1С под 1Сным-пользователем, от имени которого она будет запускаться - поотключать все крыжики, которые вываливают диалоговые окна, которые ждут ручного действия пользовталя |
|||
13
ДедМорроз
20.05.23
✎
13:42
|
Там еще желательно gdi ресурсов службе,которая будет запускать 1с,добавить ну или в ней новую Windows Station создавать.
|
|||
14
NorthWind
20.05.23
✎
16:52
|
(12) ну да, все так. Для вящей надежности можно еще время запуска процесса ограничить в шедулере - чтобы пристукивался по таймеру, если какое-то предупреждение все же вылезет. А в обработке сделать запись в файл лога, чтобы впоследствии в случае ошибок иметь возможность разобраться, что к чему.
|
|||
15
Злопчинский
20.05.23
✎
18:43
|
(14) "пристукивался" - если это файловая, потом при единственном заходе кого из пользователей - или того же самого робота - переиндексацию попросит.. ;-)
|
|||
16
NorthWind
20.05.23
✎
21:01
|
(15) ну тут нужно выбрать меньшее из зол, переиндексация или чтобы накапливались незавершенные процессы. С запросом на переиндексацию удалит точно так же, в конце концов или человек переиндексирует, или запустится задание на переиндексацию, после чего все восстановится.
|
|||
17
rikkar
21.05.23
✎
17:34
|
(8) Попробуй так. В свое время нашел такой алгоритм. Сам не проверял, не понадобилось. Но сохранил в менеджере заметок.
https://infostart.ru/1c/articles/101168/ - Реализация регламентных заданий для 1С 7.7/8.Х стандартными средствами Windows. У многих из нас возникала (и возникает) необходимости в запуске 1С в фоновом режиме для выполнения регламентных заданий. Данную задачу я решил самым простым способом, с помощью стандартных возможностей Windows 2003. Полагаю, то, что в статье речь идет о серверной операционной системе, нисколько не уменьшит возможностей применения способа, т.к. фоновые регламентные задания именно на сервере обычно и запускаются. Способ организации фонового регламентного задания прост. 1) Пишем bat файл запускающий 1с под определенным пользователем и паролем. Очень важно, чтобы 1С запускалась, не запрашивая ни пользователя, ни пароль, т.к. нам не суждено будет визуально увидеть запуск и работу 1С. а) Заранее предупреждаю что наш bat файл будет запускаться под учетной записью системы - для которой не зарегистрирована в реесте ни одна база 1С. То что мы сделаем дальше нужно для того чтобы зарегистрировать нужные нам базы для системной учетной записи. Тогда 1С при старте не будет "спотыкаться" и запрашивать регистрацию нашей базы. б) Экспортируем из реестра ветку HKEY_CURRENT_USER\Software\1C в файл baseslist.reg в) в начало нашего bat файла добавляем строчку "regedit /s d:\bases\baseslist.reg". Все. При первом запуске bat файла из под системной учетной записи в реестр будут добавлены все существующие базы 1с. В последущем эту команду из bat файла можно удалить. 2) Создаем задание в планировщике заданий. Я использую вариант запуска с 08:00 утра с повторным запуском каждые 30 мин. 3) В поле “От имени” вписываем NT AUTHORITY\SYSTEM (поле пароля оставляем пустым). Учетная запись NT Authority\System не имеет прав интерактивного входа, поэтому пользователи не видят программу запущенную от этой учетной записи как и не могут взаимодействовать с программами, запущенными от этой учетной записи. 4) Жмем “Ок”. Все задание создано. Что такое по сути наше задание? Это наша программа (1С в данном случае) работающая под системной учетной записью, причем ввиду ограничений учетной записи не подающая никаких интерактивных и визуальных “признаков жизни”. Чем наше фоновое регламентное задание отличается от службы? Для наших целей – ничем. Данный способ можно применять для организации фонового регламентного задания периодически выполняющего некие действия. Например, для организации выгрузки данных о новых поступлениях для рассылки сторонней программой смс оповещающих об этом клиента. P.S. Дополнения + недостатки метода: При необходимости запустить наше фоновое задание можно командой SchTasks /Run /TN "Имя_задания" По такой же логике наше задание можно было бы остановить командой SchTasks /End /TN "Имя_задания" Но это невозможно к сожалению! Дело в том что запущенный процесс 1С не остановить таким образом, он будет висеть пока сам не "примет решение" остановиться. Поэтому мои регламентные задания запускаются с определенной периодичностью (раз в 30 мин например) и отработав, завершаются сами, ожидая следующего вызова. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--= Не уверен, что экспортировать надо всю ветку HKEY_CURRENT_USER\Software\1C а не всего лишь HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Titles |
|||
18
Злопчинский
21.05.23
✎
23:35
|
часто бывает что робот имеет смысл крутить пока кто-то есть в базе из интерактивных пользователей.
поэтому при входе пользователя проверяем есть ли кто в базе? если есть и он один и это робот (то есть зашел в базу робот) - то сразу автозавершение (я=робот, не имеет смысла одному вхолостую вертеть базу), если кто-то в базе есть - проверяем есть ли в базе робот - если нет ()я=пользовательнеротот) -запускаем из-под себя робота (из планировщика). |
|||
19
Builder
22.05.23
✎
09:24
|
У меня сделано совсем по другому.
На серваке постоянно запущена 1С под определенным пользователем и через "обработку ожидания" запускает нужные задачи из своего шедулера. Закрываю при обновлении и запускаю заново. |
|||
20
DGorgoN
22.05.23
✎
10:51
|
Не ветка а ужас..
(19) Ну есть же регламентные задания! Они для чего нужны то? Я понимаю когда файловая, но когда сервер есть.. (0) По идее прав нет у пользователя под которым запускается сервер 1С. У него нет прав к локальным ресурсам и запусков программ. |
|||
21
Builder
22.05.23
✎
11:03
|
(20) Тут староверы клюшки обсуждают, туда регламентных не завезли :)
|
|||
22
OnePrg
22.05.23
✎
11:26
|
(17) Спасибо. Попробую - отпишусь.
|
|||
23
Builder
22.05.23
✎
11:36
|
(22) Что мешает завести отдельного пользователя и под ним запускать?
Нахрена эти танцы с запуском от System ???? |
|||
24
OnePrg
22.05.23
✎
12:52
|
(23) если сервер перезагружается, такой обмен не идёт почему-то
|
|||
25
uno-group
22.05.23
✎
13:04
|
(24) а нафига сервер перегружается. и что значит не идет?
База какая скл. ДБФ? Может он предупреждениее выдает что программа была завершена аварийно запуститесь в монопольном режиме. |
|||
26
Djelf
22.05.23
✎
13:04
|
(24) База в dbf? Видимо застревает на вопросе о переиндексации.
Если vbs скриптом запускать, то в нем можно такое проверять. Давно такое делал, теперь уже и не припомнить. |
|||
27
uno-group
22.05.23
✎
13:27
|
Можно проверять что в базе никого и если это так, прибивать индексы перед запуском. Тогда она индексируется без вопросов к пользователю
|
|||
28
Злопчинский
22.05.23
✎
13:41
|
у меня в 02:00 выдаетсяпредупреждение, что через 60 сек будет трндец.
через минуту на сервере киляются все 1Сины и запускается пакетное задание конфигуратора для переиндексации |
|||
29
OnePrg
22.05.23
✎
22:44
|
(17) Работает! Спасибо!
|
|||
30
victuan1
23.05.23
✎
05:35
|
Еще бывает в полночь стопорит запросы смены рабочей даты в 1С. Поэтому для всяких юзеров-"роботов" я в Сервис-Параметры - всегда выставляю "Изменять в полночь автоматич.".
Ну и прочее отключаю, что выше уже написали. |
|||
31
DJ Anthon
23.05.23
✎
06:18
|
(30) мало того, еще каждый месяц надо открывать период первого числа
|
|||
32
rikkar
23.05.23
✎
09:19
|
(29) Один вопрос: экспортировал всю ветку HKEY_CURRENT_USER\Software\1C
или только HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Titles ? |
|||
33
Злопчинский
23.05.23
✎
11:37
|
(31) а у некоторых период итогов может быть и в 5 дней установлен... но за свою практику - таких не встречал, штатно - месяц.
|
|||
34
Duke1C
27.06.23
✎
20:26
|
(33) Как не встречал? У тебя ж проект какой-то был по автоматизации склада на основе твоих разработок, и по совету Ёпрста, ты использовал там такой период
|
|||
35
Злопчинский
27.06.23
✎
21:56
|
(34) так то личный проект с узкой спецификой, а не типовая конфига
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |