![]() |
![]() |
|
Шедуль и запуск 1с ... не срастается. Просьба помочь Ø |
☑ | ||
---|---|---|---|---|
0
Vnedr1c
02.08.06
✎
20:32
|
Вобщем ситуация: винд. 2003 сервер, шедулем запускается скрипт, который в свою очередь должен запускать 1с. Не хочет.. :(( Вываливается с ошибкой в mfc42.dll. Если залогиниться и вручную запустить - все работает. Как побороть?
|
|||
1
Michael
02.08.06
✎
20:45
|
Права... ИМХО...
|
|||
2
Vnedr1c
02.08.06
✎
20:51
|
(1) точно не права... В шедулере прописан пользователь с админскими правами. Под этим же пользователем если залогиниться и вручную запустить скрипт - все ок.
|
|||
3
Vnedr1c
02.08.06
✎
22:44
|
апну. Оле может помочь? есть кто-нибудь встречавшийся с такой бедой?
|
|||
4
VV
02.08.06
✎
22:55
|
Бывают такие операции в 1с, для которых обязательно логиниться.
Из одного мануала для 1с <<ВНИМАНИЕ! При вызове из планировщика задач (windows NT/2000/XP) под пользователем, отличным от текущего (в т.ч. при незалогиненой машине) с большой долей вероятности программа остановится после запуска конфигуратора. Связано это с тем, что запущенным таким образом процессам не предоставляется десктоп, и соответственно они не имеют интерактивных окон (а утилита по сути имитирует интерактивные действия). Возможность запуска из планировщика в интерактивном режиме доступна через консольную команду "at" (с ключом /INTERACTIVE). Однако и в этом случае остается проблема запуска на незалогиненой машине.>> |
|||
5
Vnedr1c
02.08.06
✎
23:04
|
(4) логиниться крайне нежелательно.. Да и админы против(в чем-то я их понимаю). Странно то, что пакетный запуск пофигуратора отрабатывает по шедулеру без проблем(без логирования). на том же сервере. В режиме предпр. - стабильный вылет. Переписал только что скрипт так, чтоб запускал не через run, а по оле. Локально все ок.. как и раньше вобщемто. Но прокатит ли на 2003 ??? проверить не на чем
|
|||
6
VZ
02.08.06
✎
23:09
|
Юзаю nCron. Висит как процесс. Все запускает, как надо. И 1С.
|
|||
7
VZ
02.08.06
✎
23:15
|
+6 Вот тебе еще мысля (не проверял). Вызывай из скрипта 1С по ОЛЕ ;) В этом случае и декстоп ей не нужен. И запустить можно любой процесс в ей ;)
|
|||
8
Vnedr1c
02.08.06
✎
23:28
|
(6)http://www.nncron.ru/ - оно?
(7)так ужеж по оле - в (5). Запускается молча, отрабатывает и закрывается.. Я варианты решений собираю:) |
|||
9
smaharbA
03.08.06
✎
00:18
|
(0) Ищи mfc42.dll в %userprofile%\Windows (+system) и скопируй в папку бин
|
|||
10
smaharbA
03.08.06
✎
00:20
|
+ пробуй запускать так
...\1cv7*.exe -Embedding enterprise... ... Волшебное слово -Embedding |
|||
11
Vnedr1c
03.08.06
✎
00:25
|
(9) зачем? там ведь нет такой.. Если мысль про версию - проверялось.. свежая.
(10) ага :)) пробовал. 1СV7.EXE загружается в память и ничего не делает(указывал так WSHShell.run Path_programm & "-Embedding ENTERPRISE /D" & Path_base & "/NAutoExchange",1) |
|||
12
smaharbA
03.08.06
✎
00:27
|
(11) Должна делать...
тут у тебя пробелов не хватает, но думаю это просто соспеху написал, а так они есть ? |
|||
13
Vnedr1c
03.08.06
✎
00:28
|
(12) где не хватает??
|
|||
14
VZ
03.08.06
✎
00:56
|
После кавычки перед - ?
|
|||
15
Vnedr1c
03.08.06
✎
01:04
|
попробовал повставлять пробелы по всякому. Так же в память грузится и все..
|
|||
16
smaharbA
03.08.06
✎
01:11
|
Странно, я както так запускал и ведь работало, что я иначе делал х.з.
|
|||
17
smaharbA
03.08.06
✎
01:12
|
+(16) Счас попробовал не отработало :(
|
|||
18
Vnedr1c
03.08.06
✎
18:04
|
как оказалось проблема не решена :(((
Ошибки возникают в процессе запуска из первой базы второй по оле. Первая по расписанию запускается и без логина.. |
|||
19
Vnedr1c
03.08.06
✎
18:29
|
Нет ни у кого мыслей? ни у кого не запускается оле обмен по шедулеру??
|
|||
20
Bizon2005
03.08.06
✎
19:02
|
Может все таки скрипт покажешь?
|
|||
21
Vnedr1c
03.08.06
✎
19:07
|
(20)а скрипт зачем? он отрабатывает. Ошибка возникает при открытии внутри 1с другой базы по оле...
|
|||
22
Vnedr1c
03.08.06
✎
19:31
|
Path_base = """...здесь путь к базе..."""
set OLE=CreateObject("V77.Application") go_=OLE.Initialize(OLE.RMTrade,"/d" &Path_base& " /NAutoExchange","NO_SPLASH_SHOW") |
|||
23
Vnedr1c
03.08.06
✎
21:04
|
хде все?
|
|||
24
Vnedr1c
04.08.06
✎
22:09
|
спасибо VZ. Как оказалось стандартный шедулер не способен решить эту задачу...
|
|||
25
DeiMos
04.08.06
✎
22:29
|
DEP?
|
|||
26
Vnedr1c
04.08.06
✎
22:53
|
угу, и оно тоже. Ругалось на dep, frame.dll, mfc42.dll и др. На самом деле точно еще проблему не локализовал(и наверное не буду), но результат "на лицо": установил "крон", выставил тип запуска "интерактивный", разрешил 1с лезть в профиль - и все работает как часы.
|
|||
27
DeiMos
05.08.06
✎
00:07
|
(26): "Ругалось на dep"
- Ну так отключил бы его (DEP), и всё бы заработало... |
|||
28
Vnedr1c
05.08.06
✎
00:33
|
(27) в данный момент крон и деп друг другу не мешают. В процессе экспериментов отключал деп - оставались другие ошибки.
|
|||
29
VZ
05.08.06
✎
00:37
|
2(27) И все другое в придачу? Лучше Крон: мощнейшая штука, масса перехватов событий, управление службами...
У меня делает копии, переиндексирует, убивает процессы. |
|||
30
VV
05.08.06
✎
01:42
|
с помощью чего он это делает? Поделись, плз.
|
|||
31
VZ
05.08.06
✎
02:37
|
Читай документацию. Я полностью отнюдь не освоил: это целый конструктор обработки событий. Время нужно, которого нет. Щаз вот срочно понадобилось в прокси влезать, а практических навыков ноль, только общее понимание. На дилетанском уровне :(
Плагинов к нему куча для системных штучек. |
|||
32
VV
05.08.06
✎
09:41
|
31) я имел ввиду скрипты/батники, которые ты запускаешь с его помощью. Особенно для переиндексации.
|
|||
33
VV
05.08.06
✎
21:15
|
up
|
|||
34
Vnedr1c
08.08.06
✎
21:56
|
вверх..
На сцену вышло ещё одно обстоятельство(((((((( Религия админов не позволяет использовать на сервере "программы сторонних производителей". Крон подпадает под это религиозное табу... Буду рад Вашим мыслям.. |
|||
35
DeiMos
08.08.06
✎
22:10
|
Да какие тут мысли...
Так, мыслишки... Ну, у меня, например, под логином/ паролем специального юзера шедулером по ночам запускается 1С специальная конфа/база. В ентой базе есть справочник заданий на ночь... Там указано какую базу под каким юзером и с каким паролем запустить и что сделать (параметры командной строки)... Ну, вот, из справочника все базы по-очереди и запускаются... |
|||
36
VZ
08.08.06
✎
22:12
|
(34) Платные утилы религии не противны? Так Крон бесплатен для некоммерческого использования ;)
(32) Переиндексацию делаю самой 1С (пакетный режим). И уж до кучи: пересчет остатков. Он ведь сами проводки не трогает. А архивы решил делать nBackup - из того же источника, что и Крон, весч ему родная, консольная. С консольным раром, по сути, никакой разницы. Кроме формата, ессно. Но для меня это непринципиально. |
|||
37
Vnedr1c
08.08.06
✎
22:31
|
(35) А сервер на ночь залочен под каким-нибудь логином? или нет?.. это имеет принципиальное значение. Вообще задача схожая: в течение дня в первой базе во время текущей работы усеров регистрируются изменения. С определенной периодичностью должна запускаться вторая база под служебным одноэсовским пользователем(обычные усеры в ней тоже сидят), кот. по оле собирает эти изменения и выполняет синхронизацию..
Сейчас роль шедулера выполняет ответственный пользователь :)) что не правильно. (36) вот уж не знаю.. Нет у меня достоверной информации о всех их табу, узнаю по мере поступления. Но в последнее время начинаю опасаться, что и 1ц тоже программа "сторонних производителей", и что на супер-мега сервере ей не место.. Зато цитрикс родная программа.. |
|||
38
Vnedr1c
08.08.06
✎
22:33
|
+(37) и радмин, млин, тоже родная!! сдается мне что это палки в колеса((
|
|||
39
DeiMos
08.08.06
✎
22:44
|
(37): Да, под логином.
Он не выключается годами... |
|||
40
Vnedr1c
08.08.06
✎
23:01
|
(39)о том и речь. В таком виде все работает.
---------------------- Ниже приведу записи ошибок, так, на всякий случай: -- Тип события: Ошибка Источник события: Application Error Категория события: Отсутствует Код события: 1000 Дата: 08.08.2006 Время: 17:28:27 Пользователь: Н/Д Компьютер: BOOK Описание: Ошибка приложения 1cv7s.exe, версия 7.70.0.25, модуль frame.dll, версия 7.70.0.14, адрес 0x00009ad8. Данные: 0000: 41 70 70 6c 69 63 61 74 Applicat 0008: 69 6f 6e 20 46 61 69 6c ion Fail 0010: 75 72 65 20 20 31 63 76 ure 1cv 0018: 37 73 2e 65 78 65 20 37 7s.exe 7 0020: 2e 37 30 2e 30 2e 32 35 .70.0.25 0028: 20 69 6e 20 66 72 61 6d in fram 0030: 65 2e 64 6c 6c 20 37 2e e.dll 7. 0038: 37 30 2e 30 2e 31 34 20 70.0.14 0040: 61 74 20 6f 66 66 73 65 at offse 0048: 74 20 30 30 30 30 39 61 t 00009a 0050: 64 38 0d 0a d8.. ----------------------------------------------------------- Тип события: Ошибка Источник события: Application Error Категория события: (100) Код события: 1000 Дата: 08.08.2006 Время: 17:28:28 Пользователь: Н/Д Компьютер: PC7777777777 Описание: Ошибка приложения 1CV7s.exe, версия 7.70.0.25, модуль mfc42.dll, версия 6.2.4131.0, адрес 0x00003860. Данные: 0000: 41 70 70 6c 69 63 61 74 Applicat 0008: 69 6f 6e 20 46 61 69 6c ion Fail 0010: 75 72 65 20 20 31 43 56 ure 1CV 0018: 37 73 2e 65 78 65 20 37 7s.exe 7 0020: 2e 37 30 2e 30 2e 32 35 .70.0.25 0028: 20 69 6e 20 6d 66 63 34 in mfc4 0030: 32 2e 64 6c 6c 20 36 2e 2.dll 6. 0038: 32 2e 34 31 33 31 2e 30 2.4131.0 0040: 20 61 74 20 6f 66 66 73 at offs 0048: 65 74 20 30 30 30 30 33 et 00003 0050: 38 36 30 860 ------------------------------------------------------------- Тип события: Предупреждение Источник события: Userenv Категория события: Отсутствует Код события: 1517 Дата: 08.08.2006 Время: 17:28:29 Пользователь: NT AUTHORITY\SYSTEM Компьютер: PC7777777777 Описание: Реестр пользователя PC7777777777\Vnedr1c был сохранен в то время, как приложение или служба продолжали использовать его во время выхода из системы. Используемая реестром пользователя память не была освобождена. Реестр будет выгружен, когда он не будет использоваться. Возможная причина - службы, выполняемые от имени пользователя. Попробуйте изменить настройку служб и задать их выполнение с учетными записями LocalService или NetworkService. |
|||
41
VZ
08.08.06
✎
23:02
|
(38) А другого компа, чтоб можно было на сервак логинится, у тебя нет? А то можно утилитки Русиновича в ход пустить: хоть службы запускай/останавливай, не говоря уж об удаленном запуске задачи. Главное, пасс знать ;)
|
|||
42
Vnedr1c
08.08.06
✎
23:16
|
(41) так ведь я ж не инсайдер, а внешний прог. Мож в загашнике у них и есть свободные компы, но скорее всего как горячая замена на всякий случай.
+ Если при виде безобидного "Крона" наблюдается боевая стойка с повышенным выделением адреналина и слюны, то стоит ли говорить о полу-хакерских приблудах? |
|||
43
VZ
08.08.06
✎
23:34
|
(42) А тогда положи... Лови первого входящего, чтоб он: архив сделал, переиндексацию провел, и пока все это не сотворится, фиг кто входит.
И пусть с админами юзеры разговаривают. А ты ультиматум: свалится база - пусть ваши админы и восстанавливают. И с шедуллером воюют. Раз они очень вумные. Капризничать без ответственности все могут... |
|||
44
Vnedr1c
08.08.06
✎
23:57
|
(43)С этой стороны все правильно. Админы сами базу и бэкапят и переиндексируют.
Была мысль ещё задействовать at из командной строки. Но результат в общем случае тот же... Остается обработкаожидания() в отдельной служебной сессии, которую будет запускать в начале раб.дня ответственный пользователь. Опять двадцать пять, блин..криво и некрасиво |
|||
45
DeiMos
09.08.06
✎
00:03
|
(44):
ПриНачалеРаботыСистемы() Если ИмяПользователя()="ВасяПупкин" Тогда // ВыполнитьКомандуСистемы() //Запускаешь хоть чёрта лысого... |
|||
46
Vnedr1c
09.08.06
✎
00:25
|
(45)сначала не понял.. Потом вьехал. Ведь действительно мона убрать лишний сеанс. Просто при работе пользователя "ГлавныйАдминистраторВсехАдминистраторов" запускаем ОбработкуОжидания() и из нее дергаем за скрипт.. И для усера прозрачно - 1с не подвисает во время обмена. Надо только ввести регламент, штоб "ГлавныйАдминистраторВсехАдминистраторов" всегда был в программе.. Да, так покрасивше будет.
|
|||
47
VZ
09.08.06
✎
00:37
|
(46)
//VZ --> Для настроек вне ГМ Предстарт=""; Если ФС.СуществуетФайл(КаталогПользователя()+"\start.ert")=1 Тогда ОткрытьФормуМодально("Отчет",Предстарт,КаталогПользователя()+"\start.ert"); ИначеЕсли ФС.СуществуетФайл(КаталогИБ()+"\ExtForms\start.ert")=1 Тогда ОткрытьФормуМодально("Отчет",Предстарт,КаталогИБ()+"\ExtForms\start.ert"); КонецЕсли; Если ТипЗначения(Предстарт)=2 Тогда //вернулась строка Если Предстарт="Выход" Тогда СтатусВозврата(0); Возврат; КонецЕсли; КонецЕсли; //VZ <-- Настройки вне ГМ выполнены А в ерт-ке хоть формат ц запускай. И для каждого можно свою. Для робота тоже. И их можно просто подменять ;) |
|||
49
DeiMos
18.08.06
✎
11:10
|
(48): Млин, ну почему тупые 1С-ники должны сисадминов постоянно азам учить?
Достало... Батник, запускающий скрипт, положите в каталог BIN, там где у вас 1С установлена. В этот же каталог BIN положите все библиотеки, на которые ругается 1С... Также все эти библиотеки - положите во все базы которые у вас там должны стартовать в скрипте... Также во вкладке Task шедулера - В поле "Ран" - пропишите ваш батник, не забудьте в поле "Старт ин" прописать путь типа "C:\Program Files\1Cv77\BIN" Не забудьте указать юзера с правами локального админа сервера и "СетПассворд". На вкладке "Секьюрити" проверьте, чтобы был этот юзер и все права флажками ему были дадены. Удачи. |
|||
50
VZ
18.08.06
✎
11:25
|
(48) "nncron. за надежность/ безопасность данного решения ответственноть брать отказался" - это вы серьезно? Или решили по ушам поездить, как своему начальству? Это какой же производитель ПО берет на себя ответственность за "надежность и безопасность"? А? Может, назовете производителя ПО, которая не пишет в своем ЛС волшебные слова "мы прилагаем все усилия, но не можем гарантировать..."?
|
|||
51
DeiMos
18.08.06
✎
11:29
|
(50): Максим отказался. А не ннкрон...
|
|||
54
DeiMos
18.08.06
✎
11:34
|
(52, 53):
(49) выполнили? |
|||
56
VZ
18.08.06
✎
11:45
|
(53) Значит, не понял. Прошу прощения. На самом деле nnCron сделан достаточно грамотно, лично мне никаких сюрпризов и трудностей не приносил. Юзал на 2000serv, ХРюне СП2 - полет нормальный. Может по желанию запускаться как служба (без авторизации пользователя), может при авторизации - по желанию. А возможности несравнимы со штатным шедуллером. Включая удобство. И гибкость потрясная: задания можно размещать в нескольких файлах, кои можно задействовать (не обязательно порознь) опять же по сценарию ;)
|
|||
58
VZ
18.08.06
✎
11:52
|
(57) Вот что не понял: ошибка выполнения возникает только при неавторизованном на консоле пользователе? При авторизованном все катит, или как?
|
|||
60
DeiMos
18.08.06
✎
11:56
|
Кстати, у меня шедулер запускается под моим именем, а сервер работает под логином админа...
Может, Гостя включить? Что-то точно с правами... Ивент логи что в этот момент пишут? Что там блокирует политика безопасности? |
|||
62
VZ
18.08.06
✎
12:01
|
(59) Если ваш скрипт должен выполнятся, например, в нерабочее время, то на это время можно залогинить специального пользователя. А после выполнения пусть выходит из системы. Для безопасности можно отключать сеть, можно этому "пользователю" прописать список задач, которые он может выполнять...
|
|||
64
VZ
18.08.06
✎
12:25
|
(63) Привет и тебе. Раскрой, плз, содержание чиста админского выражения "Вы предлагаете варианты решения, но не варианты решения проблемы"? Я-то тупой, сам въехать не могу ;)
Насчет (61). Что-то мне шепчет, что 1CV7s.exe в принципе не может работать без логирования. Может не прав... |
|||
65
amp25
18.08.06
✎
12:29
|
(63): тестирование и восстановление-то по ночам проходят...
|
|||
66
VZ
18.08.06
✎
12:40
|
(65) У меня это происходит следующим образом:
Как-то 2000serv пожалился, что слишком долго не перезагружался. Потому просто включил еженощную перезагрузку. При оной присходит автологин консольного пользователя. После этого шедуллер запускает 1сv7.exe, который в пакетном режиме и производит переиндексацию и восстановление. К утру этот пользователь уже не активен... Пока просто не заморачивался с логоном и логоффом по расписанию, за ненадобностью, но проблем не вижу с этим. Понадобится - сделаю. |
|||
67
amp25
18.08.06
✎
16:37
|
(60): еще варианты решения проблемы есть?
|
|||
69
Vnedr1c
18.08.06
✎
17:56
|
"товарищу была поставлена четкая задача - шедулер запускает скрипт, производящий обмен информацией между базами. написанное им решение в заданных условиях не заработало. ему были указаны ошибки. за 2,5 недели исправить он их не смог (со своей стороный мы приложили максимум усилий для решения данной проблемы). к сожалению, решение не найдено. тогда нами было предлдожено переписать обработку, раз с ОЛЕ такая трабла. максим отказался, сославшишь на 2000 строк, которые необходимо переделать. "
------------------------------------------ (48)О как.. не буду комментировать, бо решать такие вещи нужно не на форуме. На самом деле думал, что все обсудили, если не так - есть тлф., мэйл - Ок? Лишь повторюсь, что файловый обмен и оле в корне различаются... (68) "Извини, поясняю, вариант решения проблемы заставить работать как есть. Изменив способ подключения или изменив скрипт запуска (смотря где проблема), но не пытаясь обойти проблему." По-поводу скрипта: из него 1ц можно запустить в обычном(интерактивном) режиме и по оле. Пробовалось - безуспешно. Второе(способ подключения): какие есть варианты? (64) без логирования может работать, во всяком случае получалось на ХРюне заставить.Проблема описана в (18) |
|||
70
vrag
18.08.06
✎
21:29
|
Пацаны! Не въехал, а зачем СКРИПТ запускать, если прямая командная строка в шедулере пашет как часы?
|
|||
71
101
18.08.06
✎
21:32
|
(70) шедулер , по умолчанию , работает от ЛОКАЛЬНОГО админа
|
|||
72
vrag
18.08.06
✎
21:42
|
(71) Не верю!
Задание в шедулере (виндовом) идёт от назначенного юзера. |
|||
73
101
18.08.06
✎
21:47
|
(72) проверь , переназначь пути и посмотри
|
|||
74
vrag
18.08.06
✎
21:49
|
(73) Сам проверь.
|
|||
75
101
18.08.06
✎
21:51
|
(74) неоднократно , перелогивание потом и подтверждение пароля
|
|||
78
amp25
21.08.06
✎
17:12
|
76,77: та же песня
|
|||
80
amp25
25.08.06
✎
12:38
|
79: есть мысля запускать шедулером citrix сессию с опубликованной 1с, имхо, такой вариант не должен отличаться от обычного запуска
|
|||
81
green
25.08.06
✎
13:10
|
И мои 5 копеек - проблема чисто "админская" - на предыдущем месте работы (где я сам ставил 2000 сервер и сервис паки на него - короче сам админил) 1с-ка по ночам сама периндексировалаь, тестировалась и перепроводилась(через специального пользователя) - консольного логирования не было - плнировщик стандартный на ура отрабатывал. На новом месте (где сервер ставили до меня) тот же скрипт отказался работать - список процессов показывает, что процесс начал грузиться и останавливается, хотя если вручную запустить всё на ура работает - пока дальше не рыл - особой необходимости нет.
|
|||
82
BigBro
25.08.06
✎
13:18
|
шедулер построить удалось при помощи использования команды at - для выполнения от имени системной учетной записи.
осталась такая проблема - как при незалогиненой машине ,не имея в сети домена, под той же записью учетной положить полученный архив на другой компьютер, на расшаренный ресурс? че то не получается ... |
|||
83
smaharbA
25.08.06
✎
13:22
|
о каких сессиях реч ?
|
|||
84
smaharbA
25.08.06
✎
13:24
|
(82) не выйдет... но есть способ...
|
|||
85
Гена
25.08.06
✎
13:46
|
мой тоже "глупейший вопрос":
мы входим в шедьюл ночью, а почему не выходим? я прихожу - у меня опять в 1С в пользователях ОН висит и продолжает одну и ту же работу... мне приходится звонить прогам, чтоб выкинули шед... sql, W2003 |
|||
86
BigBro
25.08.06
✎
13:49
|
можешь намекнуть? я не силен в администрировании, а тут похоже чисто задача на уровне прав, паролей, политик или как их там ...
|
|||
87
BigBro
25.08.06
✎
13:52
|
Гена - а задача уже точно успела завершиться? может он продолжает выполняться еще. и в пакетном файле - указан quit=1 или quit=y ?
|
|||
88
Urry
28.08.06
✎
17:18
|
(80) попробовал с другого компа в планировщике вызывать mstsc с сохраненными настройками (сервер, авторизация, запускаемая программа), всё очень красиво, до тех пор, пока на ентом компе открыта пользовательская сессия. Без залогинивания на этом компе, планировщик опять-таки не может нормально запустить mstsc. Видимо считает, что если пользователь не залогинен - нафих ему экран терминального сервера показывать.
(83) о пользовательских - консольных или терминальных. |
|||
89
Vnedr1c
28.08.06
✎
19:22
|
(88) это болезнь не только 1с, многие программы без залогиненного пользователя не ркботают. У знакомого админа билинг ни в какую не запускается.. А уж этой программе сам бог велел на сервере жить. Пробуй автологон. Или крон - у меня получалось с ним заставить работать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |