Помогите с 1с сервером #481339


#0 by Kloze
пытаюсь через сервер запустить новый сеанс 1с под польтзователем. написал код: #Если Сервер Тогда         вызываеться с помощью регламентгного задания. в результате выдаеться ошибка Процедура или функция с указанным именем не определена (ЗапуститьСистему)
#1 by Лефмихалыч
если на сервере, то запускай в режиме COM-Соединения
#2 by fisher
Если не секрет... А зачем из регламентного задания открывать сеанс? Ведь небось, тоже для каких-то регламентных действий? :)
#3 by Kloze
если не секрет то как это сделать а то первыйц раз делаю
#4 by fisher
Способ сильно зависит от цели, а цель ты озвучить не хочешь :) Если таки тупо запустить полноценную сессию - то через WSH. Но смысл этого священнодействия мне решительно непонятен.
#5 by Kloze
Для ззосуществления автоматического обмена с Агент+, для обмена необходимо иницилизировать библиотеку. а это можно сделать только на стороне клиента.
#6 by fisher
Боюсь тебя огорчить, но запустив сессию из регламентного задания, ты её запустишь на сервере, а не на клиенте :) Догадываешься, почему это произойдет?
#7 by Kloze
для в регламентном задании я зупускаю проверку на то включен ли пользователь под которым происходит обмен
#8 by Kloze
это ведь возможно?
#9 by fisher
Проверить можно. Запустить сессию тоже можно. Но сессия физически запустится на компе, где поднят сервер приложений 1С. С Агент+ не сталкивался, поэтому сложно советовать. У него есть своя серверная часть? Иначе зачем вообще тут регламентные задания? Если это всё на каком-то клиентском компе крутится, то регламентные задания не нужны. Если это физически крутится на сервере, то полностью всё можно сделать через регламентные задания.
#10 by Kloze
А если уйти от всего этого. и просто запустить  физически на сервере 1с в режиме предприятие. это можно сделать и как если да
#11 by Kloze
вверх
#12 by Kloze
очень нужна помощь
#13 by Midaw
смотри выше WSH. или как?
#14 by H A D G E H O G s
<<Для ззосуществления автоматического обмена с Агент+, для обмена необходимо иницилизировать библиотеку. а это можно сделать только на стороне клиента.>> <<для обмена необходимо иницилизировать библиотеку>> <<только на стороне клиента>> Откуда такая уверенность?
#15 by H A D G E H O G s
Что может сделать Клиент, чего не сможет сделать Сервер?
#16 by Kloze
способ не имеет значения главное чтоб проверялась на то что пользователь запущен или нет (сделал) и если не запущен то запускал 1с от имени этого пользователя (не сделал)
#17 by H A D G E H O G s
<<то запускал 1с от имени этого пользователя>> Зачем ты хочешь делать это, 87-ой ?
#18 by Elena_KR
а командной строкой через батник?
#19 by Kloze
как я понял для осуществления обмена с агентом необходимо инициализировать библиотеку. а метод ЗагрузитьВнешнююКомпоненту нельзя выполнить на стороне сервера
#20 by Kloze
а как определить что пользователь уже запущен? или в 1с делать проверку и запускать батник
#21 by Elena_KR
можно запустить под указанным пользователем
#22 by Kloze
я чет не очень понял.
#23 by Elena_KR
С:1cv81bin1cv8.exe enterprise /s <Имя компьютера, работающего сервером приложений> <Ссылочное имя информационной базы, известное в рамках сервера 1С:Предприятия 8.0>  /N ИмяПользователя /P Пароль
#24 by Elena_KR
запуск предприятия серверной базы под нужным пользователем
#25 by Kloze
А как определить что  этот пользователь уже не запущен? потомучто если он запущен то мне и запускать баник нет смысла?
#26 by Lionee
создай определенного пользователя под Агент+ и все
#27 by Elena_KR
сложности то какие.. ну запрет поставить на открытие нескольких сеансов данного пользователя
#28 by Kloze
это я понял так может сложиться ситуация что в результате каких то  действий 1с под этим агентом закроеться. тогда надо будет заново запустить.  как определить этот момент. Такой вопрос а есть какая нить возможность из 1с запустить батник
#29 by Elena_KR
по идее обмен д.б ночью - поэтому для упрощения запускается планировщиком ОС батник и все...
#30 by Kloze
почему ночью?
#31 by Elena_KR
чтобы не мешать работе пользователей )))
#32 by Elena_KR
а обязательно надо под клиентом запустить?
#33 by Kloze
вроде как да. для  обмена с агентом + необходима библиотека а её использовать можно только под клиентом
#34 by fisher
Если ничего не путаю, то ЗагрузитьВнешнююКомпоненту выполняет регистрацию COM-объектов библиотеки. Соответственно, если зарегать её на серваке руками, то оно и не надо. Тогда всё можно сделать и в регламентном задании, без дополнительных сессий.
#35 by fisher
+ Или, если совсем кошерно, то при необходимости делать регистрацию через WSH. Но я бы не стал заморачиваться ради разовой операции...
#36 by Kloze
загрузил ручками компоненту, закоментил строку ЗагрузитьВнешнююКомпоненту("APPlus.dll"); после нее шла инициализация методов этой библиотеки. после закоменчивания компоненты перестаи загружаться эти методы  и процедура вылетает по исключению.
#37 by fisher
Перед этим на этом же компе запускалось? А так попробуй? КПКОбъект = Новый COMОбъект("AddIn.CeDataExch");
#38 by Kloze
а как можно убедиться что компонента действительно загрузилась. а то может она не зарегилась?
#39 by fisher
Но если компонента инициирует события в 1С (типа сканера-штрихкодов), то такой вариант не подойдет... Т.е. работать должно, а вот события генерить не будет.
#40 by fisher
Если только что работало, значит зарегилась.
#41 by Kloze
раскопал в инете такой вот код для запуска батника: но при его выполнении вылетает ошибка. подскажиет код хоть на правду похож?
#42 by Kloze
так я зарегил беблиотеку, закоментил строчку и  работать перестало. тоесть тут пока непонятно  такой способ не работает или я не зарегил
#43 by fisher
Похоже на правду. Это и имелось в виду под WSH :) Shell - один из его объектов. Только cmd.exe нафиг не нужен. Это отладочный вариант, наверное, остался. Так ты попробовал КПКОбъект = Новый COMОбъект("AddIn.CeDataExch")?
#44 by Kloze
пробывал ситуация аналогичная. так даже если убрать cmd все равно пишет что исключительная ситуация
#45 by Kloze
пишет "недопустимая строка с указанием класса"
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С