|
v7: Автозадачи блокируют базу, если не запущен профиль. | ☑ | ||
---|---|---|---|---|
0
MAGia
13.12.11
✎
13:33
|
День добрый!
Может кто поможет с такой проблемой? Существует база 1С 7.7 SQL. Есть назначенное задание, которое в определенное время запускает 1С, делает в нем определенные процедуры и закрывает 1С. Назначенное задание запускается от имени Admin. Пользователь Admin указан в группе Administrators на данном сервере. Проблема заключается в том, что когда я захожу на сервер под Admin (т.е. когда запущен профиль Admin), автозадача отрабатывает нормально. Когда профиль не запущен - автозадача зависает, при этом блокирует базу 1С. |
|||
1
dk
13.12.11
✎
13:42
|
больше подробностей
терминал? кто-нибудь еще под этой учеткой работает / выполняются другие задания? |
|||
2
dk
13.12.11
✎
13:42
|
время старта?
сколько выполняется задание? OLE используется? |
|||
3
MAGia
13.12.11
✎
13:52
|
Под этой учеткой больше никто не работает. Я под Admin захожу непосредственно на сервер, не через терминал. Часть пользователей работает через терминал, часть - через удаленный доступ.
Другие задания есть, но они разграничены по времени, не пересекаются. Задание выполняется от силы минуты 3. Без OLE. Просто идет перебор элементов справочника. И рассылка по почте. Рассылка по почте реализовано с помощью CDO объектов: createObject("CDO.Configuration") и createObject("CDO.Message"); |
|||
4
dk
13.12.11
✎
13:56
|
1. странно как простой перебор справочника может заблокировать базу 1С
2. пиши логи после выполнения каждого блока или строчки кода 3. автозадача при незалогиненном пользователе зависает стабильно или периодически? |
|||
5
MAGia
13.12.11
✎
14:03
|
Думала проблема в коде 1С. Но уже просто оставила один перебор элементов справочника - все равно виснет и блокирует.
Но блокирует именно когда профиль не загружен. Когда я нахожусь на сервере автозадачи выполняются отлично. Зависает стабильно (при незалогиненном пользователе), причем нет зависшего окна 1С и DOS. Когда я на сервере, при запуске автозадачи отслеживается и открытие 1С и окна DOSа. Наверное все же что то с профилем, но вот что именно. |
|||
6
dk
13.12.11
✎
14:04
|
зависает до входа в 1С? в журнале регистрации есть вход 1с пользователя в базу?
-- Если нет входа, то проблема с реестром скорее всего - нет ветки со списком баз 1С |
|||
7
ЧеловекДуши
13.12.11
✎
14:09
|
Если Автоматы запускаются монопольно, то у вас проблема в ДНК и в неграмотности.
Если автоматы подключаются к другим БД под средством SQL,то тут все просто. При первом запуске 1С 7.7 система 1С требует монопольного доступа к таблицам для проверки. ...решение проблемы: перед запуском прямых запросов, к определенной БД, осуществлять ОЛЕ подключение, для того что бы другие пользователи смогли подключиться к этой БД... |
|||
8
MAGia
13.12.11
✎
14:10
|
В журнале регистрации есть (это в мониторе пользователей).
|
|||
9
dk
13.12.11
✎
14:10
|
>При первом запуске 1С 7.7 система 1С требует монопольного доступа к таблицам для проверки.
что за бред? |
|||
10
MAGia
13.12.11
✎
14:11
|
7 Автоматы запускаются не монопольно.
|
|||
11
dk
13.12.11
✎
14:12
|
(8) значит не в реестре
тогда смотри какие компоненты грузятся в ПриНачалеРаботы |
|||
12
rider
13.12.11
✎
14:14
|
Покажи код выхода из системы.
|
|||
13
MAGia
13.12.11
✎
14:15
|
Еще посмотрела на Event Viewer в случае если профиль запущен - при запуске автозадачи создается четыре записи: первая от имени SYSTEM и три следующие от имени Admin.
А когда блокируется первая - SYSTEM, две следующие - Admin и сново SYSTEM и две слудующие от имени Admin (может это поможет). |
|||
14
MAGia
13.12.11
✎
14:18
|
Внешние компоненты для автозадачи не загружаю. Уже упростила до минимума.
//-------------------------------------------- Процедура ПриНачалеРаботыСистемы() Если ИмяПользователя() = "Auto" Тогда ОткрытьФорму("Обработка", 1, КаталогИБ() + "ExtErt\АвтоотправительПисем.ert"); СтатусВозврата(0); Возврат; КонецЕсли; ЗагрузитьВнешниеКомпоненты(); ..... |
|||
15
ЧеловекДуши
13.12.11
✎
14:18
|
(9)Что за бред? (полоска это не признак ентилекта ;))
Напиши прямой запрос к SQL БД, и попробуй подключиться к БД за тот промежуток времени пока выполняется запрос. Тебя немного удивит. ;) |
|||
16
ЧеловекДуши
13.12.11
✎
14:19
|
(14)Бред, лучше осуществлять сеи манипуляции через обработку ожидания.
|
|||
17
rider
13.12.11
✎
14:21
|
Доменая безопасность??
|
|||
18
ЧеловекДуши
13.12.11
✎
14:21
|
+(9)к подключаемой базе не должно быть подключений от каких либо пользователей.
Чисто первый запуск 1С в режиме пользователя. |
|||
19
MAGia
13.12.11
✎
14:22
|
(17) сорри, не поняла ...
|
|||
20
GreyK
13.12.11
✎
14:22
|
(0) Runas с загрузкой профиля от имени админа спасёт отца Русской демократии! :)
|
|||
21
rider
13.12.11
✎
14:24
|
Сервер домена есть?
|
|||
22
MAGia
13.12.11
✎
14:25
|
есть
|
|||
23
FN
13.12.11
✎
14:25
|
(15) все нормально подключается. описанный тобой эффект можно получить если подключиться к БД из ЕнтерпрайзМенеджера или Квери. Прямой запрос из 1С (да и любая штатная транзакция) никак не мешает подключиться к базе.
|
|||
24
MAGia
13.12.11
✎
14:27
|
(20) GreyK, а как для не особо продвинутых в сис. админ. можно подробнее.
|
|||
25
rider
13.12.11
✎
14:27
|
Возможно с этим проблемы надо админа напряч.
|
|||
26
MAGia
13.12.11
✎
14:28
|
(25). Ок. Спасибо.
|
|||
27
ЧеловекДуши
13.12.11
✎
14:30
|
Очень полезная штука, и почти даром.
http://araxgroup.ru/content/view/114/65/ Обратить внимание на : Если хотите видеть заппущенный сеpвис в виде окна на десктопе, то отметьте чекбокс "Разрешить взаимодействие с рабочим столом". |
|||
28
FN
13.12.11
✎
14:31
|
(0) можно сделать батник:
-------- 1с.ехе логофф -------- завести пользователя робот, в свойства пользователя в качестве среды прописать запуск этого батника. потом сделать рдп файл с сохраненным паролем пользователя робот в планировщик засунуть mstsc robot.rdp Получим полноценный вход робота в систему. |
|||
29
ЧеловекДуши
13.12.11
✎
14:33
|
(28)Робот через рдп :)
И как оно, работает? Есть нарекание на ошибки при запуске и подключения к серверу? |
|||
30
MAGia
13.12.11
✎
14:34
|
(29) нет
|
|||
31
ЧеловекДуши
13.12.11
✎
14:35
|
(30)Что нет?
И где ФОТО? :) |
|||
32
FN
13.12.11
✎
14:38
|
(29) работает супер. даже если какой-то зависон или другая проблема, то всегда можно просто подключиться к сессии и посмотреть что там творится.
|
|||
33
MAGia
13.12.11
✎
14:38
|
нареканий нет :)
|
|||
34
dk
13.12.11
✎
14:38
|
так что с логами?
|
|||
35
ЧеловекДуши
13.12.11
✎
14:39
|
(32)Неплохо :)
Но для этого придется поднять терминал сервер. Или у вас обходится штатным сервером в 2 подключения? |
|||
36
FN
13.12.11
✎
14:39
|
(35) конкретно у меня поднят, но всегда есть 2 штатных :)
|
|||
37
ЧеловекДуши
13.12.11
✎
14:40
|
(36)Идея хорошая :)
|
|||
38
MAGia
13.12.11
✎
14:42
|
dk, это вопрос ко мне ?
|
|||
39
dk
13.12.11
✎
14:45
|
(38) правильно
|
|||
40
MAGia
13.12.11
✎
14:52
|
(39) Какие логи смотреть? я уже совсем запуталась.
При начале работы системы, если загрузка идет от автозадаче, никакие внешние компоненты не загружаются. |
|||
41
MAGia
13.12.11
✎
14:54
|
Еще есть "Event Viewer в случае если профиль запущен - при запуске автозадачи создается четыре записи: первая от имени SYSTEM и три следующие от имени Admin.
А когда блокируется: первая - SYSTEM, две следующие - Admin и сново SYSTEM и две слудующие от имени Admin (может это поможет)" Один из вариантов, как я поняла, это посмотреть в настройках сервера домена? |
|||
42
dk
13.12.11
✎
14:54
|
не, в обработке логи настроить
1. при открытии обработки 2. при начале формирования 3. после формирования 4. призакрытии |
|||
43
MAGia
13.12.11
✎
14:55
|
(42) А, поняла.
|
|||
44
rider
13.12.11
✎
15:01
|
У меня когда подняли домен многие задания перстали выполняться. Админ два дня там что-то прописывал. потом заработало. Я так понимаю что надо запускать задания от имени прописаном в домене, а не на локальном сервере.
|
|||
45
MAGia
13.12.11
✎
15:05
|
Может и тут проблема, у меня тоже это началось после манипуляций админов, но мне прежде чем идти к админу, надо все другие варианты просмотреть.
|
|||
46
MAGia
13.12.11
✎
15:16
|
(42). При выполнении автозадачи без профиля логи вообще не посоздавались. Прописала создание лога в начале проц. "ПриНачалеРаботыСистемы()". получается 1С даже не запустилась, но если в мониторе пользователя запись есть, то получается, что открыть 1С автозадача пыталась, но ... не получилось. Правильно ?
|
|||
47
dk
13.12.11
✎
15:19
|
не в мониторе смотри, а в журнале регистрации
|
|||
48
ЧеловекДуши
13.12.11
✎
15:19
|
(46)Можешь пинать админа на недостачу прав.
|
|||
49
GreyK
13.12.11
✎
15:26
|
(24) Ссылок в инете полно. Вот хотя-бы:
как написать bat-ка (проблема внутри +) Зачем это нужно пусть админ думает :) Не надо брать его работу на себя, а то привыкнет... |
|||
50
chief accountant
13.12.11
✎
16:00
|
(44) Нее, у меня работает на локальном
|
|||
51
MAGia
13.12.11
✎
16:11
|
(47) в журнале регистрации стоит подключение.
|
|||
52
rider
13.12.11
✎
16:18
|
Можно попробывать включить обработку в конфигурацию а не вызывать как внешнюю. И проверить хотябы запускается или нет .
|
|||
53
chief accountant
13.12.11
✎
16:27
|
(51) Читай (48)
|
|||
54
MAGia
13.12.11
✎
16:28
|
По логам видно, что не попадает в процедуру "ПриНачалеРаботыСистемы()"
|
|||
55
MAGia
13.12.11
✎
16:31
|
я прочитала. Тут своя политика. Типа у меня есть все права на сервере, я должна сама решить проблему.
|
|||
56
chief accountant
13.12.11
✎
16:31
|
(55) Решай, я не возражаю
|
|||
57
rider
13.12.11
✎
16:33
|
Отключи его от сети перегрузи и попробуй:)
|
|||
58
vcv
14.12.11
✎
10:41
|
У меня аналогичный эффект. Если 1С запускается на терминальном сервере из планировщика от имени некоего пользователя и от этого пользователя нет открытого терминального сеанса, 1С просто не запускается. То есть, вроде, 1cv77.exe запускается, но до ПриНачалеРаботы так и не доходит. Помогает держать открытой терминальную сессию пользователя, от которого 1С автозапускается. Подключенной сессию держать не обязательно, достаточно открыть и отключиться не закрывая терминального сеанса.
Причин такого нехорошего поведения и методов лечения не знаю. |
|||
59
MAGia
14.12.11
✎
14:05
|
Спасибо всем!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |