Имя: Пароль:
1C
 
Шедуль и запуск 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с, многие программы без залогиненного пользователя не ркботают. У знакомого админа билинг ни в какую не запускается.. А уж этой программе сам бог велел на сервере жить. Пробуй автологон. Или крон - у меня получалось с ним заставить работать.