Запуск 1С 7.7 по расписанию без авторизации пользователя

Автор АЛьФ, 21 марта 2024, 11:07

« назад - далее »

АЛьФ

Цитата: Злоп от 29 марта 2024, 12:43Полные права виндявого пользователя на папку с базой должны быть.
Папка сетевая и шара подключается с помощью
EXEC xp_cmdshell 'net use R: \\192.168.0.43\e$\Development\Programmer\AFedorov\_bases_\v7\_copy_ /user:*** /Persistent:no'
Из задания в папку пишет. Как проверить достаточно ли прав?

АЛьФ

Попробовал переделать на обращение через OLE.
Initialize возвращает 0 и в журнале регистрации теперь только подключение, без отключения.

АЛьФ

На самом деле с каталогом непонятно, конечно.
Подключается с данными одного пользователя, но запуск 1С идет от системы (от пользователя, под которым SQL запущен). 1С папку видит и к базе логинется, в журнал регистрации пишет. Но тут же отваливается, записав это в тот же ЖР. Т.е. доступа достаточно на чтение и на запись.
Вот почему бы 1С в этом случает не писать в тот же ЖР причину отвала? Загадка...

АЛьФ

Ха! А вот еще тайна природы.
Если код запроса запустить не в задании, а просто в запросе, то запускается и начинает работу. Но валится в исключение на выполнении метода глСервис.ПолучитьСписокАктивныхПользователей().

АЛьФ

А вот фиг! Тайна еще тайней получается. Сработал, как в предыдущем сообщении только один раз. А теперь при любом запуске подключение и тут же отвал.

АЛьФ

Выявилась странная закономерность. Подключаюсь к серверу, на котором стоит SQL, своим логином. Там запускаю "от имени администратора" 1С под регламентным пользователем. Все запускается, как ожидается.
Тут же со своего компа в открытой "менежмент студио" запускаю запрос с регламентыми заданиями, получаю исключение в методе ПолучитьСписокАктивныхПользователей (т.е. идет уже запуск 1С на уровне выполнения глобального модуля и дошло до ПриНачалеРаботыСистемы()). Запускаю этот же запрос второй раз, получаю вход-выход без инициализации глобального модуля.

А может и нет связи между запусками...
Ваще не понимаю что там происходит...

АЛьФ

Тупик... Так ничего и не удалось сегодня сделать. То вход-выход, то вход - вылет по исключению. Без какой-либо системы.
Пытался делать запуск от имени моего логина. Безрезультатно.
Похоже придется писать подмену dll, чтобы отловить где же затык.

АЛьФ

В итоге решение: использовать регламентное задание v8 для запуска батника, в котором прописан запуск семерки.
Все работает.

zhenyat

Здравствуйте
У меня настроено так:
1. Создан cmd - шник, в котором выполняются различные регламентные действия (создание баккапов конфигруатором и  запуск 1с для восстановления индексных файлов:

set CURDATE=%DATE%
set LOG=C:\cmds\Log\backup-%CURDATE:~6,4%-%CURDATE:~3,2%-%CURDATE:~0,2%.txt
set BACKUP_PATH=\\-------\backup\1c77

echo %TIME% ***Begin > %LOG%

del /q D:\-------\ExtForms\DB_SQLite\*
echo %TIME% БД SQLite очищена >> %LOG%

"%ProgramFiles(x86)%\1cv77\bin\1cv7s.exe" config /dD:\------- /tE:\Temp /nBackup /@C:\cmds\Backup

echo %TIME% Резервная копия создана >> %LOG%

if exist %BACKUP_PATH% (
	move E:\Backup\base.zip %BACKUP_PATH%\Work-%CURDATE:~6,4%-%CURDATE:~3,2%-%CURDATE:~0,2%.zip >> %LOG%
) else (
	rename E:\Backup\base.zip Work-%CURDATE:~6,4%-%CURDATE:~3,2%-%CURDATE:~0,2%.zip
)

del /f/q D:\------\*.cdx
"%ProgramFiles(x86)%\1cv77\bin\1cv7s.exe" enterprise /m /dD:\----- /tE:\Temp /nBackup

echo %TIME% Индексы восстановлены >> %LOG%

А раньше и был запуск от имени специального пользователя регламентов - для него в "ПриНачалеРаботыСистемы()" был запуск разных обработок.

2. в планировщике этот батничек запускается от имени специального юзера, с настройками "Выполнять для всех пользователей" и "Выполнять с наивысшими правами"
Естественно, для этого пользователя необходимые базы уже прописаны в реестре

Эта связка работает уже лет 10

MadDAD

Цитата: АЛьФ от 29 марта 2024, 13:48Ха! А вот еще тайна природы.
Если код запроса запустить не в задании, а просто в запросе, то запускается и начинает работу. Но валится в исключение на выполнении метода глСервис.ПолучитьСписокАктивныхПользователей().

Так а что за исключение? Может проблема в правах доступа к папкам пользователей?
Вообще на сколько я помню с семерошных времен - для корректной работы семерки сессия под которой запускается платформа должна быть открыта интерактивно хотя бы один раз после перезапуска сервера, иначе получаются такие спецеффекты. Там какой-то затык с контекстом.