Имя: Пароль:
IT
Админ
Магический батник
0 LehhaK
 
16.04.13
07:01
Творится непонятное. Написал батник, который запускает 1сину под определенным юзером. В процедуру ПриНачалеРаботыСистемы() добавил если ПараметрыСеанса.ТекущийПользователь.Наименование = "блаблабла" Тогда МояОбработина() ЗАпускаю батник руками, 1сина запускается, отрабатывает мою процедуру, завершает сеанс. Все ок. Добавляю батник в расписание сервера, и начинает твориться странное: батник отрабатывается (1с стартует под юзером), но в самой 1сине ничего не происходит и сеанс не завершается, сеанс висит до тех пор, пока его не убьет другой батник, который грохает все активные сеансы. Подскажите, куда копать?
Текст батника: "C:\Program Files (x86)\1cv82\8.2.17.143\bin\1cv8.exe" ENTERPRISE /S"ололо\ололо" /N"ололо" /P"ололо"
1 Bigbro
 
16.04.13
07:04
есть подозрение что запускается от имени разных пользователей
2 LehhaK
 
16.04.13
07:05
(1) Тоже так думал, вчера поставил, чтоб подо мной запускалось. До этого запускалось под админом сервера, если он руками жмакал по батнику, все отрабатывалось, если в расписании, то нет
3 Wobland
 
16.04.13
07:06
имена сервера, базы, логин и пароль прекрасны! ;)
а можно ж приказать батником запустить внешнюю обработку, тогда никаких если параметры сеанса...
4 LehhaK
 
16.04.13
07:06
Параметр сеанса текущий пользователь все равно ведь зависит только от того, что в  /N"ололо" написано
5 LehhaK
 
16.04.13
07:07
(3) Пример батника, запускающего внешнюю обработку можешь скинуть? Попробую.
6 Wobland
 
16.04.13
07:09
(5) а нету
/Execute <имя файла внешней обработки> — предназначен для запуска внешней обработки в режиме 1С:Предприятие непосредственно после старта системы. При использовании тонкого клиента не поддерживается открытие внешней обработки без использования существующей информационной базы.
7 Wobland
 
16.04.13
07:11
что-то я крайнее предложение не понял
8 LehhaK
 
16.04.13
07:14
Вот и я не понял, но у меня толстый клиент, так что побоку. Щас я в конец батника допишу /Execute и гляну чего там как :)
9 roman52
 
16.04.13
07:19
Планировщик заданий \ Свойства задачи \ Общие \ Параметры безопасности \ поставить "Выполнять вне зависимости от регистрации пользователя" (чтобы батник работал в т.ч. и тогда когда пользователь не в системе), через кнопку "Изменить..." указать нужного пользователя и его пароль
10 LehhaK
 
16.04.13
07:22
(9) Эта галка стоит
11 LehhaK
 
16.04.13
07:25
(9) "Введите имена выбираемых объектов" - сюда юзера писать? щас там пусто
12 LehhaK
 
16.04.13
07:26
+(11) Зато есть "Для выполнения задачи использовать следующую учетную запись пользователя. И там я указан.
13 roman52
 
16.04.13
07:41
(12) и все равно не работает?
там же флажок "Выполнить с наивысшими правами" установлен?
флажок "Не сохранять пароль. ..." должен быть снят
14 LehhaK
 
16.04.13
07:46
(13) Да, выполнять с наивысшими правами стоит, не сохранять пароль не стоит
15 Туц
 
16.04.13
07:56
Когда задание стартует выполнен ли вход под пользователем, под которым настроен запуск?
16 LehhaK
 
16.04.13
08:00
(15) В смысле вход в 1с? да, отлично заходит под юзером, в консоли в сеансах висит, юзер мой "ололо" там указан. Толстый клиент, все хорошо. Начало сеанса - время запуска батника.
17 vde69
 
16.04.13
08:05
если ПараметрыСеанса.ТекущийПользователь.Наименование = "блаблабла" Тогда
ЗаписатьЛог();
МояОбработина();
18 LehhaK
 
16.04.13
08:09
(17) у меня нет процедуры ЗаписатьЛог()
19 roman52
 
16.04.13
08:15
(18) В процедуру ПриНачалеРаботыСистемы() добавь вывод в файл ПараметрыСеанса.ТекущийПользователь.Наименование
20 LehhaK
 
16.04.13
08:16
(6) Че то я понять не могу. Ну запустил я обработину из батника. А как мне в ней процедуру то вызвать оттуда же?
21 vde69
 
16.04.13
08:16
(18) сделай, в лог запиши имя пользователя и прочие данные которые помогут тебе понять причину т.д.

эх молодежь.... не умеет без отладчиков программы отлаживать!
22 LehhaK
 
16.04.13
08:16
(19) ок, щас
23 LehhaK
 
16.04.13
08:47
странно,в батнике прописал вместо рабочей базы тестовую и дописал вот такой код    ЛогФайл = Новый ТекстовыйДокумент;
ЛогФайл.ДобавитьСтроку(ПараметрыСеанса.ТекущийПользователь.Наименование);
ИмяЛогФайла = ("D:\ОбменДанными.txt");
ЛогФайл.Записать(ИмяЛогФайла);    
   Если ПараметрыСеанса.ТекущийПользователь.Наименование = "ололо" Тогда

   МояОбработина();

В текстовый документ попал мой Ололо и батник отработал на "Ура". Рабочую базу щас обновлять не вариант, вечером воткну этот же код в рабочую, и почитаю, что скажет 1сина в рабочей базе. Сюда отпишу. Пока всем большое спасибо :)
24 vde69
 
16.04.13
09:13
вообще есть предположение что у тебя сеанс не завершается по тому что 1с пытается спросить пользователя "действительно закрыть программу?"
25 LehhaK
 
16.04.13
09:14
(24) НУ щас то закрыл, вроде. Вообще, пропишу, чтоб закрывал безусловно
26 пипец
 
16.04.13
09:32
xstarter и запуск от админа
27 Bigbro
 
16.04.13
09:36
(24) точно, такие грабли на 7ке были. 1сина ждала нажатия кнопки в неотображаемом окне.
28 cube033
 
16.04.13
09:43
(3)
"C:\Program Files (x86)\1cv8\8.3.2.172\bin\1cv8.exe" ENTERPRISE /F"C:\Users\хххх\Desktop\Base\Trade" /N"ATPExchange" /P"ATPExchange"  /Execute "C:\Users\cube0_000\Desktop\Base\Trade\Close1c.epf" /DisableStartupMessages
29 LehhaK
 
17.04.13
06:11
Проблема была решена добавлением в батник /DisableStartupMessages. 1сина ждала, пока я ей отвечу на вопрос "Конфигурация не соответствует сохраненной конфигурации. Продолжить?" и, соответственно, ничего не делала. А юзер висел как авторизованный, так как вопрос вылазит после авторизации в 1с. Всем спасибо :)